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

; 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.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 [96 x i8], align 16
@MAIN__.io___2 = external hidden global %struct.cilist, align 8
@MAIN__.io___4 = external hidden global %struct.cilist, align 8
@MAIN__.io___6 = external hidden global %struct.cilist, align 8
@MAIN__.io___8 = external hidden global %struct.cilist, align 8
@MAIN__.io___11 = external hidden global %struct.cilist, align 8
@MAIN__.io___13 = external hidden global %struct.cilist, align 8
@MAIN__.io___15 = external hidden global %struct.cilist, align 8
@MAIN__.io___17 = external hidden global %struct.cilist, align 8
@MAIN__.io___19 = external hidden global %struct.cilist, align 8
@MAIN__.io___21 = external hidden global %struct.cilist, align 8
@MAIN__.io___22 = external hidden global %struct.cilist, align 8
@MAIN__.io___25 = external hidden global %struct.cilist, align 8
@MAIN__.io___26 = external hidden global %struct.cilist, align 8
@MAIN__.io___28 = external hidden global %struct.cilist, align 8
@MAIN__.io___29 = external hidden global %struct.cilist, align 8
@MAIN__.io___31 = external hidden global %struct.cilist, align 8
@MAIN__.io___32 = external hidden global %struct.cilist, align 8
@MAIN__.io___34 = external hidden global %struct.cilist, align 8
@MAIN__.io___35 = external hidden global %struct.cilist, align 8
@MAIN__.io___37 = external hidden global %struct.cilist, align 8
@MAIN__.io___38 = external hidden global %struct.cilist, align 8
@MAIN__.io___40 = external hidden global %struct.cilist, align 8
@MAIN__.io___41 = external hidden global %struct.cilist, align 8
@MAIN__.io___43 = external hidden global %struct.cilist, align 8
@MAIN__.io___45 = external hidden global %struct.cilist, align 8
@MAIN__.io___46 = external hidden global %struct.cilist, align 8
@MAIN__.io___48 = external hidden global %struct.cilist, align 8
@MAIN__.io___49 = external hidden global %struct.cilist, align 8
@MAIN__.io___50 = external hidden global %struct.cilist, align 8
@MAIN__.io___51 = external hidden global %struct.cilist, align 8
@MAIN__.io___52 = external hidden global %struct.cilist, align 8
@MAIN__.io___53 = external hidden global %struct.cilist, align 8
@MAIN__.io___54 = external hidden global %struct.cilist, align 8
@MAIN__.io___55 = external hidden global %struct.cilist, align 8
@MAIN__.io___56 = external hidden global %struct.cilist, align 8
@MAIN__.io___57 = external hidden global %struct.cilist, align 8
@MAIN__.io___58 = external hidden global %struct.cilist, align 8
@MAIN__.io___60 = external hidden global %struct.cilist, align 8
@MAIN__.io___63 = external hidden global %struct.cilist, align 8
@MAIN__.io___65 = external hidden global %struct.cilist, align 8
@MAIN__.io___78 = external hidden global %struct.cilist, align 8
@MAIN__.io___79 = external hidden global %struct.cilist, align 8
@MAIN__.io___81 = external hidden global %struct.cilist, align 8
@MAIN__.io___82 = external hidden global %struct.cilist, align 8
@MAIN__.io___83 = external hidden global %struct.cilist, align 8
@MAIN__.io___90 = external hidden global %struct.cilist, align 8
@MAIN__.io___91 = external hidden global %struct.cilist, align 8
@MAIN__.io___92 = external hidden global %struct.cilist, align 8
@c__9 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8
@.str = external hidden unnamed_addr constant [8 x i8], align 1
@infoc_ = external dso_local global %union.anon, align 8
@c__8 = external hidden global i64, align 8
@c__5 = external hidden global i64, align 8
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__65 = external hidden global i64, align 8
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@c__7 = external hidden global i64, align 8
@.str.3 = external hidden unnamed_addr constant [14 x i8], align 1
@c__2 = external hidden global i64, align 8
@.str.4 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [1 x i8], align 1
@c_b121 = external hidden global double, align 8
@c_b133 = external hidden global double, align 8
@c_true = external hidden global i64, align 8
@c_n1 = external hidden global i64, align 8
@srnamc_ = external dso_local global %struct.anon.1, align 1

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

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

96:                                               ; preds = %83, %0
  %97 = call i64 @s_rsle(ptr noundef @MAIN__.io___11)
  %98 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %35, i64 noundef 8)
  %99 = call i64 @e_rsle()
  %100 = load i64, ptr %35, align 8, !tbaa !11
  %101 = icmp ne i64 %100, 0
  br i1 %101, label %102, label %105

102:                                              ; preds = %96
  %103 = load i64, ptr %38, align 8, !tbaa !11
  %104 = icmp ne i64 %103, 0
  br label %105

105:                                              ; preds = %102, %96
  %106 = phi i1 [ false, %96 ], [ %104, %102 ]
  %107 = zext i1 %106 to i32
  %108 = sext i32 %107 to i64
  store i64 %108, ptr %35, align 8, !tbaa !11
  %109 = call i64 @s_rsle(ptr noundef @MAIN__.io___13)
  %110 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %44, i64 noundef 8)
  %111 = call i64 @e_rsle()
  %112 = call i64 @s_rsle(ptr noundef @MAIN__.io___15)
  %113 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %48, i64 noundef 8)
  %114 = call i64 @e_rsle()
  %115 = call i64 @s_rsle(ptr noundef @MAIN__.io___17)
  %116 = call i64 @do_lio(ptr noundef @c__5, ptr noundef @c__1, ptr noundef %46, i64 noundef 8)
  %117 = call i64 @e_rsle()
  %118 = call i64 @s_rsle(ptr noundef @MAIN__.io___19)
  %119 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %39, i64 noundef 8)
  %120 = call i64 @e_rsle()
  %121 = load i64, ptr %39, align 8, !tbaa !11
  %122 = icmp slt i64 %121, 1
  br i1 %122, label %126, label %123

123:                                              ; preds = %105
  %124 = load i64, ptr %39, align 8, !tbaa !11
  %125 = icmp sgt i64 %124, 9
  br i1 %125, label %126, label %132

126:                                              ; preds = %123, %105
  %127 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %127, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___21, i32 0, i32 1), align 8, !tbaa !21
  %128 = call i64 @s_wsfe(ptr noundef @MAIN__.io___21)
  %129 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.1, i64 noundef 1)
  %130 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__9, i64 noundef 8)
  %131 = call i64 @e_wsfe()
  br label %879

132:                                              ; preds = %123
  %133 = call i64 @s_rsle(ptr noundef @MAIN__.io___22)
  %134 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %134, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %135

135:                                              ; preds = %144, %132
  %136 = load i64, ptr %9, align 8, !tbaa !11
  %137 = load i64, ptr %1, align 8, !tbaa !11
  %138 = icmp sle i64 %136, %137
  br i1 %138, label %139, label %147

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

144:                                              ; preds = %139
  %145 = load i64, ptr %9, align 8, !tbaa !11
  %146 = add nsw i64 %145, 1
  store i64 %146, ptr %9, align 8, !tbaa !11
  br label %135, !llvm.loop !23

147:                                              ; preds = %135
  %148 = call i64 @e_rsle()
  %149 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %149, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %150

150:                                              ; preds = %172, %147
  %151 = load i64, ptr %9, align 8, !tbaa !11
  %152 = load i64, ptr %1, align 8, !tbaa !11
  %153 = icmp sle i64 %151, %152
  br i1 %153, label %154, label %175

154:                                              ; preds = %150
  %155 = load i64, ptr %9, align 8, !tbaa !11
  %156 = sub nsw i64 %155, 1
  %157 = getelementptr inbounds [9 x i64], ptr %30, i64 0, i64 %156
  %158 = load i64, ptr %157, align 8, !tbaa !11
  %159 = icmp slt i64 %158, 0
  br i1 %159, label %166, label %160

160:                                              ; preds = %154
  %161 = load i64, ptr %9, align 8, !tbaa !11
  %162 = sub nsw i64 %161, 1
  %163 = getelementptr inbounds [9 x i64], ptr %30, i64 0, i64 %162
  %164 = load i64, ptr %163, align 8, !tbaa !11
  %165 = icmp sgt i64 %164, 65
  br i1 %165, label %166, label %171

166:                                              ; preds = %160, %154
  %167 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %167, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___25, i32 0, i32 1), align 8, !tbaa !21
  %168 = call i64 @s_wsfe(ptr noundef @MAIN__.io___25)
  %169 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__65, i64 noundef 8)
  %170 = call i64 @e_wsfe()
  br label %879

171:                                              ; preds = %160
  br label %172

172:                                              ; preds = %171
  %173 = load i64, ptr %9, align 8, !tbaa !11
  %174 = add nsw i64 %173, 1
  store i64 %174, ptr %9, align 8, !tbaa !11
  br label %150, !llvm.loop !25

175:                                              ; preds = %150
  %176 = call i64 @s_rsle(ptr noundef @MAIN__.io___26)
  %177 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %25, i64 noundef 8)
  %178 = call i64 @e_rsle()
  %179 = load i64, ptr %25, align 8, !tbaa !11
  %180 = icmp slt i64 %179, 1
  br i1 %180, label %184, label %181

181:                                              ; preds = %175
  %182 = load i64, ptr %25, align 8, !tbaa !11
  %183 = icmp sgt i64 %182, 7
  br i1 %183, label %184, label %190

184:                                              ; preds = %181, %175
  %185 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %185, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___28, i32 0, i32 1), align 8, !tbaa !21
  %186 = call i64 @s_wsfe(ptr noundef @MAIN__.io___28)
  %187 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.2, i64 noundef 1)
  %188 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %189 = call i64 @e_wsfe()
  br label %879

190:                                              ; preds = %181
  %191 = call i64 @s_rsle(ptr noundef @MAIN__.io___29)
  %192 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %192, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %193

193:                                              ; preds = %202, %190
  %194 = load i64, ptr %9, align 8, !tbaa !11
  %195 = load i64, ptr %1, align 8, !tbaa !11
  %196 = icmp sle i64 %194, %195
  br i1 %196, label %197, label %205

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

202:                                              ; preds = %197
  %203 = load i64, ptr %9, align 8, !tbaa !11
  %204 = add nsw i64 %203, 1
  store i64 %204, ptr %9, align 8, !tbaa !11
  br label %193, !llvm.loop !26

205:                                              ; preds = %193
  %206 = call i64 @e_rsle()
  %207 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %207, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %208

208:                                              ; preds = %223, %205
  %209 = load i64, ptr %9, align 8, !tbaa !11
  %210 = load i64, ptr %1, align 8, !tbaa !11
  %211 = icmp sle i64 %209, %210
  br i1 %211, label %212, label %226

212:                                              ; preds = %208
  %213 = load i64, ptr %9, align 8, !tbaa !11
  %214 = sub nsw i64 %213, 1
  %215 = getelementptr inbounds [7 x i64], ptr %16, i64 0, i64 %214
  %216 = load i64, ptr %215, align 8, !tbaa !11
  %217 = icmp slt i64 %216, 0
  br i1 %217, label %218, label %222

218:                                              ; preds = %212
  %219 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %219, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___31, i32 0, i32 1), align 8, !tbaa !21
  %220 = call i64 @s_wsfe(ptr noundef @MAIN__.io___31)
  %221 = call i64 @e_wsfe()
  br label %879

222:                                              ; preds = %212
  br label %223

223:                                              ; preds = %222
  %224 = load i64, ptr %9, align 8, !tbaa !11
  %225 = add nsw i64 %224, 1
  store i64 %225, ptr %9, align 8, !tbaa !11
  br label %208, !llvm.loop !27

226:                                              ; preds = %208
  %227 = call i64 @s_rsle(ptr noundef @MAIN__.io___32)
  %228 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %32, i64 noundef 8)
  %229 = call i64 @e_rsle()
  %230 = load i64, ptr %32, align 8, !tbaa !11
  %231 = icmp slt i64 %230, 1
  br i1 %231, label %235, label %232

232:                                              ; preds = %226
  %233 = load i64, ptr %32, align 8, !tbaa !11
  %234 = icmp sgt i64 %233, 7
  br i1 %234, label %235, label %241

235:                                              ; preds = %232, %226
  %236 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %236, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___34, i32 0, i32 1), align 8, !tbaa !21
  %237 = call i64 @s_wsfe(ptr noundef @MAIN__.io___34)
  %238 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.3, i64 noundef 13)
  %239 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %240 = call i64 @e_wsfe()
  br label %879

241:                                              ; preds = %232
  %242 = call i64 @s_rsle(ptr noundef @MAIN__.io___35)
  %243 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %243, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %244

244:                                              ; preds = %253, %241
  %245 = load i64, ptr %9, align 8, !tbaa !11
  %246 = load i64, ptr %1, align 8, !tbaa !11
  %247 = icmp sle i64 %245, %246
  br i1 %247, label %248, label %256

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

253:                                              ; preds = %248
  %254 = load i64, ptr %9, align 8, !tbaa !11
  %255 = add nsw i64 %254, 1
  store i64 %255, ptr %9, align 8, !tbaa !11
  br label %244, !llvm.loop !28

256:                                              ; preds = %244
  %257 = call i64 @e_rsle()
  %258 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %258, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %259

259:                                              ; preds = %290, %256
  %260 = load i64, ptr %9, 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 %293

263:                                              ; preds = %259
  %264 = load i64, ptr %9, align 8, !tbaa !11
  %265 = sub nsw i64 %264, 1
  %266 = getelementptr inbounds [7 x i64], ptr %24, i64 0, i64 %265
  %267 = load i64, ptr %266, align 8, !tbaa !11
  %268 = icmp eq i64 %267, 0
  br i1 %268, label %284, label %269

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

276:                                              ; preds = %269
  %277 = load i64, ptr %2, align 8, !tbaa !11
  br label %281

278:                                              ; preds = %269
  %279 = load i64, ptr %2, align 8, !tbaa !11
  %280 = sub nsw i64 0, %279
  br label %281

281:                                              ; preds = %278, %276
  %282 = phi i64 [ %277, %276 ], [ %280, %278 ]
  %283 = icmp sgt i64 %282, 2
  br i1 %283, label %284, label %289

284:                                              ; preds = %281, %263
  %285 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %285, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___37, i32 0, i32 1), align 8, !tbaa !21
  %286 = call i64 @s_wsfe(ptr noundef @MAIN__.io___37)
  %287 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__2, i64 noundef 8)
  %288 = call i64 @e_wsfe()
  br label %879

289:                                              ; preds = %281
  br label %290

290:                                              ; preds = %289
  %291 = load i64, ptr %9, align 8, !tbaa !11
  %292 = add nsw i64 %291, 1
  store i64 %292, ptr %9, align 8, !tbaa !11
  br label %259, !llvm.loop !29

293:                                              ; preds = %259
  %294 = call i64 @s_rsle(ptr noundef @MAIN__.io___38)
  %295 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %29, i64 noundef 8)
  %296 = call i64 @e_rsle()
  %297 = load i64, ptr %29, align 8, !tbaa !11
  %298 = icmp slt i64 %297, 1
  br i1 %298, label %302, label %299

299:                                              ; preds = %293
  %300 = load i64, ptr %29, align 8, !tbaa !11
  %301 = icmp sgt i64 %300, 7
  br i1 %301, label %302, label %308

302:                                              ; preds = %299, %293
  %303 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %303, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___40, i32 0, i32 1), align 8, !tbaa !21
  %304 = call i64 @s_wsfe(ptr noundef @MAIN__.io___40)
  %305 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.4, i64 noundef 5)
  %306 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %307 = call i64 @e_wsfe()
  br label %879

308:                                              ; preds = %299
  %309 = call i64 @s_rsle(ptr noundef @MAIN__.io___41)
  %310 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %310, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %311

311:                                              ; preds = %320, %308
  %312 = load i64, ptr %9, align 8, !tbaa !11
  %313 = load i64, ptr %1, align 8, !tbaa !11
  %314 = icmp sle i64 %312, %313
  br i1 %314, label %315, label %323

315:                                              ; preds = %311
  %316 = load i64, ptr %9, align 8, !tbaa !11
  %317 = sub nsw i64 %316, 1
  %318 = getelementptr inbounds [7 x double], ptr %23, i64 0, i64 %317
  %319 = call i64 @do_lio(ptr noundef @c__5, ptr noundef @c__1, ptr noundef %318, i64 noundef 8)
  br label %320

320:                                              ; preds = %315
  %321 = load i64, ptr %9, align 8, !tbaa !11
  %322 = add nsw i64 %321, 1
  store i64 %322, ptr %9, align 8, !tbaa !11
  br label %311, !llvm.loop !30

323:                                              ; preds = %311
  %324 = call i64 @e_rsle()
  %325 = call i64 @s_rsle(ptr noundef @MAIN__.io___43)
  %326 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %33, i64 noundef 8)
  %327 = call i64 @e_rsle()
  %328 = load i64, ptr %33, align 8, !tbaa !11
  %329 = icmp slt i64 %328, 1
  br i1 %329, label %333, label %330

330:                                              ; preds = %323
  %331 = load i64, ptr %33, align 8, !tbaa !11
  %332 = icmp sgt i64 %331, 7
  br i1 %332, label %333, label %339

333:                                              ; preds = %330, %323
  %334 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %334, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___45, i32 0, i32 1), align 8, !tbaa !21
  %335 = call i64 @s_wsfe(ptr noundef @MAIN__.io___45)
  %336 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.5, i64 noundef 4)
  %337 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %338 = call i64 @e_wsfe()
  br label %879

339:                                              ; preds = %330
  %340 = call i64 @s_rsle(ptr noundef @MAIN__.io___46)
  %341 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %341, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %342

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

346:                                              ; preds = %342
  %347 = load i64, ptr %9, align 8, !tbaa !11
  %348 = sub nsw i64 %347, 1
  %349 = getelementptr inbounds [7 x double], ptr %26, i64 0, i64 %348
  %350 = call i64 @do_lio(ptr noundef @c__5, ptr noundef @c__1, ptr noundef %349, i64 noundef 8)
  br label %351

351:                                              ; preds = %346
  %352 = load i64, ptr %9, align 8, !tbaa !11
  %353 = add nsw i64 %352, 1
  store i64 %353, ptr %9, align 8, !tbaa !11
  br label %342, !llvm.loop !31

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

362:                                              ; preds = %371, %354
  %363 = load i64, ptr %9, align 8, !tbaa !11
  %364 = load i64, ptr %1, align 8, !tbaa !11
  %365 = icmp sle i64 %363, %364
  br i1 %365, label %366, label %374

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

371:                                              ; preds = %366
  %372 = load i64, ptr %9, align 8, !tbaa !11
  %373 = add nsw i64 %372, 1
  store i64 %373, ptr %9, align 8, !tbaa !11
  br label %362, !llvm.loop !32

374:                                              ; preds = %362
  %375 = call i64 @e_wsfe()
  %376 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %376, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___50, i32 0, i32 1), align 8, !tbaa !21
  %377 = call i64 @s_wsfe(ptr noundef @MAIN__.io___50)
  %378 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %378, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %379

379:                                              ; preds = %388, %374
  %380 = load i64, ptr %9, align 8, !tbaa !11
  %381 = load i64, ptr %1, align 8, !tbaa !11
  %382 = icmp sle i64 %380, %381
  br i1 %382, label %383, label %391

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

388:                                              ; preds = %383
  %389 = load i64, ptr %9, align 8, !tbaa !11
  %390 = add nsw i64 %389, 1
  store i64 %390, ptr %9, align 8, !tbaa !11
  br label %379, !llvm.loop !33

391:                                              ; preds = %379
  %392 = call i64 @e_wsfe()
  %393 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %393, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___51, i32 0, i32 1), align 8, !tbaa !21
  %394 = call i64 @s_wsfe(ptr noundef @MAIN__.io___51)
  %395 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %395, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %396

396:                                              ; preds = %405, %391
  %397 = load i64, ptr %9, align 8, !tbaa !11
  %398 = load i64, ptr %1, align 8, !tbaa !11
  %399 = icmp sle i64 %397, %398
  br i1 %399, label %400, label %408

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

405:                                              ; preds = %400
  %406 = load i64, ptr %9, align 8, !tbaa !11
  %407 = add nsw i64 %406, 1
  store i64 %407, ptr %9, align 8, !tbaa !11
  br label %396, !llvm.loop !34

408:                                              ; preds = %396
  %409 = call i64 @e_wsfe()
  %410 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %410, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___52, i32 0, i32 1), align 8, !tbaa !21
  %411 = call i64 @s_wsfe(ptr noundef @MAIN__.io___52)
  %412 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %412, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %413

413:                                              ; preds = %422, %408
  %414 = load i64, ptr %9, align 8, !tbaa !11
  %415 = load i64, ptr %1, align 8, !tbaa !11
  %416 = icmp sle i64 %414, %415
  br i1 %416, label %417, label %425

417:                                              ; preds = %413
  %418 = load i64, ptr %9, align 8, !tbaa !11
  %419 = sub nsw i64 %418, 1
  %420 = getelementptr inbounds [7 x double], ptr %23, i64 0, i64 %419
  %421 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %420, i64 noundef 8)
  br label %422

422:                                              ; preds = %417
  %423 = load i64, ptr %9, align 8, !tbaa !11
  %424 = add nsw i64 %423, 1
  store i64 %424, ptr %9, align 8, !tbaa !11
  br label %413, !llvm.loop !35

425:                                              ; preds = %413
  %426 = call i64 @e_wsfe()
  %427 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %427, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___53, i32 0, i32 1), align 8, !tbaa !21
  %428 = call i64 @s_wsfe(ptr noundef @MAIN__.io___53)
  %429 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %429, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %430

430:                                              ; preds = %439, %425
  %431 = load i64, ptr %9, align 8, !tbaa !11
  %432 = load i64, ptr %1, align 8, !tbaa !11
  %433 = icmp sle i64 %431, %432
  br i1 %433, label %434, label %442

434:                                              ; preds = %430
  %435 = load i64, ptr %9, align 8, !tbaa !11
  %436 = sub nsw i64 %435, 1
  %437 = getelementptr inbounds [7 x double], ptr %26, i64 0, i64 %436
  %438 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %437, i64 noundef 8)
  br label %439

439:                                              ; preds = %434
  %440 = load i64, ptr %9, align 8, !tbaa !11
  %441 = add nsw i64 %440, 1
  store i64 %441, ptr %9, align 8, !tbaa !11
  br label %430, !llvm.loop !36

442:                                              ; preds = %430
  %443 = call i64 @e_wsfe()
  %444 = load i64, ptr %48, align 8, !tbaa !11
  %445 = icmp ne i64 %444, 0
  br i1 %445, label %453, label %446

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

453:                                              ; preds = %446, %442
  %454 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %454, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___56, i32 0, i32 1), align 8, !tbaa !21
  %455 = call i64 @s_wsle(ptr noundef @MAIN__.io___56)
  %456 = call i64 @e_wsle()
  %457 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %457, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___57, i32 0, i32 1), align 8, !tbaa !21
  %458 = call i64 @s_wsfe(ptr noundef @MAIN__.io___57)
  %459 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %46, i64 noundef 8)
  %460 = call i64 @e_wsfe()
  %461 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %461, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___58, i32 0, i32 1), align 8, !tbaa !21
  %462 = call i64 @s_wsle(ptr noundef @MAIN__.io___58)
  %463 = call i64 @e_wsle()
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %464

464:                                              ; preds = %471, %453
  %465 = load i64, ptr %9, align 8, !tbaa !11
  %466 = icmp sle i64 %465, 16
  br i1 %466, label %467, label %474

467:                                              ; preds = %464
  %468 = load i64, ptr %9, align 8, !tbaa !11
  %469 = sub nsw i64 %468, 1
  %470 = getelementptr inbounds [16 x i64], ptr %43, i64 0, i64 %469
  store i64 0, ptr %470, align 8, !tbaa !11
  br label %471

471:                                              ; preds = %467
  %472 = load i64, ptr %9, align 8, !tbaa !11
  %473 = add nsw i64 %472, 1
  store i64 %473, ptr %9, align 8, !tbaa !11
  br label %464, !llvm.loop !37

474:                                              ; preds = %464
  br label %475

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

479:                                              ; preds = %475
  br label %525

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

485:                                              ; preds = %480
  br label %525

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

490:                                              ; preds = %486
  br label %525

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

495:                                              ; preds = %491
  br label %525

496:                                              ; preds = %491
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %497

497:                                              ; preds = %510, %496
  %498 = load i64, ptr %9, align 8, !tbaa !11
  %499 = icmp sle i64 %498, 16
  br i1 %499, label %500, label %513

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

508:                                              ; preds = %500
  br label %520

509:                                              ; preds = %500
  br label %510

510:                                              ; preds = %509
  %511 = load i64, ptr %9, align 8, !tbaa !11
  %512 = add nsw i64 %511, 1
  store i64 %512, ptr %9, align 8, !tbaa !11
  br label %497, !llvm.loop !38

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

520:                                              ; preds = %513, %508
  %521 = load i64, ptr %47, align 8, !tbaa !11
  %522 = load i64, ptr %9, align 8, !tbaa !11
  %523 = sub nsw i64 %522, 1
  %524 = getelementptr inbounds [16 x i64], ptr %43, i64 0, i64 %523
  store i64 %521, ptr %524, align 8, !tbaa !11
  br label %475

525:                                              ; preds = %495, %490, %485, %479
  %526 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 0
  store i64 0, ptr %526, align 8, !tbaa !39
  %527 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 1
  store i64 5, ptr %527, align 8, !tbaa !41
  %528 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 2
  store ptr null, ptr %528, align 8, !tbaa !42
  %529 = call i64 @f_clos(ptr noundef %6)
  store double 1.000000e+00, ptr %27, align 8, !tbaa !43
  br label %530

530:                                              ; preds = %536, %525
  %531 = load double, ptr %27, align 8, !tbaa !43
  %532 = fadd double %531, 1.000000e+00
  store double %532, ptr %4, align 8, !tbaa !43
  %533 = call double @ddiff_(ptr noundef %4, ptr noundef @c_b121)
  %534 = fcmp oeq double %533, 0.000000e+00
  br i1 %534, label %535, label %536

535:                                              ; preds = %530
  br label %539

536:                                              ; preds = %530
  %537 = load double, ptr %27, align 8, !tbaa !43
  %538 = fmul double %537, 5.000000e-01
  store double %538, ptr %27, align 8, !tbaa !43
  br label %530

539:                                              ; preds = %535
  %540 = load double, ptr %27, align 8, !tbaa !43
  %541 = load double, ptr %27, align 8, !tbaa !43
  %542 = fadd double %541, %540
  store double %542, ptr %27, align 8, !tbaa !43
  %543 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %543, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___65, i32 0, i32 1), align 8, !tbaa !21
  %544 = call i64 @s_wsfe(ptr noundef @MAIN__.io___65)
  %545 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %27, i64 noundef 8)
  %546 = call i64 @e_wsfe()
  store i64 32, ptr %11, align 8, !tbaa !11
  %547 = load i64, ptr %11, align 8, !tbaa !11
  store i64 %547, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %10, align 8, !tbaa !11
  br label %548

548:                                              ; preds = %589, %539
  %549 = load i64, ptr %10, align 8, !tbaa !11
  %550 = load i64, ptr %1, align 8, !tbaa !11
  %551 = icmp sle i64 %549, %550
  br i1 %551, label %552, label %592

552:                                              ; preds = %548
  %553 = load i64, ptr %11, align 8, !tbaa !11
  store i64 %553, ptr %2, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %554

554:                                              ; preds = %577, %552
  %555 = load i64, ptr %9, align 8, !tbaa !11
  %556 = load i64, ptr %2, align 8, !tbaa !11
  %557 = icmp sle i64 %555, %556
  br i1 %557, label %558, label %580

558:                                              ; preds = %554
  %559 = load i64, ptr %9, align 8, !tbaa !11
  %560 = load i64, ptr %10, align 8, !tbaa !11
  %561 = sub nsw i64 %559, %560
  %562 = add nsw i64 %561, 1
  store i64 %562, ptr %3, align 8, !tbaa !11
  %563 = load i64, ptr %3, align 8, !tbaa !11
  %564 = icmp sge i64 %563, 0
  br i1 %564, label %565, label %567

565:                                              ; preds = %558
  %566 = load i64, ptr %3, align 8, !tbaa !11
  br label %568

567:                                              ; preds = %558
  br label %568

568:                                              ; preds = %567, %565
  %569 = phi i64 [ %566, %565 ], [ 0, %567 ]
  %570 = sitofp i64 %569 to double
  %571 = load i64, ptr %9, align 8, !tbaa !11
  %572 = load i64, ptr %10, align 8, !tbaa !11
  %573 = mul nsw i64 %572, 65
  %574 = add nsw i64 %571, %573
  %575 = sub nsw i64 %574, 66
  %576 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 %575
  store double %570, ptr %576, align 8, !tbaa !43
  br label %577

577:                                              ; preds = %568
  %578 = load i64, ptr %9, align 8, !tbaa !11
  %579 = add nsw i64 %578, 1
  store i64 %579, ptr %9, align 8, !tbaa !11
  br label %554, !llvm.loop !45

580:                                              ; preds = %554
  %581 = load i64, ptr %10, align 8, !tbaa !11
  %582 = sitofp i64 %581 to double
  %583 = load i64, ptr %10, align 8, !tbaa !11
  %584 = sub nsw i64 %583, 1
  %585 = getelementptr inbounds [65 x double], ptr %12, i64 0, i64 %584
  store double %582, ptr %585, align 8, !tbaa !43
  %586 = load i64, ptr %10, align 8, !tbaa !11
  %587 = sub nsw i64 %586, 1
  %588 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 %587
  store double 0.000000e+00, ptr %588, align 8, !tbaa !43
  br label %589

589:                                              ; preds = %580
  %590 = load i64, ptr %10, align 8, !tbaa !11
  %591 = add nsw i64 %590, 1
  store i64 %591, ptr %10, align 8, !tbaa !11
  br label %548, !llvm.loop !46

592:                                              ; preds = %548
  %593 = load i64, ptr %11, align 8, !tbaa !11
  store i64 %593, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %10, align 8, !tbaa !11
  br label %594

594:                                              ; preds = %619, %592
  %595 = load i64, ptr %10, align 8, !tbaa !11
  %596 = load i64, ptr %1, align 8, !tbaa !11
  %597 = icmp sle i64 %595, %596
  br i1 %597, label %598, label %622

598:                                              ; preds = %594
  %599 = load i64, ptr %10, align 8, !tbaa !11
  %600 = load i64, ptr %10, align 8, !tbaa !11
  %601 = add nsw i64 %600, 1
  %602 = load i64, ptr %10, align 8, !tbaa !11
  %603 = mul nsw i64 %601, %602
  %604 = mul nsw i64 %599, %603
  %605 = sdiv i64 %604, 2
  %606 = load i64, ptr %10, align 8, !tbaa !11
  %607 = add nsw i64 %606, 1
  %608 = load i64, ptr %10, align 8, !tbaa !11
  %609 = mul nsw i64 %607, %608
  %610 = load i64, ptr %10, align 8, !tbaa !11
  %611 = sub nsw i64 %610, 1
  %612 = mul nsw i64 %609, %611
  %613 = sdiv i64 %612, 3
  %614 = sub nsw i64 %605, %613
  %615 = sitofp i64 %614 to double
  %616 = load i64, ptr %10, align 8, !tbaa !11
  %617 = sub nsw i64 %616, 1
  %618 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 %617
  store double %615, ptr %618, align 8, !tbaa !43
  br label %619

619:                                              ; preds = %598
  %620 = load i64, ptr %10, align 8, !tbaa !11
  %621 = add nsw i64 %620, 1
  store i64 %621, ptr %10, align 8, !tbaa !11
  br label %594, !llvm.loop !47

622:                                              ; preds = %594
  %623 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  store i8 78, ptr %623, align 1, !tbaa !20
  %624 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %625 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %626 = getelementptr inbounds [65 x double], ptr %12, i64 0, i64 0
  %627 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 0
  %628 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %629 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %630 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %631 = call i32 @dmvch_(ptr noundef %624, ptr noundef %11, ptr noundef %11, ptr noundef @c_b121, ptr noundef %625, ptr noundef @c__65, ptr noundef %626, ptr noundef @c__1, ptr noundef @c_b133, ptr noundef %627, ptr noundef @c__1, ptr noundef %628, ptr noundef %629, ptr noundef %630, ptr noundef %27, ptr noundef %28, ptr noundef %37, ptr noundef %36, ptr noundef @c_true, i64 noundef 1)
  %632 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %633 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %634 = call i64 @lde_(ptr noundef %632, ptr noundef %633, ptr noundef %11)
  store i64 %634, ptr %31, align 8, !tbaa !11
  %635 = load i64, ptr %31, align 8, !tbaa !11
  %636 = icmp ne i64 %635, 0
  br i1 %636, label %637, label %640

637:                                              ; preds = %622
  %638 = load double, ptr %28, align 8, !tbaa !43
  %639 = fcmp une double %638, 0.000000e+00
  br i1 %639, label %640, label %649

640:                                              ; preds = %637, %622
  %641 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %641, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___78, i32 0, i32 1), align 8, !tbaa !21
  %642 = call i64 @s_wsfe(ptr noundef @MAIN__.io___78)
  %643 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %644 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %643, i64 noundef 1)
  %645 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %31, i64 noundef 8)
  %646 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %28, i64 noundef 8)
  %647 = call i64 @e_wsfe()
  %648 = call i32 @s_stop(ptr noundef @.str.6, i64 noundef 0)
  br label %649

649:                                              ; preds = %640, %637
  %650 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  store i8 84, ptr %650, align 1, !tbaa !20
  %651 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %652 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %653 = getelementptr inbounds [65 x double], ptr %12, i64 0, i64 0
  %654 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 0
  %655 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %656 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %657 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %658 = call i32 @dmvch_(ptr noundef %651, ptr noundef %11, ptr noundef %11, ptr noundef @c_b121, ptr noundef %652, ptr noundef @c__65, ptr noundef %653, ptr noundef @c_n1, ptr noundef @c_b133, ptr noundef %654, ptr noundef @c_n1, ptr noundef %655, ptr noundef %656, ptr noundef %657, ptr noundef %27, ptr noundef %28, ptr noundef %37, ptr noundef %36, ptr noundef @c_true, i64 noundef 1)
  %659 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %660 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %661 = call i64 @lde_(ptr noundef %659, ptr noundef %660, ptr noundef %11)
  store i64 %661, ptr %31, align 8, !tbaa !11
  %662 = load i64, ptr %31, align 8, !tbaa !11
  %663 = icmp ne i64 %662, 0
  br i1 %663, label %664, label %667

664:                                              ; preds = %649
  %665 = load double, ptr %28, align 8, !tbaa !43
  %666 = fcmp une double %665, 0.000000e+00
  br i1 %666, label %667, label %676

667:                                              ; preds = %664, %649
  %668 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %668, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___79, i32 0, i32 1), align 8, !tbaa !21
  %669 = call i64 @s_wsfe(ptr noundef @MAIN__.io___79)
  %670 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %671 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %670, i64 noundef 1)
  %672 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %31, i64 noundef 8)
  %673 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %28, i64 noundef 8)
  %674 = call i64 @e_wsfe()
  %675 = call i32 @s_stop(ptr noundef @.str.6, i64 noundef 0)
  br label %676

676:                                              ; preds = %667, %664
  store i64 1, ptr %42, align 8, !tbaa !11
  br label %677

677:                                              ; preds = %868, %676
  %678 = load i64, ptr %42, align 8, !tbaa !11
  %679 = icmp sle i64 %678, 16
  br i1 %679, label %680, label %871

680:                                              ; preds = %677
  %681 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %681, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___81, i32 0, i32 1), align 8, !tbaa !21
  %682 = call i64 @s_wsle(ptr noundef @MAIN__.io___81)
  %683 = call i64 @e_wsle()
  %684 = load i64, ptr %42, align 8, !tbaa !11
  %685 = sub nsw i64 %684, 1
  %686 = getelementptr inbounds [16 x i64], ptr %43, i64 0, i64 %685
  %687 = load i64, ptr %686, align 8, !tbaa !11
  %688 = icmp ne i64 %687, 0
  br i1 %688, label %698, label %689

689:                                              ; preds = %680
  %690 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %690, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___82, i32 0, i32 1), align 8, !tbaa !21
  %691 = call i64 @s_wsfe(ptr noundef @MAIN__.io___82)
  %692 = load i64, ptr %42, align 8, !tbaa !11
  %693 = sub nsw i64 %692, 1
  %694 = mul nsw i64 %693, 6
  %695 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %694
  %696 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %695, i64 noundef 6)
  %697 = call i64 @e_wsfe()
  br label %867

698:                                              ; preds = %680
  %699 = load i64, ptr %42, align 8, !tbaa !11
  %700 = sub nsw i64 %699, 1
  %701 = mul nsw i64 %700, 6
  %702 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %701
  %703 = call i32 @s_copy(ptr noundef @srnamc_, ptr noundef %702, i64 noundef 6, i64 noundef 6)
  %704 = load i64, ptr %48, align 8, !tbaa !11
  %705 = icmp ne i64 %704, 0
  br i1 %705, label %706, label %715

706:                                              ; preds = %698
  %707 = load i64, ptr %42, align 8, !tbaa !11
  %708 = sub nsw i64 %707, 1
  %709 = mul nsw i64 %708, 6
  %710 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %709
  %711 = call i32 @dchke_(ptr noundef %42, ptr noundef %710, ptr noundef %36, i64 noundef 6)
  %712 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %712, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___83, i32 0, i32 1), align 8, !tbaa !21
  %713 = call i64 @s_wsle(ptr noundef @MAIN__.io___83)
  %714 = call i64 @e_wsle()
  br label %715

715:                                              ; preds = %706, %698
  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 %37, align 8, !tbaa !11
  %716 = load i64, ptr %42, align 8, !tbaa !11
  switch i64 %716, label %733 [
    i64 1, label %717
    i64 2, label %718
    i64 3, label %719
    i64 4, label %720
    i64 5, label %721
    i64 6, label %722
    i64 7, label %723
    i64 8, label %724
    i64 9, label %725
    i64 10, label %726
    i64 11, label %727
    i64 12, label %728
    i64 13, label %729
    i64 14, label %730
    i64 15, label %731
    i64 16, label %732
  ]

717:                                              ; preds = %715
  br label %734

718:                                              ; preds = %715
  br label %734

719:                                              ; preds = %715
  br label %756

720:                                              ; preds = %715
  br label %756

721:                                              ; preds = %715
  br label %756

722:                                              ; preds = %715
  br label %778

723:                                              ; preds = %715
  br label %778

724:                                              ; preds = %715
  br label %778

725:                                              ; preds = %715
  br label %778

726:                                              ; preds = %715
  br label %778

727:                                              ; preds = %715
  br label %778

728:                                              ; preds = %715
  br label %796

729:                                              ; preds = %715
  br label %817

730:                                              ; preds = %715
  br label %817

731:                                              ; preds = %715
  br label %838

732:                                              ; preds = %715
  br label %838

733:                                              ; preds = %715
  br label %734

734:                                              ; preds = %733, %718, %717
  %735 = load i64, ptr %42, align 8, !tbaa !11
  %736 = sub nsw i64 %735, 1
  %737 = mul nsw i64 %736, 6
  %738 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %737
  %739 = getelementptr inbounds [9 x i64], ptr %30, i64 0, i64 0
  %740 = getelementptr inbounds [7 x i64], ptr %16, i64 0, i64 0
  %741 = getelementptr inbounds [7 x double], ptr %23, i64 0, i64 0
  %742 = getelementptr inbounds [7 x double], ptr %26, i64 0, i64 0
  %743 = getelementptr inbounds [7 x i64], ptr %24, i64 0, i64 0
  %744 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %745 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %746 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %747 = getelementptr inbounds [65 x double], ptr %12, i64 0, i64 0
  %748 = getelementptr inbounds [130 x double], ptr %21, i64 0, i64 0
  %749 = getelementptr inbounds [130 x double], ptr %18, i64 0, i64 0
  %750 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 0
  %751 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %752 = getelementptr inbounds [130 x double], ptr %19, i64 0, i64 0
  %753 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %754 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %755 = call i32 @dchk1_(ptr noundef %738, ptr noundef %27, ptr noundef %46, ptr noundef %36, ptr noundef %34, ptr noundef %38, ptr noundef %35, ptr noundef %37, ptr noundef %39, ptr noundef %739, ptr noundef %25, ptr noundef %740, ptr noundef %29, ptr noundef %741, ptr noundef %33, ptr noundef %742, ptr noundef %32, ptr noundef %743, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %744, ptr noundef %745, ptr noundef %746, ptr noundef %747, ptr noundef %748, ptr noundef %749, ptr noundef %750, ptr noundef %751, ptr noundef %752, ptr noundef %753, ptr noundef %754, i64 noundef 6)
  br label %859

756:                                              ; preds = %721, %720, %719
  %757 = load i64, ptr %42, align 8, !tbaa !11
  %758 = sub nsw i64 %757, 1
  %759 = mul nsw i64 %758, 6
  %760 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %759
  %761 = getelementptr inbounds [9 x i64], ptr %30, i64 0, i64 0
  %762 = getelementptr inbounds [7 x i64], ptr %16, i64 0, i64 0
  %763 = getelementptr inbounds [7 x double], ptr %23, i64 0, i64 0
  %764 = getelementptr inbounds [7 x double], ptr %26, i64 0, i64 0
  %765 = getelementptr inbounds [7 x i64], ptr %24, i64 0, i64 0
  %766 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %767 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %768 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %769 = getelementptr inbounds [65 x double], ptr %12, i64 0, i64 0
  %770 = getelementptr inbounds [130 x double], ptr %21, i64 0, i64 0
  %771 = getelementptr inbounds [130 x double], ptr %18, i64 0, i64 0
  %772 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 0
  %773 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %774 = getelementptr inbounds [130 x double], ptr %19, i64 0, i64 0
  %775 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %776 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %777 = call i32 @dchk2_(ptr noundef %760, ptr noundef %27, ptr noundef %46, ptr noundef %36, ptr noundef %34, ptr noundef %38, ptr noundef %35, ptr noundef %37, ptr noundef %39, ptr noundef %761, ptr noundef %25, ptr noundef %762, ptr noundef %29, ptr noundef %763, ptr noundef %33, ptr noundef %764, ptr noundef %32, ptr noundef %765, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %766, ptr noundef %767, ptr noundef %768, ptr noundef %769, ptr noundef %770, ptr noundef %771, ptr noundef %772, ptr noundef %773, ptr noundef %774, ptr noundef %775, ptr noundef %776, i64 noundef 6)
  br label %859

778:                                              ; preds = %727, %726, %725, %724, %723, %722
  %779 = load i64, ptr %42, align 8, !tbaa !11
  %780 = sub nsw i64 %779, 1
  %781 = mul nsw i64 %780, 6
  %782 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %781
  %783 = getelementptr inbounds [9 x i64], ptr %30, i64 0, i64 0
  %784 = getelementptr inbounds [7 x i64], ptr %16, i64 0, i64 0
  %785 = getelementptr inbounds [7 x i64], ptr %24, i64 0, i64 0
  %786 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %787 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %788 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %789 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 0
  %790 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %791 = getelementptr inbounds [130 x double], ptr %19, i64 0, i64 0
  %792 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %793 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %794 = getelementptr inbounds [130 x double], ptr %14, i64 0, i64 0
  %795 = call i32 @dchk3_(ptr noundef %782, ptr noundef %27, ptr noundef %46, ptr noundef %36, ptr noundef %34, ptr noundef %38, ptr noundef %35, ptr noundef %37, ptr noundef %39, ptr noundef %783, ptr noundef %25, ptr noundef %784, ptr noundef %32, ptr noundef %785, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %786, ptr noundef %787, ptr noundef %788, ptr noundef %789, ptr noundef %790, ptr noundef %791, ptr noundef %792, ptr noundef %793, ptr noundef %794, i64 noundef 6)
  br label %859

796:                                              ; preds = %728
  %797 = load i64, ptr %42, align 8, !tbaa !11
  %798 = sub nsw i64 %797, 1
  %799 = mul nsw i64 %798, 6
  %800 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %799
  %801 = getelementptr inbounds [9 x i64], ptr %30, i64 0, i64 0
  %802 = getelementptr inbounds [7 x double], ptr %23, i64 0, i64 0
  %803 = getelementptr inbounds [7 x i64], ptr %24, i64 0, i64 0
  %804 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %805 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %806 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %807 = getelementptr inbounds [65 x double], ptr %12, i64 0, i64 0
  %808 = getelementptr inbounds [130 x double], ptr %21, i64 0, i64 0
  %809 = getelementptr inbounds [130 x double], ptr %18, i64 0, i64 0
  %810 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 0
  %811 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %812 = getelementptr inbounds [130 x double], ptr %19, i64 0, i64 0
  %813 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %814 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %815 = getelementptr inbounds [130 x double], ptr %14, i64 0, i64 0
  %816 = call i32 @dchk4_(ptr noundef %800, ptr noundef %27, ptr noundef %46, ptr noundef %36, ptr noundef %34, ptr noundef %38, ptr noundef %35, ptr noundef %37, ptr noundef %39, ptr noundef %801, ptr noundef %29, ptr noundef %802, ptr noundef %32, ptr noundef %803, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %804, ptr noundef %805, ptr noundef %806, ptr noundef %807, ptr noundef %808, ptr noundef %809, ptr noundef %810, ptr noundef %811, ptr noundef %812, ptr noundef %813, ptr noundef %814, ptr noundef %815, i64 noundef 6)
  br label %859

817:                                              ; preds = %730, %729
  %818 = load i64, ptr %42, align 8, !tbaa !11
  %819 = sub nsw i64 %818, 1
  %820 = mul nsw i64 %819, 6
  %821 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %820
  %822 = getelementptr inbounds [9 x i64], ptr %30, i64 0, i64 0
  %823 = getelementptr inbounds [7 x double], ptr %23, i64 0, i64 0
  %824 = getelementptr inbounds [7 x i64], ptr %24, i64 0, i64 0
  %825 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %826 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %827 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %828 = getelementptr inbounds [65 x double], ptr %12, i64 0, i64 0
  %829 = getelementptr inbounds [130 x double], ptr %21, i64 0, i64 0
  %830 = getelementptr inbounds [130 x double], ptr %18, i64 0, i64 0
  %831 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 0
  %832 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %833 = getelementptr inbounds [130 x double], ptr %19, i64 0, i64 0
  %834 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %835 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %836 = getelementptr inbounds [130 x double], ptr %14, i64 0, i64 0
  %837 = call i32 @dchk5_(ptr noundef %821, ptr noundef %27, ptr noundef %46, ptr noundef %36, ptr noundef %34, ptr noundef %38, ptr noundef %35, ptr noundef %37, ptr noundef %39, ptr noundef %822, ptr noundef %29, ptr noundef %823, ptr noundef %32, ptr noundef %824, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %825, ptr noundef %826, ptr noundef %827, ptr noundef %828, ptr noundef %829, ptr noundef %830, ptr noundef %831, ptr noundef %832, ptr noundef %833, ptr noundef %834, ptr noundef %835, ptr noundef %836, i64 noundef 6)
  br label %859

838:                                              ; preds = %732, %731
  %839 = load i64, ptr %42, align 8, !tbaa !11
  %840 = sub nsw i64 %839, 1
  %841 = mul nsw i64 %840, 6
  %842 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %841
  %843 = getelementptr inbounds [9 x i64], ptr %30, i64 0, i64 0
  %844 = getelementptr inbounds [7 x double], ptr %23, i64 0, i64 0
  %845 = getelementptr inbounds [7 x i64], ptr %24, i64 0, i64 0
  %846 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %847 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %848 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %849 = getelementptr inbounds [65 x double], ptr %12, i64 0, i64 0
  %850 = getelementptr inbounds [130 x double], ptr %21, i64 0, i64 0
  %851 = getelementptr inbounds [130 x double], ptr %18, i64 0, i64 0
  %852 = getelementptr inbounds [65 x double], ptr %13, i64 0, i64 0
  %853 = getelementptr inbounds [130 x double], ptr %22, i64 0, i64 0
  %854 = getelementptr inbounds [130 x double], ptr %19, i64 0, i64 0
  %855 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %856 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %857 = getelementptr inbounds [130 x double], ptr %14, i64 0, i64 0
  %858 = call i32 @dchk6_(ptr noundef %842, ptr noundef %27, ptr noundef %46, ptr noundef %36, ptr noundef %34, ptr noundef %38, ptr noundef %35, ptr noundef %37, ptr noundef %39, ptr noundef %843, ptr noundef %29, ptr noundef %844, ptr noundef %32, ptr noundef %845, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %846, ptr noundef %847, ptr noundef %848, ptr noundef %849, ptr noundef %850, ptr noundef %851, ptr noundef %852, ptr noundef %853, ptr noundef %854, ptr noundef %855, ptr noundef %856, ptr noundef %857, i64 noundef 6)
  br label %859

859:                                              ; preds = %838, %817, %796, %778, %756, %734
  %860 = load i64, ptr %37, align 8, !tbaa !11
  %861 = icmp ne i64 %860, 0
  br i1 %861, label %862, label %866

862:                                              ; preds = %859
  %863 = load i64, ptr %44, align 8, !tbaa !11
  %864 = icmp ne i64 %863, 0
  br i1 %864, label %865, label %866

865:                                              ; preds = %862
  br label %875

866:                                              ; preds = %862, %859
  br label %867

867:                                              ; preds = %866, %689
  br label %868

868:                                              ; preds = %867
  %869 = load i64, ptr %42, align 8, !tbaa !11
  %870 = add nsw i64 %869, 1
  store i64 %870, ptr %42, align 8, !tbaa !11
  br label %677, !llvm.loop !48

871:                                              ; preds = %677
  %872 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %872, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___90, i32 0, i32 1), align 8, !tbaa !21
  %873 = call i64 @s_wsfe(ptr noundef @MAIN__.io___90)
  %874 = call i64 @e_wsfe()
  br label %883

875:                                              ; preds = %865
  %876 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %876, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___91, i32 0, i32 1), align 8, !tbaa !21
  %877 = call i64 @s_wsfe(ptr noundef @MAIN__.io___91)
  %878 = call i64 @e_wsfe()
  br label %883

879:                                              ; preds = %333, %302, %284, %235, %218, %184, %166, %126
  %880 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %880, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___92, i32 0, i32 1), align 8, !tbaa !21
  %881 = call i64 @s_wsfe(ptr noundef @MAIN__.io___92)
  %882 = call i64 @e_wsfe()
  br label %883

883:                                              ; preds = %879, %875, %871
  %884 = load i64, ptr %38, align 8, !tbaa !11
  %885 = icmp ne i64 %884, 0
  br i1 %885, label %886, label %892

886:                                              ; preds = %883
  %887 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 0
  store i64 0, ptr %887, align 8, !tbaa !39
  %888 = load i64, ptr %34, align 8, !tbaa !11
  %889 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 1
  store i64 %888, ptr %889, align 8, !tbaa !41
  %890 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 2
  store ptr null, ptr %890, align 8, !tbaa !42
  %891 = call i64 @f_clos(ptr noundef %6)
  br label %892

892:                                              ; preds = %886, %883
  %893 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 0
  store i64 0, ptr %893, align 8, !tbaa !39
  %894 = load i64, ptr %36, align 8, !tbaa !11
  %895 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 1
  store i64 %894, ptr %895, align 8, !tbaa !41
  %896 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 2
  store ptr null, ptr %896, align 8, !tbaa !42
  %897 = call i64 @f_clos(ptr noundef %6)
  %898 = call i32 @s_stop(ptr noundef @.str.6, i64 noundef 0)
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #3
  call void @llvm.lifetime.end.p0(i64 6, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #3
  call void @llvm.lifetime.end.p0(i64 128, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 72, ptr %30) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %26) #3
  call void @llvm.lifetime.end.p0(i64 8, 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 1040, ptr %22) #3
  call void @llvm.lifetime.end.p0(i64 1040, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 520, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 1040, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 1040, ptr %18) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 56, 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 520, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 520, ptr %12) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #3
  call void @llvm.lifetime.end.p0(i64 520, ptr %8) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %7) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #3
  call void @llvm.lifetime.end.p0(i64 72, 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 @ddiff_(ptr noundef, ptr noundef) #0

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

; Function Attrs: nounwind uwtable
declare dso_local i64 @lde_(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 @dchke_(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @dchk1_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk2_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk3_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk4_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk5_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk6_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !7, i64 56, !10, i64 64}
!7 = !{!"long", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!6, !7, i64 8}
!13 = !{!6, !7, i64 24}
!14 = !{!6, !10, i64 16}
!15 = !{!6, !7, i64 56}
!16 = !{!6, !10, i64 32}
!17 = !{!6, !10, i64 40}
!18 = !{!6, !10, i64 48}
!19 = !{!6, !10, i64 64}
!20 = !{!8, !8, i64 0}
!21 = !{!22, !7, i64 8}
!22 = !{!"", !7, i64 0, !7, i64 8, !7, i64 16, !10, i64 24, !7, i64 32}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}
!25 = distinct !{!25, !24}
!26 = distinct !{!26, !24}
!27 = distinct !{!27, !24}
!28 = distinct !{!28, !24}
!29 = distinct !{!29, !24}
!30 = distinct !{!30, !24}
!31 = distinct !{!31, !24}
!32 = distinct !{!32, !24}
!33 = distinct !{!33, !24}
!34 = distinct !{!34, !24}
!35 = distinct !{!35, !24}
!36 = distinct !{!36, !24}
!37 = distinct !{!37, !24}
!38 = distinct !{!38, !24}
!39 = !{!40, !7, i64 0}
!40 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16}
!41 = !{!40, !7, i64 8}
!42 = !{!40, !10, i64 16}
!43 = !{!44, !44, i64 0}
!44 = !{!"double", !8, i64 0}
!45 = distinct !{!45, !24}
!46 = distinct !{!46, !24}
!47 = distinct !{!47, !24}
!48 = distinct !{!48, !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.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 [96 x i8], align 16
@MAIN__.io___2 = external hidden global %struct.cilist, align 8
@MAIN__.io___4 = external hidden global %struct.cilist, align 8
@MAIN__.io___6 = external hidden global %struct.cilist, align 8
@MAIN__.io___8 = external hidden global %struct.cilist, align 8
@MAIN__.io___11 = external hidden global %struct.cilist, align 8
@MAIN__.io___13 = external hidden global %struct.cilist, align 8
@MAIN__.io___15 = external hidden global %struct.cilist, align 8
@MAIN__.io___17 = external hidden global %struct.cilist, align 8
@MAIN__.io___19 = external hidden global %struct.cilist, align 8
@MAIN__.io___21 = external hidden global %struct.cilist, align 8
@MAIN__.io___22 = external hidden global %struct.cilist, align 8
@MAIN__.io___25 = external hidden global %struct.cilist, align 8
@MAIN__.io___26 = external hidden global %struct.cilist, align 8
@MAIN__.io___28 = external hidden global %struct.cilist, align 8
@MAIN__.io___29 = external hidden global %struct.cilist, align 8
@MAIN__.io___31 = external hidden global %struct.cilist, align 8
@MAIN__.io___32 = external hidden global %struct.cilist, align 8
@MAIN__.io___34 = external hidden global %struct.cilist, align 8
@MAIN__.io___35 = external hidden global %struct.cilist, align 8
@MAIN__.io___37 = external hidden global %struct.cilist, align 8
@MAIN__.io___38 = external hidden global %struct.cilist, align 8
@MAIN__.io___40 = external hidden global %struct.cilist, align 8
@MAIN__.io___41 = external hidden global %struct.cilist, align 8
@MAIN__.io___43 = external hidden global %struct.cilist, align 8
@MAIN__.io___45 = external hidden global %struct.cilist, align 8
@MAIN__.io___46 = external hidden global %struct.cilist, align 8
@MAIN__.io___48 = external hidden global %struct.cilist, align 8
@MAIN__.io___49 = external hidden global %struct.cilist, align 8
@MAIN__.io___50 = external hidden global %struct.cilist, align 8
@MAIN__.io___51 = external hidden global %struct.cilist, align 8
@MAIN__.io___52 = external hidden global %struct.cilist, align 8
@MAIN__.io___53 = external hidden global %struct.cilist, align 8
@MAIN__.io___54 = external hidden global %struct.cilist, align 8
@MAIN__.io___55 = external hidden global %struct.cilist, align 8
@MAIN__.io___56 = external hidden global %struct.cilist, align 8
@MAIN__.io___57 = external hidden global %struct.cilist, align 8
@MAIN__.io___58 = external hidden global %struct.cilist, align 8
@MAIN__.io___60 = external hidden global %struct.cilist, align 8
@MAIN__.io___63 = external hidden global %struct.cilist, align 8
@MAIN__.io___65 = external hidden global %struct.cilist, align 8
@MAIN__.io___78 = external hidden global %struct.cilist, align 8
@MAIN__.io___79 = external hidden global %struct.cilist, align 8
@MAIN__.io___81 = external hidden global %struct.cilist, align 8
@MAIN__.io___82 = external hidden global %struct.cilist, align 8
@MAIN__.io___83 = external hidden global %struct.cilist, align 8
@MAIN__.io___90 = external hidden global %struct.cilist, align 8
@MAIN__.io___91 = external hidden global %struct.cilist, align 8
@MAIN__.io___92 = external hidden global %struct.cilist, align 8
@c__9 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8
@.str = external hidden unnamed_addr constant [8 x i8], align 1
@infoc_ = external dso_local local_unnamed_addr global %union.anon, align 8
@c__8 = external hidden global i64, align 8
@c__5 = external hidden global i64, align 8
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__65 = external hidden global i64, align 8
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@c__7 = external hidden global i64, align 8
@.str.3 = external hidden unnamed_addr constant [14 x i8], align 1
@c__2 = external hidden global i64, align 8
@.str.4 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [1 x i8], align 1
@c_b121 = external hidden global double, align 8
@c_b133 = external hidden global double, align 8
@c_true = external hidden global i64, align 8
@c_n1 = external hidden global i64, align 8
@srnamc_ = external dso_local global %struct.anon.1, align 1

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

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

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

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

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

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

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

108:                                              ; preds = %.lr.ph149
  %109 = add nuw i64 %.1109147, 1
  %exitcond228.not = icmp eq i64 %.1109147, %107
  br i1 %exitcond228.not, label %._crit_edge150, label %.lr.ph149, !llvm.loop !23

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

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

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

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

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

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

._crit_edge155:                                   ; preds = %.lr.ph154, %127
  %134 = call i64 @e_rsle() #5
  %135 = load i64, ptr %20, align 8, !tbaa !11
  %.not115156 = icmp slt i64 %135, 1
  br i1 %.not115156, label %._crit_edge160, label %.lr.ph159

136:                                              ; preds = %.lr.ph159
  %137 = add nuw i64 %.3157, 1
  %exitcond230.not = icmp eq i64 %.3157, %135
  br i1 %exitcond230.not, label %._crit_edge160, label %.lr.ph159, !llvm.loop !25

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

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

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

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

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

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

._crit_edge165:                                   ; preds = %.lr.ph164, %155
  %162 = call i64 @e_rsle() #5
  %163 = load i64, ptr %27, align 8, !tbaa !11
  %.not117166 = icmp slt i64 %163, 1
  br i1 %.not117166, label %._crit_edge170, label %.lr.ph169

164:                                              ; preds = %.lr.ph169
  %165 = add nuw i64 %.5167, 1
  %exitcond232.not = icmp eq i64 %.5167, %163
  br i1 %exitcond232.not, label %._crit_edge170, label %.lr.ph169, !llvm.loop !27

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

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

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

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

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

.lr.ph174:                                        ; preds = %186, %.lr.ph174
  %.6172 = phi i64 [ %192, %.lr.ph174 ], [ 1, %186 ]
  %189 = add nsw i64 %.6172, -1
  %190 = getelementptr inbounds [7 x double], ptr %18, i64 0, i64 %189
  %191 = call i64 @do_lio(ptr noundef nonnull @c__5, ptr noundef nonnull @c__1, ptr noundef nonnull %190, i64 noundef 8) #5
  %192 = add nuw i64 %.6172, 1
  %exitcond233.not = icmp eq i64 %.6172, %188
  br i1 %exitcond233.not, label %._crit_edge175, label %.lr.ph174, !llvm.loop !28

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

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

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

.lr.ph179:                                        ; preds = %204, %.lr.ph179
  %.7177 = phi i64 [ %210, %.lr.ph179 ], [ 1, %204 ]
  %207 = add nsw i64 %.7177, -1
  %208 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 %207
  %209 = call i64 @do_lio(ptr noundef nonnull @c__5, ptr noundef nonnull @c__1, ptr noundef nonnull %208, i64 noundef 8) #5
  %210 = add nuw i64 %.7177, 1
  %exitcond234.not = icmp eq i64 %.7177, %206
  br i1 %exitcond234.not, label %._crit_edge180, label %.lr.ph179, !llvm.loop !29

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

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

._crit_edge185:                                   ; preds = %.lr.ph184, %._crit_edge180
  %222 = call i64 @e_wsfe() #5
  %223 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %223, ptr getelementptr inbounds (i8, ptr @MAIN__.io___50, i64 8), align 8, !tbaa !19
  %224 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___50) #5
  %225 = load i64, ptr %20, align 8, !tbaa !11
  %.not121186 = icmp slt i64 %225, 1
  br i1 %.not121186, label %._crit_edge190, label %.lr.ph189

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

._crit_edge190:                                   ; preds = %.lr.ph189, %._crit_edge185
  %230 = call i64 @e_wsfe() #5
  %231 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %231, ptr getelementptr inbounds (i8, ptr @MAIN__.io___51, i64 8), align 8, !tbaa !19
  %232 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___51) #5
  %233 = load i64, ptr %27, align 8, !tbaa !11
  %.not122191 = icmp slt i64 %233, 1
  br i1 %.not122191, label %._crit_edge195, label %.lr.ph194

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

._crit_edge195:                                   ; preds = %.lr.ph194, %._crit_edge190
  %238 = call i64 @e_wsfe() #5
  %239 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %239, ptr getelementptr inbounds (i8, ptr @MAIN__.io___52, i64 8), align 8, !tbaa !19
  %240 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___52) #5
  %241 = load i64, ptr %24, align 8, !tbaa !11
  %.not123196 = icmp slt i64 %241, 1
  br i1 %.not123196, label %._crit_edge200, label %.lr.ph199

.lr.ph199:                                        ; preds = %._crit_edge195, %.lr.ph199
  %.11197 = phi i64 [ %245, %.lr.ph199 ], [ 1, %._crit_edge195 ]
  %242 = add nsw i64 %.11197, -1
  %243 = getelementptr inbounds [7 x double], ptr %18, i64 0, i64 %242
  %244 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %243, i64 noundef 8) #5
  %245 = add nuw i64 %.11197, 1
  %exitcond238.not = icmp eq i64 %.11197, %241
  br i1 %exitcond238.not, label %._crit_edge200, label %.lr.ph199, !llvm.loop !33

._crit_edge200:                                   ; preds = %.lr.ph199, %._crit_edge195
  %246 = call i64 @e_wsfe() #5
  %247 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %247, ptr getelementptr inbounds (i8, ptr @MAIN__.io___53, i64 8), align 8, !tbaa !19
  %248 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___53) #5
  %249 = load i64, ptr %28, align 8, !tbaa !11
  %.not124201 = icmp slt i64 %249, 1
  br i1 %.not124201, label %._crit_edge205, label %.lr.ph204

.lr.ph204:                                        ; preds = %._crit_edge200, %.lr.ph204
  %.12202 = phi i64 [ %253, %.lr.ph204 ], [ 1, %._crit_edge200 ]
  %250 = add nsw i64 %.12202, -1
  %251 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 %250
  %252 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %251, i64 noundef 8) #5
  %253 = add nuw i64 %.12202, 1
  %exitcond239.not = icmp eq i64 %.12202, %249
  br i1 %exitcond239.not, label %._crit_edge205, label %.lr.ph204, !llvm.loop !34

._crit_edge205:                                   ; preds = %.lr.ph204, %._crit_edge200
  %254 = call i64 @e_wsfe() #5
  %255 = load i64, ptr %43, align 8, !tbaa !11
  %.not125 = icmp eq i64 %255, 0
  br i1 %.not125, label %256, label %.preheader141

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

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

.lr.ph209:                                        ; preds = %.preheader141, %.loopexit
  %274 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 6) #5
  %.not127 = icmp eq i64 %274, 0
  br i1 %.not127, label %275, label %._crit_edge210

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.loopexit:                                        ; preds = %.preheader140.preheader, %.preheader140.1, %.preheader140.2, %.preheader140.3, %.preheader140.4, %.preheader140.5, %.preheader140.6, %.preheader140.7, %.preheader140.8, %.preheader140.9, %.preheader140.10, %.preheader140.11, %.preheader140.12, %.preheader140.13, %.preheader140.14, %.preheader140.15, %311
  %.14143.sroa.phi = phi ptr [ %.14143.sroa.gep, %311 ], [ %38, %.preheader140.preheader ], [ %.14143.sroa.gep245, %.preheader140.1 ], [ %.14143.sroa.gep246, %.preheader140.2 ], [ %.14143.sroa.gep247, %.preheader140.3 ], [ %.14143.sroa.gep248, %.preheader140.4 ], [ %.14143.sroa.gep249, %.preheader140.5 ], [ %.14143.sroa.gep250, %.preheader140.6 ], [ %.14143.sroa.gep251, %.preheader140.7 ], [ %.14143.sroa.gep252, %.preheader140.8 ], [ %.14143.sroa.gep253, %.preheader140.9 ], [ %.14143.sroa.gep254, %.preheader140.10 ], [ %.14143.sroa.gep255, %.preheader140.11 ], [ %.14143.sroa.gep256, %.preheader140.12 ], [ %.14143.sroa.gep257, %.preheader140.13 ], [ %.14143.sroa.gep258, %.preheader140.14 ], [ %.14143.sroa.gep259, %.preheader140.15 ]
  %317 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %317, ptr %.14143.sroa.phi, align 8, !tbaa !11
  %318 = call i64 @s_rsfe(ptr noundef nonnull @MAIN__.io___60) #5
  %.not126 = icmp eq i64 %318, 0
  br i1 %.not126, label %.lr.ph209, label %._crit_edge210

._crit_edge210:                                   ; preds = %.loopexit, %.lr.ph209, %275, %277, %.preheader141
  store i64 0, ptr %3, align 8, !tbaa !35
  %319 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 5, ptr %319, align 8, !tbaa !37
  %320 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %320, align 8, !tbaa !38
  %321 = call i64 @f_clos(ptr noundef nonnull %3) #5
  store double 2.000000e+00, ptr %1, align 8, !tbaa !39
  %322 = call double @ddiff_(ptr noundef nonnull %1, ptr noundef nonnull @c_b121)
  %323 = fcmp oeq double %322, 0.000000e+00
  br i1 %323, label %._crit_edge216, label %.lr.ph215

.lr.ph215:                                        ; preds = %._crit_edge210, %.lr.ph215
  %324 = phi double [ %325, %.lr.ph215 ], [ 1.000000e+00, %._crit_edge210 ]
  %325 = fmul double %324, 5.000000e-01
  %326 = fadd double %325, 1.000000e+00
  store double %326, ptr %1, align 8, !tbaa !39
  %327 = call double @ddiff_(ptr noundef nonnull %1, ptr noundef nonnull @c_b121)
  %328 = fcmp oeq double %327, 0.000000e+00
  br i1 %328, label %._crit_edge216, label %.lr.ph215

._crit_edge216:                                   ; preds = %.lr.ph215, %._crit_edge210
  %329 = phi double [ 1.000000e+00, %._crit_edge210 ], [ %325, %.lr.ph215 ]
  %330 = fadd double %329, %329
  store double %330, ptr %22, align 8, !tbaa !39
  %331 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %331, ptr getelementptr inbounds (i8, ptr @MAIN__.io___65, i64 8), align 8, !tbaa !19
  %332 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___65) #5
  %333 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #5
  %334 = call i64 @e_wsfe() #5
  store i64 32, ptr %6, align 8, !tbaa !11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(256) %8, i8 0, i64 256, i1 false), !tbaa !39
  br label %.preheader139

.preheader139:                                    ; preds = %._crit_edge216, %.preheader139
  %.0218 = phi i64 [ 1, %._crit_edge216 ], [ %527, %.preheader139 ]
  %335 = mul nuw nsw i64 %.0218, 65
  %336 = sub nsw i64 2, %.0218
  %337 = icmp ult i64 %.0218, 3
  %338 = select i1 %337, i64 %336, i64 0
  %339 = sitofp i64 %338 to double
  %340 = add nsw i64 %335, -65
  %341 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %340
  store double %339, ptr %341, align 8, !tbaa !39
  %342 = sub nsw i64 3, %.0218
  %343 = icmp ult i64 %.0218, 4
  %344 = select i1 %343, i64 %342, i64 0
  %345 = sitofp i64 %344 to double
  %346 = add nsw i64 %335, -64
  %347 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %346
  store double %345, ptr %347, align 8, !tbaa !39
  %348 = sub nsw i64 4, %.0218
  %349 = icmp ult i64 %.0218, 5
  %350 = select i1 %349, i64 %348, i64 0
  %351 = sitofp i64 %350 to double
  %352 = add nsw i64 %335, -63
  %353 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %352
  store double %351, ptr %353, align 8, !tbaa !39
  %354 = sub nsw i64 5, %.0218
  %355 = icmp ult i64 %.0218, 6
  %356 = select i1 %355, i64 %354, i64 0
  %357 = sitofp i64 %356 to double
  %358 = add nsw i64 %335, -62
  %359 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %358
  store double %357, ptr %359, align 8, !tbaa !39
  %360 = sub nsw i64 6, %.0218
  %361 = icmp ult i64 %.0218, 7
  %362 = select i1 %361, i64 %360, i64 0
  %363 = sitofp i64 %362 to double
  %364 = add nsw i64 %335, -61
  %365 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %364
  store double %363, ptr %365, align 8, !tbaa !39
  %366 = sub nsw i64 7, %.0218
  %367 = icmp ult i64 %.0218, 8
  %368 = select i1 %367, i64 %366, i64 0
  %369 = sitofp i64 %368 to double
  %370 = add nsw i64 %335, -60
  %371 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %370
  store double %369, ptr %371, align 8, !tbaa !39
  %372 = sub nsw i64 8, %.0218
  %373 = icmp ult i64 %.0218, 9
  %374 = select i1 %373, i64 %372, i64 0
  %375 = sitofp i64 %374 to double
  %376 = add nsw i64 %335, -59
  %377 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %376
  store double %375, ptr %377, align 8, !tbaa !39
  %378 = sub nsw i64 9, %.0218
  %379 = icmp ult i64 %.0218, 10
  %380 = select i1 %379, i64 %378, i64 0
  %381 = sitofp i64 %380 to double
  %382 = add nsw i64 %335, -58
  %383 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %382
  store double %381, ptr %383, align 8, !tbaa !39
  %384 = sub nsw i64 10, %.0218
  %385 = icmp ult i64 %.0218, 11
  %386 = select i1 %385, i64 %384, i64 0
  %387 = sitofp i64 %386 to double
  %388 = add nsw i64 %335, -57
  %389 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %388
  store double %387, ptr %389, align 8, !tbaa !39
  %390 = sub nsw i64 11, %.0218
  %391 = icmp ult i64 %.0218, 12
  %392 = select i1 %391, i64 %390, i64 0
  %393 = sitofp i64 %392 to double
  %394 = add nsw i64 %335, -56
  %395 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %394
  store double %393, ptr %395, align 8, !tbaa !39
  %396 = sub nsw i64 12, %.0218
  %397 = icmp ult i64 %.0218, 13
  %398 = select i1 %397, i64 %396, i64 0
  %399 = sitofp i64 %398 to double
  %400 = add nsw i64 %335, -55
  %401 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %400
  store double %399, ptr %401, align 8, !tbaa !39
  %402 = sub nsw i64 13, %.0218
  %403 = icmp ult i64 %.0218, 14
  %404 = select i1 %403, i64 %402, i64 0
  %405 = sitofp i64 %404 to double
  %406 = add nsw i64 %335, -54
  %407 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %406
  store double %405, ptr %407, align 8, !tbaa !39
  %408 = sub nsw i64 14, %.0218
  %409 = icmp ult i64 %.0218, 15
  %410 = select i1 %409, i64 %408, i64 0
  %411 = sitofp i64 %410 to double
  %412 = add nsw i64 %335, -53
  %413 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %412
  store double %411, ptr %413, align 8, !tbaa !39
  %414 = sub nsw i64 15, %.0218
  %415 = icmp ult i64 %.0218, 16
  %416 = select i1 %415, i64 %414, i64 0
  %417 = sitofp i64 %416 to double
  %418 = add nsw i64 %335, -52
  %419 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %418
  store double %417, ptr %419, align 8, !tbaa !39
  %420 = sub nsw i64 16, %.0218
  %421 = icmp ult i64 %.0218, 17
  %422 = select i1 %421, i64 %420, i64 0
  %423 = sitofp i64 %422 to double
  %424 = add nsw i64 %335, -51
  %425 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %424
  store double %423, ptr %425, align 8, !tbaa !39
  %426 = sub nsw i64 17, %.0218
  %427 = icmp ult i64 %.0218, 18
  %428 = select i1 %427, i64 %426, i64 0
  %429 = sitofp i64 %428 to double
  %430 = add nsw i64 %335, -50
  %431 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %430
  store double %429, ptr %431, align 8, !tbaa !39
  %432 = sub nsw i64 18, %.0218
  %433 = icmp ult i64 %.0218, 19
  %434 = select i1 %433, i64 %432, i64 0
  %435 = sitofp i64 %434 to double
  %436 = add nsw i64 %335, -49
  %437 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %436
  store double %435, ptr %437, align 8, !tbaa !39
  %438 = sub nsw i64 19, %.0218
  %439 = icmp ult i64 %.0218, 20
  %440 = select i1 %439, i64 %438, i64 0
  %441 = sitofp i64 %440 to double
  %442 = add nsw i64 %335, -48
  %443 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %442
  store double %441, ptr %443, align 8, !tbaa !39
  %444 = sub nsw i64 20, %.0218
  %445 = icmp ult i64 %.0218, 21
  %446 = select i1 %445, i64 %444, i64 0
  %447 = sitofp i64 %446 to double
  %448 = add nsw i64 %335, -47
  %449 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %448
  store double %447, ptr %449, align 8, !tbaa !39
  %450 = sub nsw i64 21, %.0218
  %451 = icmp ult i64 %.0218, 22
  %452 = select i1 %451, i64 %450, i64 0
  %453 = sitofp i64 %452 to double
  %454 = add nsw i64 %335, -46
  %455 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %454
  store double %453, ptr %455, align 8, !tbaa !39
  %456 = sub nsw i64 22, %.0218
  %457 = icmp ult i64 %.0218, 23
  %458 = select i1 %457, i64 %456, i64 0
  %459 = sitofp i64 %458 to double
  %460 = add nsw i64 %335, -45
  %461 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %460
  store double %459, ptr %461, align 8, !tbaa !39
  %462 = sub nsw i64 23, %.0218
  %463 = icmp ult i64 %.0218, 24
  %464 = select i1 %463, i64 %462, i64 0
  %465 = sitofp i64 %464 to double
  %466 = add nsw i64 %335, -44
  %467 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %466
  store double %465, ptr %467, align 8, !tbaa !39
  %468 = sub nsw i64 24, %.0218
  %469 = icmp ult i64 %.0218, 25
  %470 = select i1 %469, i64 %468, i64 0
  %471 = sitofp i64 %470 to double
  %472 = add nsw i64 %335, -43
  %473 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %472
  store double %471, ptr %473, align 8, !tbaa !39
  %474 = sub nsw i64 25, %.0218
  %475 = icmp ult i64 %.0218, 26
  %476 = select i1 %475, i64 %474, i64 0
  %477 = sitofp i64 %476 to double
  %478 = add nsw i64 %335, -42
  %479 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %478
  store double %477, ptr %479, align 8, !tbaa !39
  %480 = sub nsw i64 26, %.0218
  %481 = icmp ult i64 %.0218, 27
  %482 = select i1 %481, i64 %480, i64 0
  %483 = sitofp i64 %482 to double
  %484 = add nsw i64 %335, -41
  %485 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %484
  store double %483, ptr %485, align 8, !tbaa !39
  %486 = sub nsw i64 27, %.0218
  %487 = icmp ult i64 %.0218, 28
  %488 = select i1 %487, i64 %486, i64 0
  %489 = sitofp i64 %488 to double
  %490 = add nsw i64 %335, -40
  %491 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %490
  store double %489, ptr %491, align 8, !tbaa !39
  %492 = sub nsw i64 28, %.0218
  %493 = icmp ult i64 %.0218, 29
  %494 = select i1 %493, i64 %492, i64 0
  %495 = sitofp i64 %494 to double
  %496 = add nsw i64 %335, -39
  %497 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %496
  store double %495, ptr %497, align 8, !tbaa !39
  %498 = sub nsw i64 29, %.0218
  %499 = icmp ult i64 %.0218, 30
  %500 = select i1 %499, i64 %498, i64 0
  %501 = sitofp i64 %500 to double
  %502 = add nsw i64 %335, -38
  %503 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %502
  store double %501, ptr %503, align 8, !tbaa !39
  %504 = sub nsw i64 30, %.0218
  %505 = icmp ult i64 %.0218, 31
  %506 = select i1 %505, i64 %504, i64 0
  %507 = sitofp i64 %506 to double
  %508 = add nsw i64 %335, -37
  %509 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %508
  store double %507, ptr %509, align 8, !tbaa !39
  %510 = sub nsw i64 31, %.0218
  %511 = icmp ult i64 %.0218, 32
  %512 = select i1 %511, i64 %510, i64 0
  %513 = sitofp i64 %512 to double
  %514 = add nsw i64 %335, -36
  %515 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %514
  store double %513, ptr %515, align 8, !tbaa !39
  %516 = sub nsw i64 32, %.0218
  %517 = sitofp i64 %516 to double
  %518 = add nsw i64 %335, -35
  %519 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %518
  store double %517, ptr %519, align 8, !tbaa !39
  %520 = sub nsw i64 33, %.0218
  %521 = uitofp nneg i64 %520 to double
  %522 = add nsw i64 %335, -34
  %523 = getelementptr inbounds [4225 x double], ptr %4, i64 0, i64 %522
  store double %521, ptr %523, align 8, !tbaa !39
  %524 = uitofp nneg i64 %.0218 to double
  %525 = add nsw i64 %.0218, -1
  %526 = getelementptr inbounds [65 x double], ptr %7, i64 0, i64 %525
  store double %524, ptr %526, align 8, !tbaa !39
  %527 = add nuw nsw i64 %.0218, 1
  %exitcond242.not = icmp eq i64 %527, 33
  br i1 %exitcond242.not, label %.preheader, label %.preheader139, !llvm.loop !41

.preheader:                                       ; preds = %.preheader139, %.preheader
  %.1219 = phi i64 [ %528, %.preheader ], [ 1, %.preheader139 ]
  %528 = add nuw nsw i64 %.1219, 1
  %529 = mul nuw nsw i64 %528, %.1219
  %530 = mul nuw nsw i64 %529, %.1219
  %531 = lshr i64 %530, 1
  %532 = add nsw i64 %.1219, -1
  %533 = mul nsw i64 %529, %532
  %.neg = sdiv i64 %533, -3
  %534 = add nsw i64 %.neg, %531
  %535 = sitofp i64 %534 to double
  %536 = getelementptr inbounds [130 x double], ptr %17, i64 0, i64 %532
  store double %535, ptr %536, align 8, !tbaa !39
  %exitcond243 = icmp eq i64 %528, 33
  br i1 %exitcond243, label %537, label %.preheader, !llvm.loop !42

537:                                              ; preds = %.preheader
  store i8 78, ptr %36, align 1, !tbaa !18
  %538 = call i32 @dmvch_(ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull %6, ptr noundef nonnull @c_b121, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %7, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b133, ptr noundef nonnull %8, ptr noundef nonnull @c__1, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %17, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef nonnull %32, ptr noundef nonnull %31, ptr noundef nonnull @c_true, i64 noundef 1)
  %539 = call i64 @lde_(ptr noundef nonnull %17, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %539, ptr %26, align 8, !tbaa !11
  %540 = icmp eq i64 %539, 0
  %541 = load double, ptr %23, align 8
  %542 = fcmp une double %541, 0.000000e+00
  %or.cond11 = select i1 %540, i1 true, i1 %542
  br i1 %or.cond11, label %543, label %551

543:                                              ; preds = %537
  %544 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %544, ptr getelementptr inbounds (i8, ptr @MAIN__.io___78, i64 8), align 8, !tbaa !19
  %545 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___78) #5
  %546 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #5
  %547 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %26, i64 noundef 8) #5
  %548 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %23, i64 noundef 8) #5
  %549 = call i64 @e_wsfe() #5
  %550 = call i32 @s_stop(ptr noundef nonnull @.str.6, i64 noundef 0) #5
  br label %551

551:                                              ; preds = %537, %543
  store i8 84, ptr %36, align 1, !tbaa !18
  %552 = call i32 @dmvch_(ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull %6, ptr noundef nonnull @c_b121, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %7, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_b133, ptr noundef nonnull %8, ptr noundef nonnull @c_n1, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %17, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef nonnull %32, ptr noundef nonnull %31, ptr noundef nonnull @c_true, i64 noundef 1)
  %553 = call i64 @lde_(ptr noundef nonnull %17, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %553, ptr %26, align 8, !tbaa !11
  %554 = icmp eq i64 %553, 0
  %555 = load double, ptr %23, align 8
  %556 = fcmp une double %555, 0.000000e+00
  %or.cond13 = select i1 %554, i1 true, i1 %556
  br i1 %or.cond13, label %557, label %565

557:                                              ; preds = %551
  %558 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %558, ptr getelementptr inbounds (i8, ptr @MAIN__.io___79, i64 8), align 8, !tbaa !19
  %559 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___79) #5
  %560 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #5
  %561 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %26, i64 noundef 8) #5
  %562 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %23, i64 noundef 8) #5
  %563 = call i64 @e_wsfe() #5
  %564 = call i32 @s_stop(ptr noundef nonnull @.str.6, i64 noundef 0) #5
  br label %565

565:                                              ; preds = %551, %557
  store i64 1, ptr %37, align 8, !tbaa !11
  br label %566

566:                                              ; preds = %565, %617
  %567 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %567, ptr getelementptr inbounds (i8, ptr @MAIN__.io___81, i64 8), align 8, !tbaa !19
  %568 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___81) #5
  %569 = call i64 @e_wsle() #5
  %570 = load i64, ptr %37, align 8, !tbaa !11
  %571 = add nsw i64 %570, -1
  %572 = getelementptr inbounds [16 x i64], ptr %38, i64 0, i64 %571
  %573 = load i64, ptr %572, align 8, !tbaa !11
  %.not132 = icmp eq i64 %573, 0
  br i1 %.not132, label %574, label %581

574:                                              ; preds = %566
  %575 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %575, ptr getelementptr inbounds (i8, ptr @MAIN__.io___82, i64 8), align 8, !tbaa !19
  %576 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___82) #5
  %577 = load i64, ptr %37, align 8, !tbaa !11
  %578 = mul i64 %577, 6
  %gep226 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %578
  %579 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %gep226, i64 noundef 6) #5
  %580 = call i64 @e_wsfe() #5
  br label %617

581:                                              ; preds = %566
  %582 = mul nsw i64 %571, 6
  %583 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %582
  %584 = call i32 @s_copy(ptr noundef nonnull @srnamc_, ptr noundef nonnull %583, i64 noundef 6, i64 noundef 6) #5
  %585 = load i64, ptr %43, align 8, !tbaa !11
  %.not133 = icmp eq i64 %585, 0
  br i1 %.not133, label %593, label %586

586:                                              ; preds = %581
  %587 = load i64, ptr %37, align 8, !tbaa !11
  %588 = mul i64 %587, 6
  %gep220 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %588
  %589 = call i32 @dchke_(ptr noundef nonnull %37, ptr noundef %gep220, ptr noundef nonnull %31, i64 noundef 6)
  %590 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %590, ptr getelementptr inbounds (i8, ptr @MAIN__.io___83, i64 8), align 8, !tbaa !19
  %591 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___83) #5
  %592 = call i64 @e_wsle() #5
  br label %593

593:                                              ; preds = %586, %581
  store i64 0, ptr @infoc_, align 8, !tbaa !18
  store i64 1, ptr getelementptr inbounds (i8, ptr @infoc_, i64 16), align 8, !tbaa !18
  store i64 0, ptr %32, align 8, !tbaa !11
  %594 = load i64, ptr %37, align 8, !tbaa !11
  switch i64 %594, label %595 [
    i64 16, label %609
    i64 15, label %609
    i64 3, label %598
    i64 4, label %598
    i64 5, label %598
    i64 6, label %601
    i64 7, label %601
    i64 8, label %601
    i64 9, label %601
    i64 10, label %601
    i64 11, label %601
    i64 12, label %604
    i64 13, label %606
    i64 14, label %606
  ]

595:                                              ; preds = %593
  %596 = mul i64 %594, 6
  %gep225 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %596
  %597 = call i32 @dchk1_(ptr noundef %gep225, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %20, ptr noundef nonnull %11, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %28, ptr noundef nonnull %21, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %612

598:                                              ; preds = %593, %593, %593
  %599 = mul nuw nsw i64 %594, 6
  %gep223 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %599
  %600 = call i32 @dchk2_(ptr noundef %gep223, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %20, ptr noundef nonnull %11, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %28, ptr noundef nonnull %21, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %612

601:                                              ; preds = %593, %593, %593, %593, %593, %593
  %602 = mul nuw nsw i64 %594, 6
  %gep222 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %602
  %603 = call i32 @dchk3_(ptr noundef %gep222, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %20, ptr noundef nonnull %11, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %9, i64 noundef 6)
  br label %612

604:                                              ; preds = %593
  %605 = call i32 @dchk4_(ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 66), ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %9, i64 noundef 6)
  br label %612

606:                                              ; preds = %593, %593
  %607 = mul nuw nsw i64 %594, 6
  %gep221 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %607
  %608 = call i32 @dchk5_(ptr noundef %gep221, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %9, i64 noundef 6)
  br label %612

609:                                              ; preds = %593, %593
  %610 = mul nuw nsw i64 %594, 6
  %gep224 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %610
  %611 = call i32 @dchk6_(ptr noundef %gep224, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %9, i64 noundef 6)
  br label %612

612:                                              ; preds = %609, %606, %604, %601, %598, %595
  %613 = load i64, ptr %32, align 8, !tbaa !11
  %614 = icmp ne i64 %613, 0
  %615 = load i64, ptr %39, align 8
  %616 = icmp ne i64 %615, 0
  %or.cond15 = select i1 %614, i1 %616, i1 false
  br i1 %or.cond15, label %623, label %617

617:                                              ; preds = %574, %612
  %618 = load i64, ptr %37, align 8, !tbaa !11
  %619 = add nsw i64 %618, 1
  store i64 %619, ptr %37, align 8, !tbaa !11
  %620 = icmp slt i64 %618, 16
  br i1 %620, label %566, label %621, !llvm.loop !43

621:                                              ; preds = %617
  %622 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %622, ptr getelementptr inbounds (i8, ptr @MAIN__.io___90, i64 8), align 8, !tbaa !19
  br label %628

623:                                              ; preds = %612
  %624 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %624, ptr getelementptr inbounds (i8, ptr @MAIN__.io___91, i64 8), align 8, !tbaa !19
  br label %628

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

628:                                              ; preds = %625, %623, %621
  %MAIN__.io___92.sink = phi ptr [ @MAIN__.io___92, %625 ], [ @MAIN__.io___91, %623 ], [ @MAIN__.io___90, %621 ]
  %629 = call i64 @s_wsfe(ptr noundef nonnull %MAIN__.io___92.sink) #5
  %630 = call i64 @e_wsfe() #5
  %631 = load i64, ptr %33, align 8, !tbaa !11
  %.not135 = icmp eq i64 %631, 0
  br i1 %.not135, label %637, label %632

632:                                              ; preds = %628
  store i64 0, ptr %3, align 8, !tbaa !35
  %633 = load i64, ptr %29, align 8, !tbaa !11
  %634 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 %633, ptr %634, align 8, !tbaa !37
  %635 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %635, align 8, !tbaa !38
  %636 = call i64 @f_clos(ptr noundef nonnull %3) #5
  br label %637

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

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

declare i64 @s_rsle(ptr noundef) local_unnamed_addr #2

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

declare i64 @e_rsle() local_unnamed_addr #2

declare i64 @f_open(ptr noundef) local_unnamed_addr #2

declare i64 @s_wsfe(ptr noundef) local_unnamed_addr #2

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

declare i64 @e_wsfe() local_unnamed_addr #2

declare i64 @s_wsle(ptr noundef) local_unnamed_addr #2

declare i64 @e_wsle() local_unnamed_addr #2

declare i64 @s_rsfe(ptr noundef) local_unnamed_addr #2

declare i64 @e_rsfe() local_unnamed_addr #2

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

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

declare i64 @f_clos(ptr noundef) local_unnamed_addr #2

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

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

; Function Attrs: nounwind uwtable
declare dso_local i64 @lde_(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 @dchke_(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @dchk1_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk2_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk3_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk4_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk5_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 @dchk6_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

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

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

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

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

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

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


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