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

; 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 [54 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___33 = external hidden global %struct.cilist, align 8
@MAIN__.io___34 = external hidden global %struct.cilist, align 8
@MAIN__.io___36 = 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___39 = 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___42 = external hidden global %struct.cilist, align 8
@MAIN__.io___43 = external hidden global %struct.cilist, align 8
@MAIN__.io___44 = external hidden global %struct.cilist, align 8
@MAIN__.io___46 = external hidden global %struct.cilist, align 8
@MAIN__.io___49 = external hidden global %struct.cilist, align 8
@MAIN__.io___51 = external hidden global %struct.cilist, align 8
@MAIN__.io___64 = external hidden global %struct.cilist, align 8
@MAIN__.io___65 = external hidden global %struct.cilist, align 8
@MAIN__.io___66 = external hidden global %struct.cilist, align 8
@MAIN__.io___67 = external hidden global %struct.cilist, align 8
@MAIN__.io___69 = external hidden global %struct.cilist, align 8
@MAIN__.io___70 = external hidden global %struct.cilist, align 8
@MAIN__.io___71 = 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___80 = 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
@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 = external hidden unnamed_addr constant [2 x i8], align 1
@c__65 = external hidden global i64, align 8
@.str.1 = external hidden unnamed_addr constant [6 x i8], align 1
@c__7 = external hidden global i64, align 8
@c__6 = external hidden global i64, align 8
@.str.2 = external hidden unnamed_addr constant [5 x i8], align 1
@c__2 = external hidden global i64, align 8
@.str.3 = external hidden unnamed_addr constant [1 x i8], align 1
@c_b87 = 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
@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 [130 x %struct.complex], align 16
  %15 = alloca [4225 x %struct.complex], align 16
  %16 = alloca [8450 x %struct.complex], align 16
  %17 = alloca [4225 x %struct.complex], align 16
  %18 = alloca [4225 x %struct.complex], align 16
  %19 = alloca [4225 x %struct.complex], align 16
  %20 = alloca [4225 x %struct.complex], align 16
  %21 = alloca [4225 x %struct.complex], align 16
  %22 = alloca [65 x %struct.complex], align 16
  %23 = alloca [7 x %struct.complex], align 16
  %24 = alloca [7 x %struct.complex], align 16
  %25 = alloca float, align 4
  %26 = alloca float, align 4
  %27 = alloca i64, align 8
  %28 = alloca [9 x i64], align 16
  %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 i64, align 8
  %36 = alloca i64, align 8
  %37 = alloca [32 x i8], align 16
  %38 = alloca i64, align 8
  %39 = alloca [9 x i64], align 16
  %40 = alloca i64, align 8
  %41 = alloca [6 x i8], align 1
  %42 = alloca [1 x i8], align 1
  %43 = alloca [1 x i8], align 1
  %44 = alloca float, align 4
  %45 = alloca i64, align 8
  %46 = alloca i64, align 8
  %47 = 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 1040, ptr %14) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %15) #3
  call void @llvm.lifetime.start.p0(i64 67600, ptr %16) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %17) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %18) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %19) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %20) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %21) #3
  call void @llvm.lifetime.start.p0(i64 520, ptr %22) #3
  call void @llvm.lifetime.start.p0(i64 56, ptr %23) #3
  call void @llvm.lifetime.start.p0(i64 56, ptr %24) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #3
  call void @llvm.lifetime.start.p0(i64 72, ptr %28) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #3
  call void @llvm.lifetime.start.p0(i64 8, 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 32, ptr %37) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #3
  call void @llvm.lifetime.start.p0(i64 72, ptr %39) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #3
  call void @llvm.lifetime.start.p0(i64 6, ptr %41) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #3
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #3
  %48 = call i64 @s_rsle(ptr noundef @MAIN__.io___2)
  %49 = getelementptr inbounds [32 x i8], ptr %47, i64 0, i64 0
  %50 = call i64 @do_lio(ptr noundef @c__9, ptr noundef @c__1, ptr noundef %49, i64 noundef 32)
  %51 = call i64 @e_rsle()
  %52 = call i64 @s_rsle(ptr noundef @MAIN__.io___4)
  %53 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %33, i64 noundef 8)
  %54 = call i64 @e_rsle()
  %55 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 0
  store i64 0, ptr %55, align 8, !tbaa !5
  %56 = load i64, ptr %33, align 8, !tbaa !11
  %57 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 1
  store i64 %56, ptr %57, align 8, !tbaa !12
  %58 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 3
  store i64 32, ptr %58, align 8, !tbaa !13
  %59 = getelementptr inbounds [32 x i8], ptr %47, i64 0, i64 0
  %60 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 2
  store ptr %59, ptr %60, align 8, !tbaa !14
  %61 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 7
  store i64 0, ptr %61, align 8, !tbaa !15
  %62 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 4
  store ptr null, ptr %62, align 8, !tbaa !16
  %63 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 5
  store ptr null, ptr %63, align 8, !tbaa !17
  %64 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 6
  store ptr null, ptr %64, align 8, !tbaa !18
  %65 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 8
  store ptr null, ptr %65, align 8, !tbaa !19
  %66 = call i64 @f_open(ptr noundef %7)
  %67 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %67, ptr getelementptr inbounds (%struct.anon, ptr @infoc_, i32 0, i32 1), align 8, !tbaa !20
  %68 = call i64 @s_rsle(ptr noundef @MAIN__.io___6)
  %69 = getelementptr inbounds [32 x i8], ptr %37, i64 0, i64 0
  %70 = call i64 @do_lio(ptr noundef @c__9, ptr noundef @c__1, ptr noundef %69, i64 noundef 32)
  %71 = call i64 @e_rsle()
  %72 = call i64 @s_rsle(ptr noundef @MAIN__.io___8)
  %73 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %31, i64 noundef 8)
  %74 = call i64 @e_rsle()
  %75 = load i64, ptr %31, align 8, !tbaa !11
  %76 = icmp sge i64 %75, 0
  %77 = zext i1 %76 to i32
  %78 = sext i32 %77 to i64
  store i64 %78, ptr %35, align 8, !tbaa !11
  %79 = load i64, ptr %35, align 8, !tbaa !11
  %80 = icmp ne i64 %79, 0
  br i1 %80, label %81, label %94

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

94:                                               ; preds = %81, %0
  %95 = call i64 @s_rsle(ptr noundef @MAIN__.io___11)
  %96 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %32, i64 noundef 8)
  %97 = call i64 @e_rsle()
  %98 = load i64, ptr %32, align 8, !tbaa !11
  %99 = icmp ne i64 %98, 0
  br i1 %99, label %100, label %103

100:                                              ; preds = %94
  %101 = load i64, ptr %35, align 8, !tbaa !11
  %102 = icmp ne i64 %101, 0
  br label %103

103:                                              ; preds = %100, %94
  %104 = phi i1 [ false, %94 ], [ %102, %100 ]
  %105 = zext i1 %104 to i32
  %106 = sext i32 %105 to i64
  store i64 %106, ptr %32, align 8, !tbaa !11
  %107 = call i64 @s_rsle(ptr noundef @MAIN__.io___13)
  %108 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %40, i64 noundef 8)
  %109 = call i64 @e_rsle()
  %110 = call i64 @s_rsle(ptr noundef @MAIN__.io___15)
  %111 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %46, i64 noundef 8)
  %112 = call i64 @e_rsle()
  %113 = call i64 @s_rsle(ptr noundef @MAIN__.io___17)
  %114 = call i64 @do_lio(ptr noundef @c__4, ptr noundef @c__1, ptr noundef %44, i64 noundef 4)
  %115 = call i64 @e_rsle()
  %116 = call i64 @s_rsle(ptr noundef @MAIN__.io___19)
  %117 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %36, i64 noundef 8)
  %118 = call i64 @e_rsle()
  %119 = load i64, ptr %36, align 8, !tbaa !11
  %120 = icmp slt i64 %119, 1
  br i1 %120, label %124, label %121

121:                                              ; preds = %103
  %122 = load i64, ptr %36, align 8, !tbaa !11
  %123 = icmp sgt i64 %122, 9
  br i1 %123, label %124, label %130

124:                                              ; preds = %121, %103
  %125 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %125, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___21, i32 0, i32 1), align 8, !tbaa !21
  %126 = call i64 @s_wsfe(ptr noundef @MAIN__.io___21)
  %127 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str, i64 noundef 1)
  %128 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__9, i64 noundef 8)
  %129 = call i64 @e_wsfe()
  br label %869

130:                                              ; preds = %121
  %131 = call i64 @s_rsle(ptr noundef @MAIN__.io___22)
  %132 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %132, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %133

133:                                              ; preds = %142, %130
  %134 = load i64, ptr %11, align 8, !tbaa !11
  %135 = load i64, ptr %1, align 8, !tbaa !11
  %136 = icmp sle i64 %134, %135
  br i1 %136, label %137, label %145

137:                                              ; preds = %133
  %138 = load i64, ptr %11, align 8, !tbaa !11
  %139 = sub nsw i64 %138, 1
  %140 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 %139
  %141 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %140, i64 noundef 8)
  br label %142

142:                                              ; preds = %137
  %143 = load i64, ptr %11, align 8, !tbaa !11
  %144 = add nsw i64 %143, 1
  store i64 %144, ptr %11, align 8, !tbaa !11
  br label %133, !llvm.loop !23

145:                                              ; preds = %133
  %146 = call i64 @e_rsle()
  %147 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %147, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %148

148:                                              ; preds = %170, %145
  %149 = load i64, ptr %11, align 8, !tbaa !11
  %150 = load i64, ptr %1, align 8, !tbaa !11
  %151 = icmp sle i64 %149, %150
  br i1 %151, label %152, label %173

152:                                              ; preds = %148
  %153 = load i64, ptr %11, align 8, !tbaa !11
  %154 = sub nsw i64 %153, 1
  %155 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 %154
  %156 = load i64, ptr %155, align 8, !tbaa !11
  %157 = icmp slt i64 %156, 0
  br i1 %157, label %164, label %158

158:                                              ; preds = %152
  %159 = load i64, ptr %11, align 8, !tbaa !11
  %160 = sub nsw i64 %159, 1
  %161 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 %160
  %162 = load i64, ptr %161, align 8, !tbaa !11
  %163 = icmp sgt i64 %162, 65
  br i1 %163, label %164, label %169

164:                                              ; preds = %158, %152
  %165 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %165, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___25, i32 0, i32 1), align 8, !tbaa !21
  %166 = call i64 @s_wsfe(ptr noundef @MAIN__.io___25)
  %167 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__65, i64 noundef 8)
  %168 = call i64 @e_wsfe()
  br label %869

169:                                              ; preds = %158
  br label %170

170:                                              ; preds = %169
  %171 = load i64, ptr %11, align 8, !tbaa !11
  %172 = add nsw i64 %171, 1
  store i64 %172, ptr %11, align 8, !tbaa !11
  br label %148, !llvm.loop !25

173:                                              ; preds = %148
  %174 = call i64 @s_rsle(ptr noundef @MAIN__.io___26)
  %175 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %27, i64 noundef 8)
  %176 = call i64 @e_rsle()
  %177 = load i64, ptr %27, align 8, !tbaa !11
  %178 = icmp slt i64 %177, 1
  br i1 %178, label %182, label %179

179:                                              ; preds = %173
  %180 = load i64, ptr %27, align 8, !tbaa !11
  %181 = icmp sgt i64 %180, 7
  br i1 %181, label %182, label %188

182:                                              ; preds = %179, %173
  %183 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %183, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___28, i32 0, i32 1), align 8, !tbaa !21
  %184 = call i64 @s_wsfe(ptr noundef @MAIN__.io___28)
  %185 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.1, i64 noundef 5)
  %186 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %187 = call i64 @e_wsfe()
  br label %869

188:                                              ; preds = %179
  %189 = call i64 @s_rsle(ptr noundef @MAIN__.io___29)
  %190 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %190, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %191

191:                                              ; preds = %200, %188
  %192 = load i64, ptr %11, align 8, !tbaa !11
  %193 = load i64, ptr %1, align 8, !tbaa !11
  %194 = icmp sle i64 %192, %193
  br i1 %194, label %195, label %203

195:                                              ; preds = %191
  %196 = load i64, ptr %11, align 8, !tbaa !11
  %197 = sub nsw i64 %196, 1
  %198 = getelementptr inbounds [7 x %struct.complex], ptr %23, i64 0, i64 %197
  %199 = call i64 @do_lio(ptr noundef @c__6, ptr noundef @c__1, ptr noundef %198, i64 noundef 8)
  br label %200

200:                                              ; preds = %195
  %201 = load i64, ptr %11, align 8, !tbaa !11
  %202 = add nsw i64 %201, 1
  store i64 %202, ptr %11, align 8, !tbaa !11
  br label %191, !llvm.loop !26

203:                                              ; preds = %191
  %204 = call i64 @e_rsle()
  %205 = call i64 @s_rsle(ptr noundef @MAIN__.io___31)
  %206 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %30, i64 noundef 8)
  %207 = call i64 @e_rsle()
  %208 = load i64, ptr %30, align 8, !tbaa !11
  %209 = icmp slt i64 %208, 1
  br i1 %209, label %213, label %210

210:                                              ; preds = %203
  %211 = load i64, ptr %30, align 8, !tbaa !11
  %212 = icmp sgt i64 %211, 7
  br i1 %212, label %213, label %219

213:                                              ; preds = %210, %203
  %214 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %214, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___33, i32 0, i32 1), align 8, !tbaa !21
  %215 = call i64 @s_wsfe(ptr noundef @MAIN__.io___33)
  %216 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.2, i64 noundef 4)
  %217 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %218 = call i64 @e_wsfe()
  br label %869

219:                                              ; preds = %210
  %220 = call i64 @s_rsle(ptr noundef @MAIN__.io___34)
  %221 = load i64, ptr %30, align 8, !tbaa !11
  store i64 %221, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %222

222:                                              ; preds = %231, %219
  %223 = load i64, ptr %11, align 8, !tbaa !11
  %224 = load i64, ptr %1, align 8, !tbaa !11
  %225 = icmp sle i64 %223, %224
  br i1 %225, label %226, label %234

226:                                              ; preds = %222
  %227 = load i64, ptr %11, align 8, !tbaa !11
  %228 = sub nsw i64 %227, 1
  %229 = getelementptr inbounds [7 x %struct.complex], ptr %24, i64 0, i64 %228
  %230 = call i64 @do_lio(ptr noundef @c__6, ptr noundef @c__1, ptr noundef %229, i64 noundef 8)
  br label %231

231:                                              ; preds = %226
  %232 = load i64, ptr %11, align 8, !tbaa !11
  %233 = add nsw i64 %232, 1
  store i64 %233, ptr %11, align 8, !tbaa !11
  br label %222, !llvm.loop !27

234:                                              ; preds = %222
  %235 = call i64 @e_rsle()
  %236 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %236, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___36, i32 0, i32 1), align 8, !tbaa !21
  %237 = call i64 @s_wsfe(ptr noundef @MAIN__.io___36)
  %238 = call i64 @e_wsfe()
  %239 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %239, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___37, i32 0, i32 1), align 8, !tbaa !21
  %240 = call i64 @s_wsfe(ptr noundef @MAIN__.io___37)
  %241 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %241, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %242

242:                                              ; preds = %251, %234
  %243 = load i64, ptr %11, align 8, !tbaa !11
  %244 = load i64, ptr %1, align 8, !tbaa !11
  %245 = icmp sle i64 %243, %244
  br i1 %245, label %246, label %254

246:                                              ; preds = %242
  %247 = load i64, ptr %11, align 8, !tbaa !11
  %248 = sub nsw i64 %247, 1
  %249 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 %248
  %250 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %249, i64 noundef 8)
  br label %251

251:                                              ; preds = %246
  %252 = load i64, ptr %11, align 8, !tbaa !11
  %253 = add nsw i64 %252, 1
  store i64 %253, ptr %11, align 8, !tbaa !11
  br label %242, !llvm.loop !28

254:                                              ; preds = %242
  %255 = call i64 @e_wsfe()
  %256 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %256, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___38, i32 0, i32 1), align 8, !tbaa !21
  %257 = call i64 @s_wsfe(ptr noundef @MAIN__.io___38)
  %258 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %258, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %259

259:                                              ; preds = %268, %254
  %260 = load i64, ptr %11, align 8, !tbaa !11
  %261 = load i64, ptr %1, align 8, !tbaa !11
  %262 = icmp sle i64 %260, %261
  br i1 %262, label %263, label %271

263:                                              ; preds = %259
  %264 = load i64, ptr %11, align 8, !tbaa !11
  %265 = sub nsw i64 %264, 1
  %266 = getelementptr inbounds [7 x %struct.complex], ptr %23, i64 0, i64 %265
  %267 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %266, i64 noundef 4)
  br label %268

268:                                              ; preds = %263
  %269 = load i64, ptr %11, align 8, !tbaa !11
  %270 = add nsw i64 %269, 1
  store i64 %270, ptr %11, align 8, !tbaa !11
  br label %259, !llvm.loop !29

271:                                              ; preds = %259
  %272 = call i64 @e_wsfe()
  %273 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %273, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___39, i32 0, i32 1), align 8, !tbaa !21
  %274 = call i64 @s_wsfe(ptr noundef @MAIN__.io___39)
  %275 = load i64, ptr %30, align 8, !tbaa !11
  store i64 %275, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %276

276:                                              ; preds = %285, %271
  %277 = load i64, ptr %11, align 8, !tbaa !11
  %278 = load i64, ptr %1, align 8, !tbaa !11
  %279 = icmp sle i64 %277, %278
  br i1 %279, label %280, label %288

280:                                              ; preds = %276
  %281 = load i64, ptr %11, align 8, !tbaa !11
  %282 = sub nsw i64 %281, 1
  %283 = getelementptr inbounds [7 x %struct.complex], ptr %24, i64 0, i64 %282
  %284 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %283, i64 noundef 4)
  br label %285

285:                                              ; preds = %280
  %286 = load i64, ptr %11, align 8, !tbaa !11
  %287 = add nsw i64 %286, 1
  store i64 %287, ptr %11, align 8, !tbaa !11
  br label %276, !llvm.loop !30

288:                                              ; preds = %276
  %289 = call i64 @e_wsfe()
  %290 = load i64, ptr %46, align 8, !tbaa !11
  %291 = icmp ne i64 %290, 0
  br i1 %291, label %299, label %292

292:                                              ; preds = %288
  %293 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %293, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___40, i32 0, i32 1), align 8, !tbaa !21
  %294 = call i64 @s_wsle(ptr noundef @MAIN__.io___40)
  %295 = call i64 @e_wsle()
  %296 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %296, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___41, i32 0, i32 1), align 8, !tbaa !21
  %297 = call i64 @s_wsfe(ptr noundef @MAIN__.io___41)
  %298 = call i64 @e_wsfe()
  br label %299

299:                                              ; preds = %292, %288
  %300 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %300, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___42, i32 0, i32 1), align 8, !tbaa !21
  %301 = call i64 @s_wsle(ptr noundef @MAIN__.io___42)
  %302 = call i64 @e_wsle()
  %303 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %303, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___43, i32 0, i32 1), align 8, !tbaa !21
  %304 = call i64 @s_wsfe(ptr noundef @MAIN__.io___43)
  %305 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %44, i64 noundef 4)
  %306 = call i64 @e_wsfe()
  %307 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %307, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___44, i32 0, i32 1), align 8, !tbaa !21
  %308 = call i64 @s_wsle(ptr noundef @MAIN__.io___44)
  %309 = call i64 @e_wsle()
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %310

310:                                              ; preds = %317, %299
  %311 = load i64, ptr %11, align 8, !tbaa !11
  %312 = icmp sle i64 %311, 9
  br i1 %312, label %313, label %320

313:                                              ; preds = %310
  %314 = load i64, ptr %11, align 8, !tbaa !11
  %315 = sub nsw i64 %314, 1
  %316 = getelementptr inbounds [9 x i64], ptr %39, i64 0, i64 %315
  store i64 0, ptr %316, align 8, !tbaa !11
  br label %317

317:                                              ; preds = %313
  %318 = load i64, ptr %11, align 8, !tbaa !11
  %319 = add nsw i64 %318, 1
  store i64 %319, ptr %11, align 8, !tbaa !11
  br label %310, !llvm.loop !31

320:                                              ; preds = %310
  br label %321

321:                                              ; preds = %366, %320
  %322 = call i64 @s_rsfe(ptr noundef @MAIN__.io___46)
  store i64 %322, ptr %1, align 8, !tbaa !11
  %323 = load i64, ptr %1, align 8, !tbaa !11
  %324 = icmp ne i64 %323, 0
  br i1 %324, label %325, label %326

325:                                              ; preds = %321
  br label %371

326:                                              ; preds = %321
  %327 = getelementptr inbounds [6 x i8], ptr %41, i64 0, i64 0
  %328 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %327, i64 noundef 6)
  store i64 %328, ptr %1, align 8, !tbaa !11
  %329 = load i64, ptr %1, align 8, !tbaa !11
  %330 = icmp ne i64 %329, 0
  br i1 %330, label %331, label %332

331:                                              ; preds = %326
  br label %371

332:                                              ; preds = %326
  %333 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %45, i64 noundef 8)
  store i64 %333, ptr %1, align 8, !tbaa !11
  %334 = load i64, ptr %1, align 8, !tbaa !11
  %335 = icmp ne i64 %334, 0
  br i1 %335, label %336, label %337

336:                                              ; preds = %332
  br label %371

337:                                              ; preds = %332
  %338 = call i64 @e_rsfe()
  store i64 %338, ptr %1, align 8, !tbaa !11
  %339 = load i64, ptr %1, align 8, !tbaa !11
  %340 = icmp ne i64 %339, 0
  br i1 %340, label %341, label %342

341:                                              ; preds = %337
  br label %371

342:                                              ; preds = %337
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %343

343:                                              ; preds = %356, %342
  %344 = load i64, ptr %11, align 8, !tbaa !11
  %345 = icmp sle i64 %344, 9
  br i1 %345, label %346, label %359

346:                                              ; preds = %343
  %347 = getelementptr inbounds [6 x i8], ptr %41, i64 0, i64 0
  %348 = load i64, ptr %11, align 8, !tbaa !11
  %349 = sub nsw i64 %348, 1
  %350 = mul nsw i64 %349, 6
  %351 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %350
  %352 = call i64 @s_cmp(ptr noundef %347, ptr noundef %351, i64 noundef 6, i64 noundef 6)
  %353 = icmp eq i64 %352, 0
  br i1 %353, label %354, label %355

354:                                              ; preds = %346
  br label %366

355:                                              ; preds = %346
  br label %356

356:                                              ; preds = %355
  %357 = load i64, ptr %11, align 8, !tbaa !11
  %358 = add nsw i64 %357, 1
  store i64 %358, ptr %11, align 8, !tbaa !11
  br label %343, !llvm.loop !32

359:                                              ; preds = %343
  %360 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %360, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___49, i32 0, i32 1), align 8, !tbaa !21
  %361 = call i64 @s_wsfe(ptr noundef @MAIN__.io___49)
  %362 = getelementptr inbounds [6 x i8], ptr %41, i64 0, i64 0
  %363 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %362, i64 noundef 6)
  %364 = call i64 @e_wsfe()
  %365 = call i32 @s_stop(ptr noundef @.str.3, i64 noundef 0)
  br label %366

366:                                              ; preds = %359, %354
  %367 = load i64, ptr %45, align 8, !tbaa !11
  %368 = load i64, ptr %11, align 8, !tbaa !11
  %369 = sub nsw i64 %368, 1
  %370 = getelementptr inbounds [9 x i64], ptr %39, i64 0, i64 %369
  store i64 %367, ptr %370, align 8, !tbaa !11
  br label %321

371:                                              ; preds = %341, %336, %331, %325
  %372 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 0
  store i64 0, ptr %372, align 8, !tbaa !33
  %373 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 1
  store i64 5, ptr %373, align 8, !tbaa !35
  %374 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 2
  store ptr null, ptr %374, align 8, !tbaa !36
  %375 = call i64 @f_clos(ptr noundef %8)
  store float 1.000000e+00, ptr %25, align 4, !tbaa !37
  br label %376

376:                                              ; preds = %382, %371
  %377 = load float, ptr %25, align 4, !tbaa !37
  %378 = fadd float %377, 1.000000e+00
  store float %378, ptr %6, align 4, !tbaa !37
  %379 = call double @sdiff_(ptr noundef %6, ptr noundef @c_b87)
  %380 = fcmp oeq double %379, 0.000000e+00
  br i1 %380, label %381, label %382

381:                                              ; preds = %376
  br label %385

382:                                              ; preds = %376
  %383 = load float, ptr %25, align 4, !tbaa !37
  %384 = fmul float %383, 5.000000e-01
  store float %384, ptr %25, align 4, !tbaa !37
  br label %376

385:                                              ; preds = %381
  %386 = load float, ptr %25, align 4, !tbaa !37
  %387 = load float, ptr %25, align 4, !tbaa !37
  %388 = fadd float %387, %386
  store float %388, ptr %25, align 4, !tbaa !37
  %389 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %389, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___51, i32 0, i32 1), align 8, !tbaa !21
  %390 = call i64 @s_wsfe(ptr noundef @MAIN__.io___51)
  %391 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %25, i64 noundef 4)
  %392 = call i64 @e_wsfe()
  store i64 32, ptr %13, align 8, !tbaa !11
  %393 = load i64, ptr %13, align 8, !tbaa !11
  store i64 %393, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %12, align 8, !tbaa !11
  br label %394

394:                                              ; preds = %463, %385
  %395 = load i64, ptr %12, align 8, !tbaa !11
  %396 = load i64, ptr %1, align 8, !tbaa !11
  %397 = icmp sle i64 %395, %396
  br i1 %397, label %398, label %466

398:                                              ; preds = %394
  %399 = load i64, ptr %13, align 8, !tbaa !11
  store i64 %399, ptr %2, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %400

400:                                              ; preds = %429, %398
  %401 = load i64, ptr %11, align 8, !tbaa !11
  %402 = load i64, ptr %2, align 8, !tbaa !11
  %403 = icmp sle i64 %401, %402
  br i1 %403, label %404, label %432

404:                                              ; preds = %400
  %405 = load i64, ptr %11, align 8, !tbaa !11
  %406 = load i64, ptr %12, align 8, !tbaa !11
  %407 = mul nsw i64 %406, 65
  %408 = add nsw i64 %405, %407
  %409 = sub nsw i64 %408, 66
  store i64 %409, ptr %3, align 8, !tbaa !11
  %410 = load i64, ptr %11, align 8, !tbaa !11
  %411 = load i64, ptr %12, align 8, !tbaa !11
  %412 = sub nsw i64 %410, %411
  %413 = add nsw i64 %412, 1
  store i64 %413, ptr %5, align 8, !tbaa !11
  %414 = load i64, ptr %5, align 8, !tbaa !11
  %415 = icmp sge i64 %414, 0
  br i1 %415, label %416, label %418

416:                                              ; preds = %404
  %417 = load i64, ptr %5, align 8, !tbaa !11
  br label %419

418:                                              ; preds = %404
  br label %419

419:                                              ; preds = %418, %416
  %420 = phi i64 [ %417, %416 ], [ 0, %418 ]
  store i64 %420, ptr %4, align 8, !tbaa !11
  %421 = load i64, ptr %4, align 8, !tbaa !11
  %422 = sitofp i64 %421 to float
  %423 = load i64, ptr %3, align 8, !tbaa !11
  %424 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %423
  %425 = getelementptr inbounds %struct.complex, ptr %424, i32 0, i32 0
  store float %422, ptr %425, align 8, !tbaa !39
  %426 = load i64, ptr %3, align 8, !tbaa !11
  %427 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %426
  %428 = getelementptr inbounds %struct.complex, ptr %427, i32 0, i32 1
  store float 0.000000e+00, ptr %428, align 4, !tbaa !41
  br label %429

429:                                              ; preds = %419
  %430 = load i64, ptr %11, align 8, !tbaa !11
  %431 = add nsw i64 %430, 1
  store i64 %431, ptr %11, align 8, !tbaa !11
  br label %400, !llvm.loop !42

432:                                              ; preds = %400
  %433 = load i64, ptr %12, align 8, !tbaa !11
  %434 = add nsw i64 %433, 4224
  store i64 %434, ptr %2, align 8, !tbaa !11
  %435 = load i64, ptr %12, align 8, !tbaa !11
  %436 = sitofp i64 %435 to float
  %437 = load i64, ptr %2, align 8, !tbaa !11
  %438 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %437
  %439 = getelementptr inbounds %struct.complex, ptr %438, i32 0, i32 0
  store float %436, ptr %439, align 8, !tbaa !39
  %440 = load i64, ptr %2, align 8, !tbaa !11
  %441 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %440
  %442 = getelementptr inbounds %struct.complex, ptr %441, i32 0, i32 1
  store float 0.000000e+00, ptr %442, align 4, !tbaa !41
  %443 = load i64, ptr %12, align 8, !tbaa !11
  %444 = add nsw i64 %443, 65
  %445 = mul nsw i64 %444, 65
  %446 = sub nsw i64 %445, 65
  store i64 %446, ptr %2, align 8, !tbaa !11
  %447 = load i64, ptr %12, align 8, !tbaa !11
  %448 = sitofp i64 %447 to float
  %449 = load i64, ptr %2, align 8, !tbaa !11
  %450 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %449
  %451 = getelementptr inbounds %struct.complex, ptr %450, i32 0, i32 0
  store float %448, ptr %451, align 8, !tbaa !39
  %452 = load i64, ptr %2, align 8, !tbaa !11
  %453 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %452
  %454 = getelementptr inbounds %struct.complex, ptr %453, i32 0, i32 1
  store float 0.000000e+00, ptr %454, align 4, !tbaa !41
  %455 = load i64, ptr %12, align 8, !tbaa !11
  %456 = sub nsw i64 %455, 1
  store i64 %456, ptr %2, align 8, !tbaa !11
  %457 = load i64, ptr %2, align 8, !tbaa !11
  %458 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 %457
  %459 = getelementptr inbounds %struct.complex, ptr %458, i32 0, i32 0
  store float 0.000000e+00, ptr %459, align 8, !tbaa !39
  %460 = load i64, ptr %2, align 8, !tbaa !11
  %461 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 %460
  %462 = getelementptr inbounds %struct.complex, ptr %461, i32 0, i32 1
  store float 0.000000e+00, ptr %462, align 4, !tbaa !41
  br label %463

463:                                              ; preds = %432
  %464 = load i64, ptr %12, align 8, !tbaa !11
  %465 = add nsw i64 %464, 1
  store i64 %465, ptr %12, align 8, !tbaa !11
  br label %394, !llvm.loop !43

466:                                              ; preds = %394
  %467 = load i64, ptr %13, align 8, !tbaa !11
  store i64 %467, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %12, align 8, !tbaa !11
  br label %468

468:                                              ; preds = %499, %466
  %469 = load i64, ptr %12, align 8, !tbaa !11
  %470 = load i64, ptr %1, align 8, !tbaa !11
  %471 = icmp sle i64 %469, %470
  br i1 %471, label %472, label %502

472:                                              ; preds = %468
  %473 = load i64, ptr %12, align 8, !tbaa !11
  %474 = sub nsw i64 %473, 1
  store i64 %474, ptr %2, align 8, !tbaa !11
  %475 = load i64, ptr %12, align 8, !tbaa !11
  %476 = load i64, ptr %12, align 8, !tbaa !11
  %477 = add nsw i64 %476, 1
  %478 = load i64, ptr %12, align 8, !tbaa !11
  %479 = mul nsw i64 %477, %478
  %480 = mul nsw i64 %475, %479
  %481 = sdiv i64 %480, 2
  %482 = load i64, ptr %12, align 8, !tbaa !11
  %483 = add nsw i64 %482, 1
  %484 = load i64, ptr %12, align 8, !tbaa !11
  %485 = mul nsw i64 %483, %484
  %486 = load i64, ptr %12, align 8, !tbaa !11
  %487 = sub nsw i64 %486, 1
  %488 = mul nsw i64 %485, %487
  %489 = sdiv i64 %488, 3
  %490 = sub nsw i64 %481, %489
  store i64 %490, ptr %3, align 8, !tbaa !11
  %491 = load i64, ptr %3, align 8, !tbaa !11
  %492 = sitofp i64 %491 to float
  %493 = load i64, ptr %2, align 8, !tbaa !11
  %494 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 %493
  %495 = getelementptr inbounds %struct.complex, ptr %494, i32 0, i32 0
  store float %492, ptr %495, align 8, !tbaa !39
  %496 = load i64, ptr %2, align 8, !tbaa !11
  %497 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 %496
  %498 = getelementptr inbounds %struct.complex, ptr %497, i32 0, i32 1
  store float 0.000000e+00, ptr %498, align 4, !tbaa !41
  br label %499

499:                                              ; preds = %472
  %500 = load i64, ptr %12, align 8, !tbaa !11
  %501 = add nsw i64 %500, 1
  store i64 %501, ptr %12, align 8, !tbaa !11
  br label %468, !llvm.loop !44

502:                                              ; preds = %468
  %503 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  store i8 78, ptr %503, align 1, !tbaa !20
  %504 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  store i8 78, ptr %504, align 1, !tbaa !20
  %505 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  %506 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %507 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %508 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 4225
  %509 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %510 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %511 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %512 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %513 = call i32 @cmmch_(ptr noundef %505, ptr noundef %506, ptr noundef %13, ptr noundef @c__1, ptr noundef %13, ptr noundef @c_b2, ptr noundef %507, ptr noundef @c__65, ptr noundef %508, ptr noundef @c__65, ptr noundef @c_b1, ptr noundef %509, ptr noundef @c__65, ptr noundef %510, ptr noundef %511, ptr noundef %512, ptr noundef @c__65, ptr noundef %25, ptr noundef %26, ptr noundef %34, ptr noundef %33, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  %514 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %515 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %516 = call i64 @lce_(ptr noundef %514, ptr noundef %515, ptr noundef %13)
  store i64 %516, ptr %29, align 8, !tbaa !11
  %517 = load i64, ptr %29, align 8, !tbaa !11
  %518 = icmp ne i64 %517, 0
  br i1 %518, label %519, label %522

519:                                              ; preds = %502
  %520 = load float, ptr %26, align 4, !tbaa !37
  %521 = fcmp une float %520, 0.000000e+00
  br i1 %521, label %522, label %533

522:                                              ; preds = %519, %502
  %523 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %523, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___64, i32 0, i32 1), align 8, !tbaa !21
  %524 = call i64 @s_wsfe(ptr noundef @MAIN__.io___64)
  %525 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  %526 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %525, i64 noundef 1)
  %527 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %528 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %527, i64 noundef 1)
  %529 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %29, i64 noundef 8)
  %530 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %26, i64 noundef 4)
  %531 = call i64 @e_wsfe()
  %532 = call i32 @s_stop(ptr noundef @.str.3, i64 noundef 0)
  br label %533

533:                                              ; preds = %522, %519
  %534 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  store i8 67, ptr %534, align 1, !tbaa !20
  %535 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  %536 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %537 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %538 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 4225
  %539 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %540 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %541 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %542 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %543 = call i32 @cmmch_(ptr noundef %535, ptr noundef %536, ptr noundef %13, ptr noundef @c__1, ptr noundef %13, ptr noundef @c_b2, ptr noundef %537, ptr noundef @c__65, ptr noundef %538, ptr noundef @c__65, ptr noundef @c_b1, ptr noundef %539, ptr noundef @c__65, ptr noundef %540, ptr noundef %541, ptr noundef %542, ptr noundef @c__65, ptr noundef %25, ptr noundef %26, ptr noundef %34, ptr noundef %33, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  %544 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %545 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %546 = call i64 @lce_(ptr noundef %544, ptr noundef %545, ptr noundef %13)
  store i64 %546, ptr %29, align 8, !tbaa !11
  %547 = load i64, ptr %29, align 8, !tbaa !11
  %548 = icmp ne i64 %547, 0
  br i1 %548, label %549, label %552

549:                                              ; preds = %533
  %550 = load float, ptr %26, align 4, !tbaa !37
  %551 = fcmp une float %550, 0.000000e+00
  br i1 %551, label %552, label %563

552:                                              ; preds = %549, %533
  %553 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %553, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___65, i32 0, i32 1), align 8, !tbaa !21
  %554 = call i64 @s_wsfe(ptr noundef @MAIN__.io___65)
  %555 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  %556 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %555, i64 noundef 1)
  %557 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %558 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %557, i64 noundef 1)
  %559 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %29, i64 noundef 8)
  %560 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %26, i64 noundef 4)
  %561 = call i64 @e_wsfe()
  %562 = call i32 @s_stop(ptr noundef @.str.3, i64 noundef 0)
  br label %563

563:                                              ; preds = %552, %549
  %564 = load i64, ptr %13, align 8, !tbaa !11
  store i64 %564, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %12, align 8, !tbaa !11
  br label %565

565:                                              ; preds = %600, %563
  %566 = load i64, ptr %12, align 8, !tbaa !11
  %567 = load i64, ptr %1, align 8, !tbaa !11
  %568 = icmp sle i64 %566, %567
  br i1 %568, label %569, label %603

569:                                              ; preds = %565
  %570 = load i64, ptr %12, align 8, !tbaa !11
  %571 = add nsw i64 %570, 4224
  store i64 %571, ptr %2, align 8, !tbaa !11
  %572 = load i64, ptr %13, align 8, !tbaa !11
  %573 = load i64, ptr %12, align 8, !tbaa !11
  %574 = sub nsw i64 %572, %573
  %575 = add nsw i64 %574, 1
  store i64 %575, ptr %3, align 8, !tbaa !11
  %576 = load i64, ptr %3, align 8, !tbaa !11
  %577 = sitofp i64 %576 to float
  %578 = load i64, ptr %2, align 8, !tbaa !11
  %579 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %578
  %580 = getelementptr inbounds %struct.complex, ptr %579, i32 0, i32 0
  store float %577, ptr %580, align 8, !tbaa !39
  %581 = load i64, ptr %2, align 8, !tbaa !11
  %582 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %581
  %583 = getelementptr inbounds %struct.complex, ptr %582, i32 0, i32 1
  store float 0.000000e+00, ptr %583, align 4, !tbaa !41
  %584 = load i64, ptr %12, align 8, !tbaa !11
  %585 = add nsw i64 %584, 65
  %586 = mul nsw i64 %585, 65
  %587 = sub nsw i64 %586, 65
  store i64 %587, ptr %2, align 8, !tbaa !11
  %588 = load i64, ptr %13, align 8, !tbaa !11
  %589 = load i64, ptr %12, align 8, !tbaa !11
  %590 = sub nsw i64 %588, %589
  %591 = add nsw i64 %590, 1
  store i64 %591, ptr %3, align 8, !tbaa !11
  %592 = load i64, ptr %3, align 8, !tbaa !11
  %593 = sitofp i64 %592 to float
  %594 = load i64, ptr %2, align 8, !tbaa !11
  %595 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %594
  %596 = getelementptr inbounds %struct.complex, ptr %595, i32 0, i32 0
  store float %593, ptr %596, align 8, !tbaa !39
  %597 = load i64, ptr %2, align 8, !tbaa !11
  %598 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 %597
  %599 = getelementptr inbounds %struct.complex, ptr %598, i32 0, i32 1
  store float 0.000000e+00, ptr %599, align 4, !tbaa !41
  br label %600

600:                                              ; preds = %569
  %601 = load i64, ptr %12, align 8, !tbaa !11
  %602 = add nsw i64 %601, 1
  store i64 %602, ptr %12, align 8, !tbaa !11
  br label %565, !llvm.loop !45

603:                                              ; preds = %565
  %604 = load i64, ptr %13, align 8, !tbaa !11
  store i64 %604, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %12, align 8, !tbaa !11
  br label %605

605:                                              ; preds = %637, %603
  %606 = load i64, ptr %12, align 8, !tbaa !11
  %607 = load i64, ptr %1, align 8, !tbaa !11
  %608 = icmp sle i64 %606, %607
  br i1 %608, label %609, label %640

609:                                              ; preds = %605
  %610 = load i64, ptr %13, align 8, !tbaa !11
  %611 = load i64, ptr %12, align 8, !tbaa !11
  %612 = sub nsw i64 %610, %611
  store i64 %612, ptr %2, align 8, !tbaa !11
  %613 = load i64, ptr %12, align 8, !tbaa !11
  %614 = load i64, ptr %12, align 8, !tbaa !11
  %615 = add nsw i64 %614, 1
  %616 = load i64, ptr %12, align 8, !tbaa !11
  %617 = mul nsw i64 %615, %616
  %618 = mul nsw i64 %613, %617
  %619 = sdiv i64 %618, 2
  %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 = load i64, ptr %12, align 8, !tbaa !11
  %625 = sub nsw i64 %624, 1
  %626 = mul nsw i64 %623, %625
  %627 = sdiv i64 %626, 3
  %628 = sub nsw i64 %619, %627
  store i64 %628, ptr %3, align 8, !tbaa !11
  %629 = load i64, ptr %3, align 8, !tbaa !11
  %630 = sitofp i64 %629 to float
  %631 = load i64, ptr %2, align 8, !tbaa !11
  %632 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 %631
  %633 = getelementptr inbounds %struct.complex, ptr %632, i32 0, i32 0
  store float %630, ptr %633, align 8, !tbaa !39
  %634 = load i64, ptr %2, align 8, !tbaa !11
  %635 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 %634
  %636 = getelementptr inbounds %struct.complex, ptr %635, i32 0, i32 1
  store float 0.000000e+00, ptr %636, align 4, !tbaa !41
  br label %637

637:                                              ; preds = %609
  %638 = load i64, ptr %12, align 8, !tbaa !11
  %639 = add nsw i64 %638, 1
  store i64 %639, ptr %12, align 8, !tbaa !11
  br label %605, !llvm.loop !46

640:                                              ; preds = %605
  %641 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  store i8 67, ptr %641, align 1, !tbaa !20
  %642 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  store i8 78, ptr %642, align 1, !tbaa !20
  %643 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  %644 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %645 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %646 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 4225
  %647 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %648 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %649 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %650 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %651 = call i32 @cmmch_(ptr noundef %643, ptr noundef %644, ptr noundef %13, ptr noundef @c__1, ptr noundef %13, ptr noundef @c_b2, ptr noundef %645, ptr noundef @c__65, ptr noundef %646, ptr noundef @c__65, ptr noundef @c_b1, ptr noundef %647, ptr noundef @c__65, ptr noundef %648, ptr noundef %649, ptr noundef %650, ptr noundef @c__65, ptr noundef %25, ptr noundef %26, ptr noundef %34, ptr noundef %33, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  %652 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %653 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %654 = call i64 @lce_(ptr noundef %652, ptr noundef %653, ptr noundef %13)
  store i64 %654, ptr %29, align 8, !tbaa !11
  %655 = load i64, ptr %29, align 8, !tbaa !11
  %656 = icmp ne i64 %655, 0
  br i1 %656, label %657, label %660

657:                                              ; preds = %640
  %658 = load float, ptr %26, align 4, !tbaa !37
  %659 = fcmp une float %658, 0.000000e+00
  br i1 %659, label %660, label %671

660:                                              ; preds = %657, %640
  %661 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %661, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___66, i32 0, i32 1), align 8, !tbaa !21
  %662 = call i64 @s_wsfe(ptr noundef @MAIN__.io___66)
  %663 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  %664 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %663, i64 noundef 1)
  %665 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %666 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %665, i64 noundef 1)
  %667 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %29, i64 noundef 8)
  %668 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %26, i64 noundef 4)
  %669 = call i64 @e_wsfe()
  %670 = call i32 @s_stop(ptr noundef @.str.3, i64 noundef 0)
  br label %671

671:                                              ; preds = %660, %657
  %672 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  store i8 67, ptr %672, align 1, !tbaa !20
  %673 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  %674 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %675 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %676 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 4225
  %677 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %678 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %679 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %680 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %681 = call i32 @cmmch_(ptr noundef %673, ptr noundef %674, ptr noundef %13, ptr noundef @c__1, ptr noundef %13, ptr noundef @c_b2, ptr noundef %675, ptr noundef @c__65, ptr noundef %676, ptr noundef @c__65, ptr noundef @c_b1, ptr noundef %677, ptr noundef @c__65, ptr noundef %678, ptr noundef %679, ptr noundef %680, ptr noundef @c__65, ptr noundef %25, ptr noundef %26, ptr noundef %34, ptr noundef %33, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  %682 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %683 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %684 = call i64 @lce_(ptr noundef %682, ptr noundef %683, ptr noundef %13)
  store i64 %684, ptr %29, align 8, !tbaa !11
  %685 = load i64, ptr %29, align 8, !tbaa !11
  %686 = icmp ne i64 %685, 0
  br i1 %686, label %687, label %690

687:                                              ; preds = %671
  %688 = load float, ptr %26, align 4, !tbaa !37
  %689 = fcmp une float %688, 0.000000e+00
  br i1 %689, label %690, label %701

690:                                              ; preds = %687, %671
  %691 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %691, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___67, i32 0, i32 1), align 8, !tbaa !21
  %692 = call i64 @s_wsfe(ptr noundef @MAIN__.io___67)
  %693 = getelementptr inbounds [1 x i8], ptr %42, i64 0, i64 0
  %694 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %693, i64 noundef 1)
  %695 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %696 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %695, i64 noundef 1)
  %697 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %29, i64 noundef 8)
  %698 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %26, i64 noundef 4)
  %699 = call i64 @e_wsfe()
  %700 = call i32 @s_stop(ptr noundef @.str.3, i64 noundef 0)
  br label %701

701:                                              ; preds = %690, %687
  store i64 1, ptr %38, align 8, !tbaa !11
  br label %702

702:                                              ; preds = %858, %701
  %703 = load i64, ptr %38, align 8, !tbaa !11
  %704 = icmp sle i64 %703, 9
  br i1 %704, label %705, label %861

705:                                              ; preds = %702
  %706 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %706, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___69, i32 0, i32 1), align 8, !tbaa !21
  %707 = call i64 @s_wsle(ptr noundef @MAIN__.io___69)
  %708 = call i64 @e_wsle()
  %709 = load i64, ptr %38, align 8, !tbaa !11
  %710 = sub nsw i64 %709, 1
  %711 = getelementptr inbounds [9 x i64], ptr %39, i64 0, i64 %710
  %712 = load i64, ptr %711, align 8, !tbaa !11
  %713 = icmp ne i64 %712, 0
  br i1 %713, label %723, label %714

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

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

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

740:                                              ; preds = %731, %723
  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 %34, align 8, !tbaa !11
  %741 = load i64, ptr %38, align 8, !tbaa !11
  switch i64 %741, label %751 [
    i64 1, label %742
    i64 2, label %743
    i64 3, label %744
    i64 4, label %745
    i64 5, label %746
    i64 6, label %747
    i64 7, label %748
    i64 8, label %749
    i64 9, label %750
  ]

742:                                              ; preds = %740
  br label %752

743:                                              ; preds = %740
  br label %772

744:                                              ; preds = %740
  br label %772

745:                                              ; preds = %740
  br label %792

746:                                              ; preds = %740
  br label %792

747:                                              ; preds = %740
  br label %809

748:                                              ; preds = %740
  br label %809

749:                                              ; preds = %740
  br label %829

750:                                              ; preds = %740
  br label %829

751:                                              ; preds = %740
  br label %752

752:                                              ; preds = %751, %742
  %753 = load i64, ptr %38, align 8, !tbaa !11
  %754 = sub nsw i64 %753, 1
  %755 = mul nsw i64 %754, 6
  %756 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %755
  %757 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 0
  %758 = getelementptr inbounds [7 x %struct.complex], ptr %23, i64 0, i64 0
  %759 = getelementptr inbounds [7 x %struct.complex], ptr %24, i64 0, i64 0
  %760 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %761 = getelementptr inbounds [4225 x %struct.complex], ptr %15, i64 0, i64 0
  %762 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %763 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 4225
  %764 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %765 = getelementptr inbounds [4225 x %struct.complex], ptr %20, i64 0, i64 0
  %766 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %767 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %768 = getelementptr inbounds [4225 x %struct.complex], ptr %21, i64 0, i64 0
  %769 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %770 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %771 = call i32 @cchk1_(ptr noundef %756, ptr noundef %25, ptr noundef %44, ptr noundef %33, ptr noundef %31, ptr noundef %35, ptr noundef %32, ptr noundef %34, ptr noundef %36, ptr noundef %757, ptr noundef %27, ptr noundef %758, ptr noundef %30, ptr noundef %759, ptr noundef @c__65, ptr noundef %760, ptr noundef %761, ptr noundef %762, ptr noundef %763, ptr noundef %764, ptr noundef %765, ptr noundef %766, ptr noundef %767, ptr noundef %768, ptr noundef %769, ptr noundef %770, i64 noundef 6)
  br label %849

772:                                              ; preds = %744, %743
  %773 = load i64, ptr %38, align 8, !tbaa !11
  %774 = sub nsw i64 %773, 1
  %775 = mul nsw i64 %774, 6
  %776 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %775
  %777 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 0
  %778 = getelementptr inbounds [7 x %struct.complex], ptr %23, i64 0, i64 0
  %779 = getelementptr inbounds [7 x %struct.complex], ptr %24, i64 0, i64 0
  %780 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %781 = getelementptr inbounds [4225 x %struct.complex], ptr %15, i64 0, i64 0
  %782 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %783 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 4225
  %784 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %785 = getelementptr inbounds [4225 x %struct.complex], ptr %20, i64 0, i64 0
  %786 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %787 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %788 = getelementptr inbounds [4225 x %struct.complex], ptr %21, i64 0, i64 0
  %789 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %790 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %791 = call i32 @cchk2_(ptr noundef %776, ptr noundef %25, ptr noundef %44, ptr noundef %33, ptr noundef %31, ptr noundef %35, ptr noundef %32, ptr noundef %34, ptr noundef %36, ptr noundef %777, ptr noundef %27, ptr noundef %778, ptr noundef %30, ptr noundef %779, ptr noundef @c__65, ptr noundef %780, ptr noundef %781, ptr noundef %782, ptr noundef %783, ptr noundef %784, ptr noundef %785, ptr noundef %786, ptr noundef %787, ptr noundef %788, ptr noundef %789, ptr noundef %790, i64 noundef 6)
  br label %849

792:                                              ; preds = %746, %745
  %793 = load i64, ptr %38, align 8, !tbaa !11
  %794 = sub nsw i64 %793, 1
  %795 = mul nsw i64 %794, 6
  %796 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %795
  %797 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 0
  %798 = getelementptr inbounds [7 x %struct.complex], ptr %23, i64 0, i64 0
  %799 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %800 = getelementptr inbounds [4225 x %struct.complex], ptr %15, i64 0, i64 0
  %801 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %802 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 4225
  %803 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %804 = getelementptr inbounds [4225 x %struct.complex], ptr %20, i64 0, i64 0
  %805 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %806 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %807 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %808 = call i32 @cchk3_(ptr noundef %796, ptr noundef %25, ptr noundef %44, ptr noundef %33, ptr noundef %31, ptr noundef %35, ptr noundef %32, ptr noundef %34, ptr noundef %36, ptr noundef %797, ptr noundef %27, ptr noundef %798, ptr noundef @c__65, ptr noundef %799, ptr noundef %800, ptr noundef %801, ptr noundef %802, ptr noundef %803, ptr noundef %804, ptr noundef %805, ptr noundef %806, ptr noundef %807, i64 noundef 6)
  br label %849

809:                                              ; preds = %748, %747
  %810 = load i64, ptr %38, align 8, !tbaa !11
  %811 = sub nsw i64 %810, 1
  %812 = mul nsw i64 %811, 6
  %813 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %812
  %814 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 0
  %815 = getelementptr inbounds [7 x %struct.complex], ptr %23, i64 0, i64 0
  %816 = getelementptr inbounds [7 x %struct.complex], ptr %24, i64 0, i64 0
  %817 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %818 = getelementptr inbounds [4225 x %struct.complex], ptr %15, i64 0, i64 0
  %819 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %820 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 4225
  %821 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %822 = getelementptr inbounds [4225 x %struct.complex], ptr %20, i64 0, i64 0
  %823 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %824 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %825 = getelementptr inbounds [4225 x %struct.complex], ptr %21, i64 0, i64 0
  %826 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %827 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %828 = call i32 @cchk4_(ptr noundef %813, ptr noundef %25, ptr noundef %44, ptr noundef %33, ptr noundef %31, ptr noundef %35, ptr noundef %32, ptr noundef %34, ptr noundef %36, ptr noundef %814, ptr noundef %27, ptr noundef %815, ptr noundef %30, ptr noundef %816, ptr noundef @c__65, ptr noundef %817, ptr noundef %818, ptr noundef %819, ptr noundef %820, ptr noundef %821, ptr noundef %822, ptr noundef %823, ptr noundef %824, ptr noundef %825, ptr noundef %826, ptr noundef %827, i64 noundef 6)
  br label %849

829:                                              ; preds = %750, %749
  %830 = load i64, ptr %38, align 8, !tbaa !11
  %831 = sub nsw i64 %830, 1
  %832 = mul nsw i64 %831, 6
  %833 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %832
  %834 = getelementptr inbounds [9 x i64], ptr %28, i64 0, i64 0
  %835 = getelementptr inbounds [7 x %struct.complex], ptr %23, i64 0, i64 0
  %836 = getelementptr inbounds [7 x %struct.complex], ptr %24, i64 0, i64 0
  %837 = getelementptr inbounds [8450 x %struct.complex], ptr %16, i64 0, i64 0
  %838 = getelementptr inbounds [4225 x %struct.complex], ptr %15, i64 0, i64 0
  %839 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %840 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %841 = getelementptr inbounds [4225 x %struct.complex], ptr %20, i64 0, i64 0
  %842 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %843 = getelementptr inbounds [4225 x %struct.complex], ptr %18, i64 0, i64 0
  %844 = getelementptr inbounds [4225 x %struct.complex], ptr %21, i64 0, i64 0
  %845 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %846 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %847 = getelementptr inbounds [130 x %struct.complex], ptr %14, i64 0, i64 0
  %848 = call i32 @cchk5_(ptr noundef %833, ptr noundef %25, ptr noundef %44, ptr noundef %33, ptr noundef %31, ptr noundef %35, ptr noundef %32, ptr noundef %34, ptr noundef %36, ptr noundef %834, ptr noundef %27, ptr noundef %835, ptr noundef %30, ptr noundef %836, ptr noundef @c__65, ptr noundef %837, ptr noundef %838, ptr noundef %839, ptr noundef %840, ptr noundef %841, ptr noundef %842, ptr noundef %843, ptr noundef %844, ptr noundef %845, ptr noundef %846, ptr noundef %847, i64 noundef 6)
  br label %849

849:                                              ; preds = %829, %809, %792, %772, %752
  %850 = load i64, ptr %34, align 8, !tbaa !11
  %851 = icmp ne i64 %850, 0
  br i1 %851, label %852, label %856

852:                                              ; preds = %849
  %853 = load i64, ptr %40, align 8, !tbaa !11
  %854 = icmp ne i64 %853, 0
  br i1 %854, label %855, label %856

855:                                              ; preds = %852
  br label %865

856:                                              ; preds = %852, %849
  br label %857

857:                                              ; preds = %856, %714
  br label %858

858:                                              ; preds = %857
  %859 = load i64, ptr %38, align 8, !tbaa !11
  %860 = add nsw i64 %859, 1
  store i64 %860, ptr %38, align 8, !tbaa !11
  br label %702, !llvm.loop !47

861:                                              ; preds = %702
  %862 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %862, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___78, i32 0, i32 1), align 8, !tbaa !21
  %863 = call i64 @s_wsfe(ptr noundef @MAIN__.io___78)
  %864 = call i64 @e_wsfe()
  br label %873

865:                                              ; preds = %855
  %866 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %866, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___79, i32 0, i32 1), align 8, !tbaa !21
  %867 = call i64 @s_wsfe(ptr noundef @MAIN__.io___79)
  %868 = call i64 @e_wsfe()
  br label %873

869:                                              ; preds = %213, %182, %164, %124
  %870 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %870, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___80, i32 0, i32 1), align 8, !tbaa !21
  %871 = call i64 @s_wsfe(ptr noundef @MAIN__.io___80)
  %872 = call i64 @e_wsfe()
  br label %873

873:                                              ; preds = %869, %865, %861
  %874 = load i64, ptr %35, align 8, !tbaa !11
  %875 = icmp ne i64 %874, 0
  br i1 %875, label %876, label %882

876:                                              ; preds = %873
  %877 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 0
  store i64 0, ptr %877, align 8, !tbaa !33
  %878 = load i64, ptr %31, align 8, !tbaa !11
  %879 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 1
  store i64 %878, ptr %879, align 8, !tbaa !35
  %880 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 2
  store ptr null, ptr %880, align 8, !tbaa !36
  %881 = call i64 @f_clos(ptr noundef %8)
  br label %882

882:                                              ; preds = %876, %873
  %883 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 0
  store i64 0, ptr %883, align 8, !tbaa !33
  %884 = load i64, ptr %33, align 8, !tbaa !11
  %885 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 1
  store i64 %884, ptr %885, align 8, !tbaa !35
  %886 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 2
  store ptr null, ptr %886, align 8, !tbaa !36
  %887 = call i64 @f_clos(ptr noundef %8)
  %888 = call i32 @s_stop(ptr noundef @.str.3, i64 noundef 0)
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #3
  call void @llvm.lifetime.end.p0(i64 6, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 72, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #3
  call void @llvm.lifetime.end.p0(i64 32, 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 8, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 72, ptr %28) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %24) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 520, ptr %22) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %18) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 67600, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 1040, 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 @cmmch_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef) #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, 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, 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, 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, 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, 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 = !{!34, !7, i64 0}
!34 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16}
!35 = !{!34, !7, i64 8}
!36 = !{!34, !10, i64 16}
!37 = !{!38, !38, i64 0}
!38 = !{!"float", !8, i64 0}
!39 = !{!40, !38, i64 0}
!40 = !{!"", !38, i64 0, !38, i64 4}
!41 = !{!40, !38, i64 4}
!42 = distinct !{!42, !24}
!43 = distinct !{!43, !24}
!44 = distinct !{!44, !24}
!45 = distinct !{!45, !24}
!46 = distinct !{!46, !24}
!47 = distinct !{!47, !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 [54 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___33 = external hidden global %struct.cilist, align 8
@MAIN__.io___34 = external hidden global %struct.cilist, align 8
@MAIN__.io___36 = 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___39 = 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___42 = external hidden global %struct.cilist, align 8
@MAIN__.io___43 = external hidden global %struct.cilist, align 8
@MAIN__.io___44 = external hidden global %struct.cilist, align 8
@MAIN__.io___46 = external hidden global %struct.cilist, align 8
@MAIN__.io___49 = external hidden global %struct.cilist, align 8
@MAIN__.io___51 = external hidden global %struct.cilist, align 8
@MAIN__.io___64 = external hidden global %struct.cilist, align 8
@MAIN__.io___65 = external hidden global %struct.cilist, align 8
@MAIN__.io___66 = external hidden global %struct.cilist, align 8
@MAIN__.io___67 = external hidden global %struct.cilist, align 8
@MAIN__.io___69 = external hidden global %struct.cilist, align 8
@MAIN__.io___70 = external hidden global %struct.cilist, align 8
@MAIN__.io___71 = 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___80 = 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
@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 = external hidden unnamed_addr constant [2 x i8], align 1
@c__65 = external hidden global i64, align 8
@.str.1 = external hidden unnamed_addr constant [6 x i8], align 1
@c__7 = external hidden global i64, align 8
@c__6 = external hidden global i64, align 8
@.str.2 = external hidden unnamed_addr constant [5 x i8], align 1
@c__2 = external hidden global i64, align 8
@.str.3 = external hidden unnamed_addr constant [1 x i8], align 1
@c_b87 = 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
@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 [130 x %struct.complex], align 16
  %8 = alloca [4225 x %struct.complex], align 16
  %9 = alloca [8450 x %struct.complex], align 16
  %10 = alloca [4225 x %struct.complex], align 16
  %11 = alloca [4225 x %struct.complex], align 16
  %12 = alloca [4225 x %struct.complex], align 16
  %13 = alloca [4225 x %struct.complex], align 16
  %14 = alloca [4225 x %struct.complex], align 16
  %15 = alloca [65 x %struct.complex], align 16
  %16 = alloca [7 x %struct.complex], align 16
  %17 = alloca [7 x %struct.complex], align 16
  %18 = alloca float, align 4
  %19 = alloca float, align 4
  %20 = alloca i64, align 8
  %21 = alloca [9 x i64], align 16
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca i64, align 8
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca [32 x i8], align 16
  %31 = alloca i64, align 8
  %32 = alloca [9 x i64], align 16
  %33 = alloca i64, align 8
  %34 = alloca [6 x i8], align 1
  %35 = alloca [1 x i8], align 1
  %36 = alloca [1 x i8], align 1
  %37 = alloca float, align 4
  %38 = alloca i64, align 8
  %39 = alloca i64, align 8
  %40 = alloca [32 x i8], align 16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %1) #4
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %2) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %4) #4
  call void @llvm.lifetime.start.p0(i64 260, ptr nonnull %5) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #4
  call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %7) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %8) #4
  call void @llvm.lifetime.start.p0(i64 67600, ptr nonnull %9) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %10) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %11) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %12) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %13) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %14) #4
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %15) #4
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %16) #4
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %17) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #4
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %21) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #4
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %32) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #4
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %34) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #4
  %41 = tail call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___2) #4
  %42 = call i64 @do_lio(ptr noundef nonnull @c__9, ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 32) #4
  %43 = call i64 @e_rsle() #4
  %44 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___4) #4
  %45 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %26, i64 noundef 8) #4
  %46 = call i64 @e_rsle() #4
  store i64 0, ptr %2, align 8, !tbaa !5
  %47 = load i64, ptr %26, align 8, !tbaa !11
  %48 = getelementptr inbounds i8, ptr %2, i64 8
  store i64 %47, ptr %48, align 8, !tbaa !12
  %49 = getelementptr inbounds i8, ptr %2, i64 24
  store i64 32, ptr %49, align 8, !tbaa !13
  %50 = getelementptr inbounds i8, ptr %2, i64 16
  store ptr %40, ptr %50, align 8, !tbaa !14
  %51 = getelementptr inbounds i8, ptr %2, i64 32
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %51, i8 0, i64 40, i1 false)
  %52 = call i64 @f_open(ptr noundef nonnull %2) #4
  %53 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %53, ptr getelementptr inbounds (i8, ptr @infoc_, i64 8), align 8, !tbaa !15
  %54 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___6) #4
  %55 = call i64 @do_lio(ptr noundef nonnull @c__9, ptr noundef nonnull @c__1, ptr noundef nonnull %30, i64 noundef 32) #4
  %56 = call i64 @e_rsle() #4
  %57 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___8) #4
  %58 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %24, i64 noundef 8) #4
  %59 = call i64 @e_rsle() #4
  %60 = load i64, ptr %24, align 8, !tbaa !11
  %61 = icmp sgt i64 %60, -1
  %62 = zext i1 %61 to i64
  store i64 %62, ptr %28, align 8, !tbaa !11
  %.8151.sroa.gep = getelementptr inbounds i8, ptr %32, i64 72
  %.8151.sroa.gep228 = getelementptr inbounds i8, ptr %32, i64 8
  %.8151.sroa.gep229 = getelementptr inbounds i8, ptr %32, i64 16
  %.8151.sroa.gep230 = getelementptr inbounds i8, ptr %32, i64 24
  %.8151.sroa.gep231 = getelementptr inbounds i8, ptr %32, i64 32
  %.8151.sroa.gep232 = getelementptr inbounds i8, ptr %32, i64 40
  %.8151.sroa.gep233 = getelementptr inbounds i8, ptr %32, i64 48
  %.8151.sroa.gep234 = getelementptr inbounds i8, ptr %32, i64 56
  %.8151.sroa.gep235 = getelementptr inbounds i8, ptr %32, i64 64
  br i1 %61, label %63, label %65

63:                                               ; preds = %0
  store i64 0, ptr %2, align 8, !tbaa !5
  store i64 %60, ptr %48, align 8, !tbaa !12
  store i64 32, ptr %49, align 8, !tbaa !13
  store ptr %30, ptr %50, align 8, !tbaa !14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %51, i8 0, i64 40, i1 false)
  %64 = call i64 @f_open(ptr noundef nonnull %2) #4
  br label %65

65:                                               ; preds = %63, %0
  %66 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___11) #4
  %67 = call i64 @do_lio(ptr noundef nonnull @c__8, ptr noundef nonnull @c__1, ptr noundef nonnull %25, i64 noundef 8) #4
  %68 = call i64 @e_rsle() #4
  %69 = load i64, ptr %25, align 8, !tbaa !11
  %70 = icmp ne i64 %69, 0
  %71 = and i1 %70, %61
  %72 = zext i1 %71 to i64
  store i64 %72, ptr %25, align 8, !tbaa !11
  %73 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___13) #4
  %74 = call i64 @do_lio(ptr noundef nonnull @c__8, ptr noundef nonnull @c__1, ptr noundef nonnull %33, i64 noundef 8) #4
  %75 = call i64 @e_rsle() #4
  %76 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___15) #4
  %77 = call i64 @do_lio(ptr noundef nonnull @c__8, ptr noundef nonnull @c__1, ptr noundef nonnull %39, i64 noundef 8) #4
  %78 = call i64 @e_rsle() #4
  %79 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___17) #4
  %80 = call i64 @do_lio(ptr noundef nonnull @c__4, ptr noundef nonnull @c__1, ptr noundef nonnull %37, i64 noundef 4) #4
  %81 = call i64 @e_rsle() #4
  %82 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___19) #4
  %83 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %29, i64 noundef 8) #4
  %84 = call i64 @e_rsle() #4
  %85 = load i64, ptr %29, align 8
  %86 = add i64 %85, -10
  %or.cond = icmp ult i64 %86, -9
  br i1 %or.cond, label %87, label %91

87:                                               ; preds = %65
  %88 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %88, ptr getelementptr inbounds (i8, ptr @MAIN__.io___21, i64 8), align 8, !tbaa !16
  %89 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___21) #4
  %90 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str, i64 noundef 1) #4
  br label %425

91:                                               ; preds = %65
  %92 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___22) #4
  %93 = load i64, ptr %29, align 8, !tbaa !11
  %.not152 = icmp slt i64 %93, 1
  br i1 %.not152, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %91, %.lr.ph
  %.0120153 = phi i64 [ %97, %.lr.ph ], [ 1, %91 ]
  %94 = add nsw i64 %.0120153, -1
  %95 = getelementptr inbounds [9 x i64], ptr %21, i64 0, i64 %94
  %96 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %95, i64 noundef 8) #4
  %97 = add nuw i64 %.0120153, 1
  %exitcond.not = icmp eq i64 %.0120153, %93
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !18

._crit_edge:                                      ; preds = %.lr.ph, %91
  %98 = call i64 @e_rsle() #4
  %99 = load i64, ptr %29, align 8, !tbaa !11
  %.not125154 = icmp slt i64 %99, 1
  br i1 %.not125154, label %._crit_edge158, label %.lr.ph157

100:                                              ; preds = %.lr.ph157
  %101 = add nuw i64 %.1121155, 1
  %exitcond214.not = icmp eq i64 %.1121155, %99
  br i1 %exitcond214.not, label %._crit_edge158, label %.lr.ph157, !llvm.loop !20

.lr.ph157:                                        ; preds = %._crit_edge, %100
  %.1121155 = phi i64 [ %101, %100 ], [ 1, %._crit_edge ]
  %102 = add nsw i64 %.1121155, -1
  %103 = getelementptr inbounds [9 x i64], ptr %21, i64 0, i64 %102
  %104 = load i64, ptr %103, align 8, !tbaa !11
  %or.cond145 = icmp ugt i64 %104, 65
  br i1 %or.cond145, label %105, label %100

105:                                              ; preds = %.lr.ph157
  %106 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %106, ptr getelementptr inbounds (i8, ptr @MAIN__.io___25, i64 8), align 8, !tbaa !16
  %107 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___25) #4
  br label %425

._crit_edge158:                                   ; preds = %100, %._crit_edge
  %108 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___26) #4
  %109 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %20, i64 noundef 8) #4
  %110 = call i64 @e_rsle() #4
  %111 = load i64, ptr %20, align 8
  %112 = add i64 %111, -8
  %or.cond3 = icmp ult i64 %112, -7
  br i1 %or.cond3, label %113, label %117

113:                                              ; preds = %._crit_edge158
  %114 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %114, ptr getelementptr inbounds (i8, ptr @MAIN__.io___28, i64 8), align 8, !tbaa !16
  %115 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___28) #4
  %116 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.1, i64 noundef 5) #4
  br label %425

117:                                              ; preds = %._crit_edge158
  %118 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___29) #4
  %119 = load i64, ptr %20, align 8, !tbaa !11
  %.not126159 = icmp slt i64 %119, 1
  br i1 %.not126159, label %._crit_edge163, label %.lr.ph162

.lr.ph162:                                        ; preds = %117, %.lr.ph162
  %.2122160 = phi i64 [ %123, %.lr.ph162 ], [ 1, %117 ]
  %120 = add nsw i64 %.2122160, -1
  %121 = getelementptr inbounds [7 x %struct.complex], ptr %16, i64 0, i64 %120
  %122 = call i64 @do_lio(ptr noundef nonnull @c__6, ptr noundef nonnull @c__1, ptr noundef nonnull %121, i64 noundef 8) #4
  %123 = add nuw i64 %.2122160, 1
  %exitcond215.not = icmp eq i64 %.2122160, %119
  br i1 %exitcond215.not, label %._crit_edge163, label %.lr.ph162, !llvm.loop !21

._crit_edge163:                                   ; preds = %.lr.ph162, %117
  %124 = call i64 @e_rsle() #4
  %125 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___31) #4
  %126 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %23, i64 noundef 8) #4
  %127 = call i64 @e_rsle() #4
  %128 = load i64, ptr %23, align 8
  %129 = add i64 %128, -8
  %or.cond5 = icmp ult i64 %129, -7
  br i1 %or.cond5, label %130, label %134

130:                                              ; preds = %._crit_edge163
  %131 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %131, ptr getelementptr inbounds (i8, ptr @MAIN__.io___33, i64 8), align 8, !tbaa !16
  %132 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___33) #4
  %133 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.2, i64 noundef 4) #4
  br label %425

134:                                              ; preds = %._crit_edge163
  %135 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___34) #4
  %136 = load i64, ptr %23, align 8, !tbaa !11
  %.not127164 = icmp slt i64 %136, 1
  br i1 %.not127164, label %._crit_edge168, label %.lr.ph167

.lr.ph167:                                        ; preds = %134, %.lr.ph167
  %.3123165 = phi i64 [ %140, %.lr.ph167 ], [ 1, %134 ]
  %137 = add nsw i64 %.3123165, -1
  %138 = getelementptr inbounds [7 x %struct.complex], ptr %17, i64 0, i64 %137
  %139 = call i64 @do_lio(ptr noundef nonnull @c__6, ptr noundef nonnull @c__1, ptr noundef nonnull %138, i64 noundef 8) #4
  %140 = add nuw i64 %.3123165, 1
  %exitcond216.not = icmp eq i64 %.3123165, %136
  br i1 %exitcond216.not, label %._crit_edge168, label %.lr.ph167, !llvm.loop !22

._crit_edge168:                                   ; preds = %.lr.ph167, %134
  %141 = call i64 @e_rsle() #4
  %142 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %142, ptr getelementptr inbounds (i8, ptr @MAIN__.io___36, i64 8), align 8, !tbaa !16
  %143 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___36) #4
  %144 = call i64 @e_wsfe() #4
  %145 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %145, ptr getelementptr inbounds (i8, ptr @MAIN__.io___37, i64 8), align 8, !tbaa !16
  %146 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___37) #4
  %147 = load i64, ptr %29, align 8, !tbaa !11
  %.not128169 = icmp slt i64 %147, 1
  br i1 %.not128169, label %._crit_edge173, label %.lr.ph172

.lr.ph172:                                        ; preds = %._crit_edge168, %.lr.ph172
  %.4170 = phi i64 [ %151, %.lr.ph172 ], [ 1, %._crit_edge168 ]
  %148 = add nsw i64 %.4170, -1
  %149 = getelementptr inbounds [9 x i64], ptr %21, i64 0, i64 %148
  %150 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %149, i64 noundef 8) #4
  %151 = add nuw i64 %.4170, 1
  %exitcond217.not = icmp eq i64 %.4170, %147
  br i1 %exitcond217.not, label %._crit_edge173, label %.lr.ph172, !llvm.loop !23

._crit_edge173:                                   ; preds = %.lr.ph172, %._crit_edge168
  %152 = call i64 @e_wsfe() #4
  %153 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %153, ptr getelementptr inbounds (i8, ptr @MAIN__.io___38, i64 8), align 8, !tbaa !16
  %154 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___38) #4
  %155 = load i64, ptr %20, align 8, !tbaa !11
  %.not129174 = icmp slt i64 %155, 1
  br i1 %.not129174, label %._crit_edge178, label %.lr.ph177

.lr.ph177:                                        ; preds = %._crit_edge173, %.lr.ph177
  %.5175 = phi i64 [ %159, %.lr.ph177 ], [ 1, %._crit_edge173 ]
  %156 = add nsw i64 %.5175, -1
  %157 = getelementptr inbounds [7 x %struct.complex], ptr %16, i64 0, i64 %156
  %158 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %157, i64 noundef 4) #4
  %159 = add nuw i64 %.5175, 1
  %exitcond218.not = icmp eq i64 %.5175, %155
  br i1 %exitcond218.not, label %._crit_edge178, label %.lr.ph177, !llvm.loop !24

._crit_edge178:                                   ; preds = %.lr.ph177, %._crit_edge173
  %160 = call i64 @e_wsfe() #4
  %161 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %161, ptr getelementptr inbounds (i8, ptr @MAIN__.io___39, i64 8), align 8, !tbaa !16
  %162 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___39) #4
  %163 = load i64, ptr %23, align 8, !tbaa !11
  %.not130179 = icmp slt i64 %163, 1
  br i1 %.not130179, label %._crit_edge183, label %.lr.ph182

.lr.ph182:                                        ; preds = %._crit_edge178, %.lr.ph182
  %.6180 = phi i64 [ %167, %.lr.ph182 ], [ 1, %._crit_edge178 ]
  %164 = add nsw i64 %.6180, -1
  %165 = getelementptr inbounds [7 x %struct.complex], ptr %17, i64 0, i64 %164
  %166 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %165, i64 noundef 4) #4
  %167 = add nuw i64 %.6180, 1
  %exitcond219.not = icmp eq i64 %.6180, %163
  br i1 %exitcond219.not, label %._crit_edge183, label %.lr.ph182, !llvm.loop !25

._crit_edge183:                                   ; preds = %.lr.ph182, %._crit_edge178
  %168 = call i64 @e_wsfe() #4
  %169 = load i64, ptr %39, align 8, !tbaa !11
  %.not131 = icmp eq i64 %169, 0
  br i1 %.not131, label %170, label %.preheader149

170:                                              ; preds = %._crit_edge183
  %171 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %171, ptr getelementptr inbounds (i8, ptr @MAIN__.io___40, i64 8), align 8, !tbaa !16
  %172 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___40) #4
  %173 = call i64 @e_wsle() #4
  %174 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %174, ptr getelementptr inbounds (i8, ptr @MAIN__.io___41, i64 8), align 8, !tbaa !16
  %175 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___41) #4
  %176 = call i64 @e_wsfe() #4
  br label %.preheader149

.preheader149:                                    ; preds = %170, %._crit_edge183
  %177 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %177, ptr getelementptr inbounds (i8, ptr @MAIN__.io___42, i64 8), align 8, !tbaa !16
  %178 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___42) #4
  %179 = call i64 @e_wsle() #4
  %180 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %180, ptr getelementptr inbounds (i8, ptr @MAIN__.io___43, i64 8), align 8, !tbaa !16
  %181 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___43) #4
  %182 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %37, i64 noundef 4) #4
  %183 = call i64 @e_wsfe() #4
  %184 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %184, ptr getelementptr inbounds (i8, ptr @MAIN__.io___44, i64 8), align 8, !tbaa !16
  %185 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___44) #4
  %186 = call i64 @e_wsle() #4
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(72) %32, i8 0, i64 72, i1 false), !tbaa !11
  %187 = call i64 @s_rsfe(ptr noundef nonnull @MAIN__.io___46) #4
  %.not132186 = icmp eq i64 %187, 0
  br i1 %.not132186, label %.lr.ph187, label %._crit_edge188

.lr.ph187:                                        ; preds = %.preheader149, %.loopexit
  %188 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %34, i64 noundef 6) #4
  %.not133 = icmp eq i64 %188, 0
  br i1 %.not133, label %189, label %._crit_edge188

189:                                              ; preds = %.lr.ph187
  %190 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %38, i64 noundef 8) #4
  %.not134 = icmp eq i64 %190, 0
  br i1 %.not134, label %191, label %._crit_edge188

191:                                              ; preds = %189
  %192 = call i64 @e_rsfe() #4
  %.not135 = icmp eq i64 %192, 0
  br i1 %.not135, label %.preheader148.preheader, label %._crit_edge188

.preheader148.preheader:                          ; preds = %191
  %193 = call i64 @s_cmp(ptr noundef nonnull %34, ptr noundef nonnull @MAIN__.snames, i64 noundef 6, i64 noundef 6) #4
  %194 = icmp eq i64 %193, 0
  br i1 %194, label %.loopexit, label %.preheader148.1

.preheader148.1:                                  ; preds = %.preheader148.preheader
  %195 = call i64 @s_cmp(ptr noundef nonnull %34, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 6), i64 noundef 6, i64 noundef 6) #4
  %196 = icmp eq i64 %195, 0
  br i1 %196, label %.loopexit, label %.preheader148.2

.preheader148.2:                                  ; preds = %.preheader148.1
  %197 = call i64 @s_cmp(ptr noundef nonnull %34, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 12), i64 noundef 6, i64 noundef 6) #4
  %198 = icmp eq i64 %197, 0
  br i1 %198, label %.loopexit, label %.preheader148.3

.preheader148.3:                                  ; preds = %.preheader148.2
  %199 = call i64 @s_cmp(ptr noundef nonnull %34, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 18), i64 noundef 6, i64 noundef 6) #4
  %200 = icmp eq i64 %199, 0
  br i1 %200, label %.loopexit, label %.preheader148.4

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

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

.preheader148.6:                                  ; preds = %.preheader148.5
  %205 = call i64 @s_cmp(ptr noundef nonnull %34, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 36), i64 noundef 6, i64 noundef 6) #4
  %206 = icmp eq i64 %205, 0
  br i1 %206, label %.loopexit, label %.preheader148.7

.preheader148.7:                                  ; preds = %.preheader148.6
  %207 = call i64 @s_cmp(ptr noundef nonnull %34, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 42), i64 noundef 6, i64 noundef 6) #4
  %208 = icmp eq i64 %207, 0
  br i1 %208, label %.loopexit, label %.preheader148.8

.preheader148.8:                                  ; preds = %.preheader148.7
  %209 = call i64 @s_cmp(ptr noundef nonnull %34, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 48), i64 noundef 6, i64 noundef 6) #4
  %210 = icmp eq i64 %209, 0
  br i1 %210, label %.loopexit, label %211

211:                                              ; preds = %.preheader148.8
  %212 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %212, ptr getelementptr inbounds (i8, ptr @MAIN__.io___49, i64 8), align 8, !tbaa !16
  %213 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___49) #4
  %214 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %34, i64 noundef 6) #4
  %215 = call i64 @e_wsfe() #4
  %216 = call i32 @s_stop(ptr noundef nonnull @.str.3, i64 noundef 0) #4
  br label %.loopexit

.loopexit:                                        ; preds = %.preheader148.preheader, %.preheader148.1, %.preheader148.2, %.preheader148.3, %.preheader148.4, %.preheader148.5, %.preheader148.6, %.preheader148.7, %.preheader148.8, %211
  %.8151.sroa.phi = phi ptr [ %.8151.sroa.gep, %211 ], [ %32, %.preheader148.preheader ], [ %.8151.sroa.gep228, %.preheader148.1 ], [ %.8151.sroa.gep229, %.preheader148.2 ], [ %.8151.sroa.gep230, %.preheader148.3 ], [ %.8151.sroa.gep231, %.preheader148.4 ], [ %.8151.sroa.gep232, %.preheader148.5 ], [ %.8151.sroa.gep233, %.preheader148.6 ], [ %.8151.sroa.gep234, %.preheader148.7 ], [ %.8151.sroa.gep235, %.preheader148.8 ]
  %217 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %217, ptr %.8151.sroa.phi, align 8, !tbaa !11
  %218 = call i64 @s_rsfe(ptr noundef nonnull @MAIN__.io___46) #4
  %.not132 = icmp eq i64 %218, 0
  br i1 %.not132, label %.lr.ph187, label %._crit_edge188

._crit_edge188:                                   ; preds = %.loopexit, %.lr.ph187, %189, %191, %.preheader149
  store i64 0, ptr %3, align 8, !tbaa !26
  %219 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 5, ptr %219, align 8, !tbaa !28
  %220 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %220, align 8, !tbaa !29
  %221 = call i64 @f_clos(ptr noundef nonnull %3) #4
  store float 1.000000e+00, ptr %18, align 4, !tbaa !30
  store float 2.000000e+00, ptr %1, align 4, !tbaa !30
  %222 = call double @sdiff_(ptr noundef nonnull %1, ptr noundef nonnull @c_b87)
  %223 = fcmp oeq double %222, 0.000000e+00
  br i1 %223, label %._crit_edge194, label %.lr.ph193

.lr.ph193:                                        ; preds = %._crit_edge188, %.lr.ph193
  %224 = load float, ptr %18, align 4, !tbaa !30
  %225 = fmul float %224, 5.000000e-01
  store float %225, ptr %18, align 4, !tbaa !30
  %226 = fadd float %225, 1.000000e+00
  store float %226, ptr %1, align 4, !tbaa !30
  %227 = call double @sdiff_(ptr noundef nonnull %1, ptr noundef nonnull @c_b87)
  %228 = fcmp oeq double %227, 0.000000e+00
  br i1 %228, label %._crit_edge194, label %.lr.ph193

._crit_edge194:                                   ; preds = %.lr.ph193, %._crit_edge188
  %229 = load float, ptr %18, align 4, !tbaa !30
  %230 = fadd float %229, %229
  store float %230, ptr %18, align 4, !tbaa !30
  %231 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %231, ptr getelementptr inbounds (i8, ptr @MAIN__.io___51, i64 8), align 8, !tbaa !16
  %232 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___51) #4
  %233 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %18, i64 noundef 4) #4
  %234 = call i64 @e_wsfe() #4
  store i64 32, ptr %6, align 8, !tbaa !11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(256) %4, i8 0, i64 256, i1 false), !tbaa !30
  br label %.preheader147

.preheader147:                                    ; preds = %._crit_edge194, %middle.block
  %.0196 = phi i64 [ 1, %._crit_edge194 ], [ %252, %middle.block ]
  %235 = mul nuw nsw i64 %.0196, 65
  %236 = add nsw i64 %235, -66
  %broadcast.splatinsert = insertelement <2 x i64> poison, i64 %.0196, 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, %.preheader147
  %index = phi i64 [ 0, %.preheader147 ], [ %index.next, %vector.body ]
  %vec.ind = phi <2 x i64> [ <i64 1, i64 2>, %.preheader147 ], [ %vec.ind.next, %vector.body ]
  %offset.idx = or disjoint i64 %index, 1
  %237 = add nsw i64 %236, %offset.idx
  %238 = sub nsw <2 x i64> %vec.ind, %broadcast.splat
  %239 = add nsw <2 x i64> %238, <i64 1, i64 1>
  %240 = icmp sgt <2 x i64> %238, <i64 -2, i64 -2>
  %241 = select <2 x i1> %240, <2 x i64> %239, <2 x i64> zeroinitializer
  %242 = sitofp <2 x i64> %241 to <2 x float>
  %243 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %237
  %interleaved.vec = shufflevector <2 x float> %242, <2 x float> zeroinitializer, <4 x i32> <i32 0, i32 2, i32 1, i32 3>
  store <4 x float> %interleaved.vec, ptr %243, align 8, !tbaa !30
  %index.next = add nuw i64 %index, 2
  %vec.ind.next = add <2 x i64> %vec.ind, <i64 2, i64 2>
  %244 = icmp eq i64 %index.next, 32
  br i1 %244, label %middle.block, label %vector.body, !llvm.loop !32

middle.block:                                     ; preds = %vector.body
  %245 = or disjoint i64 %.0196, 4224
  %246 = uitofp nneg i64 %.0196 to float
  %247 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %245
  store float %246, ptr %247, align 8, !tbaa !35
  %248 = getelementptr inbounds i8, ptr %247, i64 4
  store float 0.000000e+00, ptr %248, align 4, !tbaa !37
  %249 = add nuw nsw i64 %235, 4160
  %250 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %249
  store float %246, ptr %250, align 8, !tbaa !35
  %251 = getelementptr inbounds i8, ptr %250, i64 4
  store float 0.000000e+00, ptr %251, align 4, !tbaa !37
  %252 = add nuw nsw i64 %.0196, 1
  %exitcond222.not = icmp eq i64 %252, 33
  br i1 %exitcond222.not, label %.preheader146, label %.preheader147, !llvm.loop !38

.preheader146:                                    ; preds = %middle.block, %.preheader146
  %.1197 = phi i64 [ %254, %.preheader146 ], [ 1, %middle.block ]
  %253 = add nsw i64 %.1197, -1
  %254 = add nuw nsw i64 %.1197, 1
  %255 = mul nuw nsw i64 %254, %.1197
  %256 = mul nuw nsw i64 %255, %.1197
  %257 = lshr i64 %256, 1
  %258 = mul nsw i64 %255, %253
  %.neg142 = sdiv i64 %258, -3
  %259 = add nsw i64 %.neg142, %257
  %260 = sitofp i64 %259 to float
  %261 = getelementptr inbounds [4225 x %struct.complex], ptr %11, i64 0, i64 %253
  store float %260, ptr %261, align 8, !tbaa !35
  %262 = getelementptr inbounds i8, ptr %261, i64 4
  store float 0.000000e+00, ptr %262, align 4, !tbaa !37
  %exitcond223 = icmp eq i64 %254, 33
  br i1 %exitcond223, label %263, label %.preheader146, !llvm.loop !39

263:                                              ; preds = %.preheader146
  store i8 78, ptr %35, align 1, !tbaa !15
  store i8 78, ptr %36, align 1, !tbaa !15
  %264 = getelementptr inbounds i8, ptr %9, i64 33800
  %265 = call i32 @cmmch_(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull @c__1, ptr noundef nonnull %6, ptr noundef nonnull @c_b2, ptr noundef nonnull %9, ptr noundef nonnull @c__65, ptr noundef nonnull %264, ptr noundef nonnull @c__65, ptr noundef nonnull @c_b1, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %11, ptr noundef nonnull @c__65, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %27, ptr noundef nonnull %26, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  %266 = call i64 @lce_(ptr noundef nonnull %11, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %266, ptr %22, align 8, !tbaa !11
  %267 = icmp eq i64 %266, 0
  %268 = load float, ptr %19, align 4
  %269 = fcmp une float %268, 0.000000e+00
  %or.cond7 = select i1 %267, i1 true, i1 %269
  br i1 %or.cond7, label %270, label %279

270:                                              ; preds = %263
  %271 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %271, ptr getelementptr inbounds (i8, ptr @MAIN__.io___64, i64 8), align 8, !tbaa !16
  %272 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___64) #4
  %273 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 1) #4
  %274 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #4
  %275 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #4
  %276 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %19, i64 noundef 4) #4
  %277 = call i64 @e_wsfe() #4
  %278 = call i32 @s_stop(ptr noundef nonnull @.str.3, i64 noundef 0) #4
  br label %279

279:                                              ; preds = %263, %270
  store i8 67, ptr %36, align 1, !tbaa !15
  %280 = call i32 @cmmch_(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull @c__1, ptr noundef nonnull %6, ptr noundef nonnull @c_b2, ptr noundef nonnull %9, ptr noundef nonnull @c__65, ptr noundef nonnull %264, ptr noundef nonnull @c__65, ptr noundef nonnull @c_b1, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %11, ptr noundef nonnull @c__65, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %27, ptr noundef nonnull %26, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  %281 = call i64 @lce_(ptr noundef nonnull %11, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %281, ptr %22, align 8, !tbaa !11
  %282 = icmp eq i64 %281, 0
  %283 = load float, ptr %19, align 4
  %284 = fcmp une float %283, 0.000000e+00
  %or.cond9 = select i1 %282, i1 true, i1 %284
  br i1 %or.cond9, label %285, label %294

285:                                              ; preds = %279
  %286 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %286, ptr getelementptr inbounds (i8, ptr @MAIN__.io___65, i64 8), align 8, !tbaa !16
  %287 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___65) #4
  %288 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 1) #4
  %289 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #4
  %290 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #4
  %291 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %19, i64 noundef 4) #4
  %292 = call i64 @e_wsfe() #4
  %293 = call i32 @s_stop(ptr noundef nonnull @.str.3, i64 noundef 0) #4
  br label %294

294:                                              ; preds = %279, %285
  %295 = load i64, ptr %6, align 8, !tbaa !11
  %.not137198 = icmp slt i64 %295, 1
  br i1 %.not137198, label %._crit_edge205, label %.lr.ph201

.lr.ph201:                                        ; preds = %294
  %296 = add nuw i64 %295, 1
  %xtraiter = and i64 %295, 1
  %297 = icmp eq i64 %295, 1
  br i1 %297, label %.preheader.unr-lcssa, label %.lr.ph201.new

.lr.ph201.new:                                    ; preds = %.lr.ph201
  %unroll_iter = and i64 %295, 9223372036854775806
  br label %307

.preheader.unr-lcssa:                             ; preds = %307, %.lr.ph201
  %.2199.unr = phi i64 [ 1, %.lr.ph201 ], [ %326, %307 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.preheader, label %.preheader.epilog-lcssa

.preheader.epilog-lcssa:                          ; preds = %.preheader.unr-lcssa
  %298 = add nuw nsw i64 %.2199.unr, 4224
  %299 = sub i64 %296, %.2199.unr
  %300 = sitofp i64 %299 to float
  %301 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %298
  store float %300, ptr %301, align 8, !tbaa !35
  %302 = getelementptr inbounds i8, ptr %301, i64 4
  store float 0.000000e+00, ptr %302, align 4, !tbaa !37
  %303 = mul i64 %.2199.unr, 65
  %304 = add i64 %303, 4160
  %305 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %304
  store float %300, ptr %305, align 8, !tbaa !35
  %306 = getelementptr inbounds i8, ptr %305, i64 4
  store float 0.000000e+00, ptr %306, align 4, !tbaa !37
  br label %.preheader

.preheader:                                       ; preds = %.preheader.unr-lcssa, %.preheader.epilog-lcssa
  br i1 %.not137198, label %._crit_edge205, label %.lr.ph204

307:                                              ; preds = %307, %.lr.ph201.new
  %.2199 = phi i64 [ 1, %.lr.ph201.new ], [ %326, %307 ]
  %niter = phi i64 [ 0, %.lr.ph201.new ], [ %niter.next.1, %307 ]
  %308 = add nuw nsw i64 %.2199, 4224
  %309 = sub i64 %296, %.2199
  %310 = sitofp i64 %309 to float
  %311 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %308
  store float %310, ptr %311, align 8, !tbaa !35
  %312 = getelementptr inbounds i8, ptr %311, i64 4
  store float 0.000000e+00, ptr %312, align 4, !tbaa !37
  %313 = mul i64 %.2199, 65
  %314 = add i64 %313, 4160
  %315 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %314
  store float %310, ptr %315, align 8, !tbaa !35
  %316 = getelementptr inbounds i8, ptr %315, i64 4
  store float 0.000000e+00, ptr %316, align 4, !tbaa !37
  %317 = add nuw i64 %.2199, 4225
  %318 = sub i64 %295, %.2199
  %319 = sitofp i64 %318 to float
  %320 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %317
  store float %319, ptr %320, align 8, !tbaa !35
  %321 = getelementptr inbounds i8, ptr %320, i64 4
  store float 0.000000e+00, ptr %321, align 4, !tbaa !37
  %322 = mul i64 %.2199, 65
  %323 = add i64 %322, 4225
  %324 = getelementptr inbounds [8450 x %struct.complex], ptr %9, i64 0, i64 %323
  store float %319, ptr %324, align 8, !tbaa !35
  %325 = getelementptr inbounds i8, ptr %324, i64 4
  store float 0.000000e+00, ptr %325, align 4, !tbaa !37
  %326 = add nuw i64 %.2199, 2
  %niter.next.1 = add nuw i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %.preheader.unr-lcssa, label %307, !llvm.loop !40

.lr.ph204:                                        ; preds = %.preheader, %.lr.ph204
  %.3203 = phi i64 [ %328, %.lr.ph204 ], [ 1, %.preheader ]
  %327 = sub nsw i64 %295, %.3203
  %328 = add nuw i64 %.3203, 1
  %329 = mul nuw nsw i64 %328, %.3203
  %330 = mul nuw nsw i64 %329, %.3203
  %331 = lshr i64 %330, 1
  %332 = add nsw i64 %.3203, -1
  %333 = mul nsw i64 %329, %332
  %.neg = sdiv i64 %333, -3
  %334 = add nsw i64 %.neg, %331
  %335 = sitofp i64 %334 to float
  %336 = getelementptr inbounds [4225 x %struct.complex], ptr %11, i64 0, i64 %327
  store float %335, ptr %336, align 8, !tbaa !35
  %337 = getelementptr inbounds i8, ptr %336, i64 4
  store float 0.000000e+00, ptr %337, align 4, !tbaa !37
  %exitcond225.not = icmp eq i64 %.3203, %295
  br i1 %exitcond225.not, label %._crit_edge205, label %.lr.ph204, !llvm.loop !41

._crit_edge205:                                   ; preds = %.lr.ph204, %294, %.preheader
  store i8 67, ptr %35, align 1, !tbaa !15
  store i8 78, ptr %36, align 1, !tbaa !15
  %338 = call i32 @cmmch_(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull @c__1, ptr noundef nonnull %6, ptr noundef nonnull @c_b2, ptr noundef nonnull %9, ptr noundef nonnull @c__65, ptr noundef nonnull %264, ptr noundef nonnull @c__65, ptr noundef nonnull @c_b1, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %11, ptr noundef nonnull @c__65, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %27, ptr noundef nonnull %26, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  %339 = call i64 @lce_(ptr noundef nonnull %11, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %339, ptr %22, align 8, !tbaa !11
  %340 = icmp eq i64 %339, 0
  %341 = load float, ptr %19, align 4
  %342 = fcmp une float %341, 0.000000e+00
  %or.cond11 = select i1 %340, i1 true, i1 %342
  br i1 %or.cond11, label %343, label %352

343:                                              ; preds = %._crit_edge205
  %344 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %344, ptr getelementptr inbounds (i8, ptr @MAIN__.io___66, i64 8), align 8, !tbaa !16
  %345 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___66) #4
  %346 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 1) #4
  %347 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #4
  %348 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #4
  %349 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %19, i64 noundef 4) #4
  %350 = call i64 @e_wsfe() #4
  %351 = call i32 @s_stop(ptr noundef nonnull @.str.3, i64 noundef 0) #4
  br label %352

352:                                              ; preds = %._crit_edge205, %343
  store i8 67, ptr %36, align 1, !tbaa !15
  %353 = call i32 @cmmch_(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull @c__1, ptr noundef nonnull %6, ptr noundef nonnull @c_b2, ptr noundef nonnull %9, ptr noundef nonnull @c__65, ptr noundef nonnull %264, ptr noundef nonnull @c__65, ptr noundef nonnull @c_b1, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %11, ptr noundef nonnull @c__65, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %27, ptr noundef nonnull %26, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  %354 = call i64 @lce_(ptr noundef nonnull %11, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %354, ptr %22, align 8, !tbaa !11
  %355 = icmp eq i64 %354, 0
  %356 = load float, ptr %19, align 4
  %357 = fcmp une float %356, 0.000000e+00
  %or.cond13 = select i1 %355, i1 true, i1 %357
  br i1 %or.cond13, label %358, label %367

358:                                              ; preds = %352
  %359 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %359, ptr getelementptr inbounds (i8, ptr @MAIN__.io___67, i64 8), align 8, !tbaa !16
  %360 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___67) #4
  %361 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 1) #4
  %362 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #4
  %363 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #4
  %364 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %19, i64 noundef 4) #4
  %365 = call i64 @e_wsfe() #4
  %366 = call i32 @s_stop(ptr noundef nonnull @.str.3, i64 noundef 0) #4
  br label %367

367:                                              ; preds = %352, %358
  store i64 1, ptr %31, align 8, !tbaa !11
  br label %368

368:                                              ; preds = %367, %417
  %369 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %369, ptr getelementptr inbounds (i8, ptr @MAIN__.io___69, i64 8), align 8, !tbaa !16
  %370 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___69) #4
  %371 = call i64 @e_wsle() #4
  %372 = load i64, ptr %31, align 8, !tbaa !11
  %373 = add nsw i64 %372, -1
  %374 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 %373
  %375 = load i64, ptr %374, align 8, !tbaa !11
  %.not140 = icmp eq i64 %375, 0
  br i1 %.not140, label %376, label %383

376:                                              ; preds = %368
  %377 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %377, ptr getelementptr inbounds (i8, ptr @MAIN__.io___70, i64 8), align 8, !tbaa !16
  %378 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___70) #4
  %379 = load i64, ptr %31, align 8, !tbaa !11
  %380 = mul i64 %379, 6
  %gep212 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %380
  %381 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %gep212, i64 noundef 6) #4
  %382 = call i64 @e_wsfe() #4
  br label %417

383:                                              ; preds = %368
  %384 = mul nsw i64 %373, 6
  %385 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %384
  %386 = call i32 @s_copy(ptr noundef nonnull @srnamc_, ptr noundef nonnull %385, i64 noundef 6, i64 noundef 6) #4
  %387 = load i64, ptr %39, align 8, !tbaa !11
  %.not141 = icmp eq i64 %387, 0
  br i1 %.not141, label %395, label %388

388:                                              ; preds = %383
  %389 = load i64, ptr %31, align 8, !tbaa !11
  %390 = mul i64 %389, 6
  %gep206 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %390
  %391 = call i32 @cchke_(ptr noundef nonnull %31, ptr noundef %gep206, ptr noundef nonnull %26, i64 noundef 6)
  %392 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %392, ptr getelementptr inbounds (i8, ptr @MAIN__.io___71, i64 8), align 8, !tbaa !16
  %393 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___71) #4
  %394 = call i64 @e_wsle() #4
  br label %395

395:                                              ; preds = %388, %383
  store i64 0, ptr @infoc_, align 8, !tbaa !15
  store i64 1, ptr getelementptr inbounds (i8, ptr @infoc_, i64 16), align 8, !tbaa !15
  store i64 0, ptr %27, align 8, !tbaa !11
  %396 = load i64, ptr %31, align 8, !tbaa !11
  switch i64 %396, label %397 [
    i64 9, label %409
    i64 2, label %400
    i64 3, label %400
    i64 4, label %403
    i64 5, label %403
    i64 6, label %406
    i64 7, label %406
    i64 8, label %409
  ]

397:                                              ; preds = %395
  %398 = mul i64 %396, 6
  %gep211 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %398
  %399 = call i32 @cchk1_(ptr noundef %gep211, ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %264, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %4, ptr noundef nonnull %11, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %412

400:                                              ; preds = %395, %395
  %401 = mul nuw nsw i64 %396, 6
  %gep209 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %401
  %402 = call i32 @cchk2_(ptr noundef %gep209, ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %264, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %4, ptr noundef nonnull %11, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %412

403:                                              ; preds = %395, %395
  %404 = mul nuw nsw i64 %396, 6
  %gep208 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %404
  %405 = call i32 @cchk3_(ptr noundef %gep208, ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %264, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %4, i64 noundef 6)
  br label %412

406:                                              ; preds = %395, %395
  %407 = mul nuw nsw i64 %396, 6
  %gep207 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %407
  %408 = call i32 @cchk4_(ptr noundef %gep207, ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %264, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %4, ptr noundef nonnull %11, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %412

409:                                              ; preds = %395, %395
  %410 = mul nuw nsw i64 %396, 6
  %gep210 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %410
  %411 = call i32 @cchk5_(ptr noundef %gep210, ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %4, ptr noundef nonnull %11, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %7, i64 noundef 6)
  br label %412

412:                                              ; preds = %409, %406, %403, %400, %397
  %413 = load i64, ptr %27, align 8, !tbaa !11
  %414 = icmp ne i64 %413, 0
  %415 = load i64, ptr %33, align 8
  %416 = icmp ne i64 %415, 0
  %or.cond15 = select i1 %414, i1 %416, i1 false
  br i1 %or.cond15, label %423, label %417

417:                                              ; preds = %376, %412
  %418 = load i64, ptr %31, align 8, !tbaa !11
  %419 = add nsw i64 %418, 1
  store i64 %419, ptr %31, align 8, !tbaa !11
  %420 = icmp slt i64 %418, 9
  br i1 %420, label %368, label %421, !llvm.loop !42

421:                                              ; preds = %417
  %422 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %422, ptr getelementptr inbounds (i8, ptr @MAIN__.io___78, i64 8), align 8, !tbaa !16
  br label %429

423:                                              ; preds = %412
  %424 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %424, ptr getelementptr inbounds (i8, ptr @MAIN__.io___79, i64 8), align 8, !tbaa !16
  br label %429

425:                                              ; preds = %130, %113, %105, %87
  %c__7.sink = phi ptr [ @c__7, %130 ], [ @c__7, %113 ], [ @c__65, %105 ], [ @c__9, %87 ]
  %426 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %c__7.sink, i64 noundef 8) #4
  %427 = call i64 @e_wsfe() #4
  %428 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %428, ptr getelementptr inbounds (i8, ptr @MAIN__.io___80, i64 8), align 8, !tbaa !16
  br label %429

429:                                              ; preds = %425, %423, %421
  %MAIN__.io___80.sink = phi ptr [ @MAIN__.io___80, %425 ], [ @MAIN__.io___79, %423 ], [ @MAIN__.io___78, %421 ]
  %430 = call i64 @s_wsfe(ptr noundef nonnull %MAIN__.io___80.sink) #4
  %431 = call i64 @e_wsfe() #4
  %432 = load i64, ptr %28, align 8, !tbaa !11
  %.not144 = icmp eq i64 %432, 0
  br i1 %.not144, label %438, label %433

433:                                              ; preds = %429
  store i64 0, ptr %3, align 8, !tbaa !26
  %434 = load i64, ptr %24, align 8, !tbaa !11
  %435 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 %434, ptr %435, align 8, !tbaa !28
  %436 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %436, align 8, !tbaa !29
  %437 = call i64 @f_clos(ptr noundef nonnull %3) #4
  br label %438

438:                                              ; preds = %433, %429
  store i64 0, ptr %3, align 8, !tbaa !26
  %439 = load i64, ptr %26, align 8, !tbaa !11
  %440 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 %439, ptr %440, align 8, !tbaa !28
  %441 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %441, align 8, !tbaa !29
  %442 = call i64 @f_clos(ptr noundef nonnull %3) #4
  %443 = call i32 @s_stop(ptr noundef nonnull @.str.3, i64 noundef 0) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #4
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %34) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #4
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %32) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #4
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %21) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #4
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %17) #4
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %16) #4
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %15) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %14) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %13) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %12) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %11) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %10) #4
  call void @llvm.lifetime.end.p0(i64 67600, ptr nonnull %9) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %8) #4
  call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %7) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #4
  call void @llvm.lifetime.end.p0(i64 260, ptr nonnull %5) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %4) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #4
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %2) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #4
  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 @cmmch_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef) 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, 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, 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, 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, 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, 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 nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !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 = !{!8, !8, i64 0}
!16 = !{!17, !7, i64 8}
!17 = !{!"", !7, i64 0, !7, i64 8, !7, i64 16, !10, i64 24, !7, i64 32}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = distinct !{!20, !19}
!21 = distinct !{!21, !19}
!22 = distinct !{!22, !19}
!23 = distinct !{!23, !19}
!24 = distinct !{!24, !19}
!25 = distinct !{!25, !19}
!26 = !{!27, !7, i64 0}
!27 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16}
!28 = !{!27, !7, i64 8}
!29 = !{!27, !10, i64 16}
!30 = !{!31, !31, i64 0}
!31 = !{!"float", !8, i64 0}
!32 = distinct !{!32, !19, !33, !34}
!33 = !{!"llvm.loop.isvectorized", i32 1}
!34 = !{!"llvm.loop.unroll.runtime.disable"}
!35 = !{!36, !31, i64 0}
!36 = !{!"", !31, i64 0, !31, i64 4}
!37 = !{!36, !31, i64 4}
!38 = distinct !{!38, !19}
!39 = distinct !{!39, !19}
!40 = distinct !{!40, !19}
!41 = distinct !{!41, !19}
!42 = distinct !{!42, !19}


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