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

; 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 [36 x i8], align 16
@MAIN__.io___2 = external hidden global %struct.cilist, align 8
@MAIN__.io___4 = external hidden global %struct.cilist, align 8
@MAIN__.io___6 = external hidden global %struct.cilist, align 8
@MAIN__.io___8 = external hidden global %struct.cilist, align 8
@MAIN__.io___11 = external hidden global %struct.cilist, align 8
@MAIN__.io___13 = external hidden global %struct.cilist, align 8
@MAIN__.io___15 = external hidden global %struct.cilist, align 8
@MAIN__.io___17 = external hidden global %struct.cilist, align 8
@MAIN__.io___19 = external hidden global %struct.cilist, align 8
@MAIN__.io___21 = external hidden global %struct.cilist, align 8
@MAIN__.io___22 = external hidden global %struct.cilist, align 8
@MAIN__.io___25 = external hidden global %struct.cilist, align 8
@MAIN__.io___26 = external hidden global %struct.cilist, align 8
@MAIN__.io___28 = external hidden global %struct.cilist, align 8
@MAIN__.io___29 = external hidden global %struct.cilist, align 8
@MAIN__.io___31 = external hidden global %struct.cilist, align 8
@MAIN__.io___33 = external hidden global %struct.cilist, align 8
@MAIN__.io___34 = external hidden global %struct.cilist, align 8
@MAIN__.io___36 = external hidden global %struct.cilist, align 8
@MAIN__.io___37 = external hidden global %struct.cilist, align 8
@MAIN__.io___38 = external hidden global %struct.cilist, align 8
@MAIN__.io___39 = external hidden global %struct.cilist, align 8
@MAIN__.io___40 = external hidden global %struct.cilist, align 8
@MAIN__.io___41 = external hidden global %struct.cilist, align 8
@MAIN__.io___42 = external hidden global %struct.cilist, align 8
@MAIN__.io___43 = external hidden global %struct.cilist, align 8
@MAIN__.io___44 = external hidden global %struct.cilist, align 8
@MAIN__.io___46 = external hidden global %struct.cilist, align 8
@MAIN__.io___49 = external hidden global %struct.cilist, align 8
@MAIN__.io___51 = external hidden global %struct.cilist, align 8
@MAIN__.io___64 = external hidden global %struct.cilist, align 8
@MAIN__.io___65 = external hidden global %struct.cilist, align 8
@MAIN__.io___66 = external hidden global %struct.cilist, align 8
@MAIN__.io___67 = external hidden global %struct.cilist, align 8
@MAIN__.io___69 = external hidden global %struct.cilist, align 8
@MAIN__.io___70 = external hidden global %struct.cilist, align 8
@MAIN__.io___71 = external hidden global %struct.cilist, align 8
@MAIN__.io___78 = external hidden global %struct.cilist, align 8
@MAIN__.io___79 = external hidden global %struct.cilist, align 8
@MAIN__.io___80 = external hidden global %struct.cilist, align 8
@c__9 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8
@.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 [6 x i8], align 1
@c__7 = external hidden global i64, align 8
@.str.3 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [1 x i8], align 1
@c_b87 = external hidden global double, align 8
@c_b101 = external hidden global double, align 8
@c_true = external hidden global i64, align 8
@srnamc_ = external dso_local global %struct.anon.1, align 1

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

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

92:                                               ; preds = %79, %0
  %93 = call i64 @s_rsle(ptr noundef @MAIN__.io___11)
  %94 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %30, i64 noundef 8)
  %95 = call i64 @e_rsle()
  %96 = load i64, ptr %30, align 8, !tbaa !11
  %97 = icmp ne i64 %96, 0
  br i1 %97, label %98, label %101

98:                                               ; preds = %92
  %99 = load i64, ptr %33, align 8, !tbaa !11
  %100 = icmp ne i64 %99, 0
  br label %101

101:                                              ; preds = %98, %92
  %102 = phi i1 [ false, %92 ], [ %100, %98 ]
  %103 = zext i1 %102 to i32
  %104 = sext i32 %103 to i64
  store i64 %104, ptr %30, align 8, !tbaa !11
  %105 = call i64 @s_rsle(ptr noundef @MAIN__.io___13)
  %106 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %38, i64 noundef 8)
  %107 = call i64 @e_rsle()
  %108 = call i64 @s_rsle(ptr noundef @MAIN__.io___15)
  %109 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %44, i64 noundef 8)
  %110 = call i64 @e_rsle()
  %111 = call i64 @s_rsle(ptr noundef @MAIN__.io___17)
  %112 = call i64 @do_lio(ptr noundef @c__5, ptr noundef @c__1, ptr noundef %42, i64 noundef 8)
  %113 = call i64 @e_rsle()
  %114 = call i64 @s_rsle(ptr noundef @MAIN__.io___19)
  %115 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %34, i64 noundef 8)
  %116 = call i64 @e_rsle()
  %117 = load i64, ptr %34, align 8, !tbaa !11
  %118 = icmp slt i64 %117, 1
  br i1 %118, label %122, label %119

119:                                              ; preds = %101
  %120 = load i64, ptr %34, align 8, !tbaa !11
  %121 = icmp sgt i64 %120, 9
  br i1 %121, label %122, label %128

122:                                              ; preds = %119, %101
  %123 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %123, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___21, i32 0, i32 1), align 8, !tbaa !21
  %124 = call i64 @s_wsfe(ptr noundef @MAIN__.io___21)
  %125 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.1, i64 noundef 1)
  %126 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__9, i64 noundef 8)
  %127 = call i64 @e_wsfe()
  br label %819

128:                                              ; preds = %119
  %129 = call i64 @s_rsle(ptr noundef @MAIN__.io___22)
  %130 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %130, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %131

131:                                              ; preds = %140, %128
  %132 = load i64, ptr %9, align 8, !tbaa !11
  %133 = load i64, ptr %1, align 8, !tbaa !11
  %134 = icmp sle i64 %132, %133
  br i1 %134, label %135, label %143

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

140:                                              ; preds = %135
  %141 = load i64, ptr %9, align 8, !tbaa !11
  %142 = add nsw i64 %141, 1
  store i64 %142, ptr %9, align 8, !tbaa !11
  br label %131, !llvm.loop !23

143:                                              ; preds = %131
  %144 = call i64 @e_rsle()
  %145 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %145, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %146

146:                                              ; preds = %168, %143
  %147 = load i64, ptr %9, align 8, !tbaa !11
  %148 = load i64, ptr %1, align 8, !tbaa !11
  %149 = icmp sle i64 %147, %148
  br i1 %149, label %150, label %171

150:                                              ; preds = %146
  %151 = load i64, ptr %9, align 8, !tbaa !11
  %152 = sub nsw i64 %151, 1
  %153 = getelementptr inbounds [9 x i64], ptr %26, i64 0, i64 %152
  %154 = load i64, ptr %153, align 8, !tbaa !11
  %155 = icmp slt i64 %154, 0
  br i1 %155, label %162, label %156

156:                                              ; preds = %150
  %157 = load i64, ptr %9, align 8, !tbaa !11
  %158 = sub nsw i64 %157, 1
  %159 = getelementptr inbounds [9 x i64], ptr %26, i64 0, i64 %158
  %160 = load i64, ptr %159, align 8, !tbaa !11
  %161 = icmp sgt i64 %160, 65
  br i1 %161, label %162, label %167

162:                                              ; preds = %156, %150
  %163 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %163, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___25, i32 0, i32 1), align 8, !tbaa !21
  %164 = call i64 @s_wsfe(ptr noundef @MAIN__.io___25)
  %165 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__65, i64 noundef 8)
  %166 = call i64 @e_wsfe()
  br label %819

167:                                              ; preds = %156
  br label %168

168:                                              ; preds = %167
  %169 = load i64, ptr %9, align 8, !tbaa !11
  %170 = add nsw i64 %169, 1
  store i64 %170, ptr %9, align 8, !tbaa !11
  br label %146, !llvm.loop !25

171:                                              ; preds = %146
  %172 = call i64 @s_rsle(ptr noundef @MAIN__.io___26)
  %173 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %25, i64 noundef 8)
  %174 = call i64 @e_rsle()
  %175 = load i64, ptr %25, align 8, !tbaa !11
  %176 = icmp slt i64 %175, 1
  br i1 %176, label %180, label %177

177:                                              ; preds = %171
  %178 = load i64, ptr %25, align 8, !tbaa !11
  %179 = icmp sgt i64 %178, 7
  br i1 %179, label %180, label %186

180:                                              ; preds = %177, %171
  %181 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %181, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___28, i32 0, i32 1), align 8, !tbaa !21
  %182 = call i64 @s_wsfe(ptr noundef @MAIN__.io___28)
  %183 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.2, i64 noundef 5)
  %184 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %185 = call i64 @e_wsfe()
  br label %819

186:                                              ; preds = %177
  %187 = call i64 @s_rsle(ptr noundef @MAIN__.io___29)
  %188 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %188, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %189

189:                                              ; preds = %198, %186
  %190 = load i64, ptr %9, align 8, !tbaa !11
  %191 = load i64, ptr %1, align 8, !tbaa !11
  %192 = icmp sle i64 %190, %191
  br i1 %192, label %193, label %201

193:                                              ; preds = %189
  %194 = load i64, ptr %9, align 8, !tbaa !11
  %195 = sub nsw i64 %194, 1
  %196 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 %195
  %197 = call i64 @do_lio(ptr noundef @c__5, ptr noundef @c__1, ptr noundef %196, i64 noundef 8)
  br label %198

198:                                              ; preds = %193
  %199 = load i64, ptr %9, align 8, !tbaa !11
  %200 = add nsw i64 %199, 1
  store i64 %200, ptr %9, align 8, !tbaa !11
  br label %189, !llvm.loop !26

201:                                              ; preds = %189
  %202 = call i64 @e_rsle()
  %203 = call i64 @s_rsle(ptr noundef @MAIN__.io___31)
  %204 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %28, i64 noundef 8)
  %205 = call i64 @e_rsle()
  %206 = load i64, ptr %28, align 8, !tbaa !11
  %207 = icmp slt i64 %206, 1
  br i1 %207, label %211, label %208

208:                                              ; preds = %201
  %209 = load i64, ptr %28, align 8, !tbaa !11
  %210 = icmp sgt i64 %209, 7
  br i1 %210, label %211, label %217

211:                                              ; preds = %208, %201
  %212 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %212, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___33, i32 0, i32 1), align 8, !tbaa !21
  %213 = call i64 @s_wsfe(ptr noundef @MAIN__.io___33)
  %214 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.3, i64 noundef 4)
  %215 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %216 = call i64 @e_wsfe()
  br label %819

217:                                              ; preds = %208
  %218 = call i64 @s_rsle(ptr noundef @MAIN__.io___34)
  %219 = load i64, ptr %28, align 8, !tbaa !11
  store i64 %219, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %220

220:                                              ; preds = %229, %217
  %221 = load i64, ptr %9, align 8, !tbaa !11
  %222 = load i64, ptr %1, align 8, !tbaa !11
  %223 = icmp sle i64 %221, %222
  br i1 %223, label %224, label %232

224:                                              ; preds = %220
  %225 = load i64, ptr %9, align 8, !tbaa !11
  %226 = sub nsw i64 %225, 1
  %227 = getelementptr inbounds [7 x double], ptr %22, i64 0, i64 %226
  %228 = call i64 @do_lio(ptr noundef @c__5, ptr noundef @c__1, ptr noundef %227, i64 noundef 8)
  br label %229

229:                                              ; preds = %224
  %230 = load i64, ptr %9, align 8, !tbaa !11
  %231 = add nsw i64 %230, 1
  store i64 %231, ptr %9, align 8, !tbaa !11
  br label %220, !llvm.loop !27

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

240:                                              ; preds = %249, %232
  %241 = load i64, ptr %9, align 8, !tbaa !11
  %242 = load i64, ptr %1, align 8, !tbaa !11
  %243 = icmp sle i64 %241, %242
  br i1 %243, label %244, label %252

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

249:                                              ; preds = %244
  %250 = load i64, ptr %9, align 8, !tbaa !11
  %251 = add nsw i64 %250, 1
  store i64 %251, ptr %9, align 8, !tbaa !11
  br label %240, !llvm.loop !28

252:                                              ; preds = %240
  %253 = call i64 @e_wsfe()
  %254 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %254, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___38, i32 0, i32 1), align 8, !tbaa !21
  %255 = call i64 @s_wsfe(ptr noundef @MAIN__.io___38)
  %256 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %256, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %257

257:                                              ; preds = %266, %252
  %258 = load i64, ptr %9, align 8, !tbaa !11
  %259 = load i64, ptr %1, align 8, !tbaa !11
  %260 = icmp sle i64 %258, %259
  br i1 %260, label %261, label %269

261:                                              ; preds = %257
  %262 = load i64, ptr %9, align 8, !tbaa !11
  %263 = sub nsw i64 %262, 1
  %264 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 %263
  %265 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %264, i64 noundef 8)
  br label %266

266:                                              ; preds = %261
  %267 = load i64, ptr %9, align 8, !tbaa !11
  %268 = add nsw i64 %267, 1
  store i64 %268, ptr %9, align 8, !tbaa !11
  br label %257, !llvm.loop !29

269:                                              ; preds = %257
  %270 = call i64 @e_wsfe()
  %271 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %271, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___39, i32 0, i32 1), align 8, !tbaa !21
  %272 = call i64 @s_wsfe(ptr noundef @MAIN__.io___39)
  %273 = load i64, ptr %28, align 8, !tbaa !11
  store i64 %273, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %274

274:                                              ; preds = %283, %269
  %275 = load i64, ptr %9, align 8, !tbaa !11
  %276 = load i64, ptr %1, align 8, !tbaa !11
  %277 = icmp sle i64 %275, %276
  br i1 %277, label %278, label %286

278:                                              ; preds = %274
  %279 = load i64, ptr %9, align 8, !tbaa !11
  %280 = sub nsw i64 %279, 1
  %281 = getelementptr inbounds [7 x double], ptr %22, i64 0, i64 %280
  %282 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %281, i64 noundef 8)
  br label %283

283:                                              ; preds = %278
  %284 = load i64, ptr %9, align 8, !tbaa !11
  %285 = add nsw i64 %284, 1
  store i64 %285, ptr %9, align 8, !tbaa !11
  br label %274, !llvm.loop !30

286:                                              ; preds = %274
  %287 = call i64 @e_wsfe()
  %288 = load i64, ptr %44, align 8, !tbaa !11
  %289 = icmp ne i64 %288, 0
  br i1 %289, label %297, label %290

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

297:                                              ; preds = %290, %286
  %298 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %298, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___42, i32 0, i32 1), align 8, !tbaa !21
  %299 = call i64 @s_wsle(ptr noundef @MAIN__.io___42)
  %300 = call i64 @e_wsle()
  %301 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %301, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___43, i32 0, i32 1), align 8, !tbaa !21
  %302 = call i64 @s_wsfe(ptr noundef @MAIN__.io___43)
  %303 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %42, i64 noundef 8)
  %304 = call i64 @e_wsfe()
  %305 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %305, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___44, i32 0, i32 1), align 8, !tbaa !21
  %306 = call i64 @s_wsle(ptr noundef @MAIN__.io___44)
  %307 = call i64 @e_wsle()
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %308

308:                                              ; preds = %315, %297
  %309 = load i64, ptr %9, align 8, !tbaa !11
  %310 = icmp sle i64 %309, 6
  br i1 %310, label %311, label %318

311:                                              ; preds = %308
  %312 = load i64, ptr %9, align 8, !tbaa !11
  %313 = sub nsw i64 %312, 1
  %314 = getelementptr inbounds [6 x i64], ptr %37, i64 0, i64 %313
  store i64 0, ptr %314, align 8, !tbaa !11
  br label %315

315:                                              ; preds = %311
  %316 = load i64, ptr %9, align 8, !tbaa !11
  %317 = add nsw i64 %316, 1
  store i64 %317, ptr %9, align 8, !tbaa !11
  br label %308, !llvm.loop !31

318:                                              ; preds = %308
  br label %319

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

323:                                              ; preds = %319
  br label %369

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

329:                                              ; preds = %324
  br label %369

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

334:                                              ; preds = %330
  br label %369

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

339:                                              ; preds = %335
  br label %369

340:                                              ; preds = %335
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %341

341:                                              ; preds = %354, %340
  %342 = load i64, ptr %9, align 8, !tbaa !11
  %343 = icmp sle i64 %342, 6
  br i1 %343, label %344, label %357

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

352:                                              ; preds = %344
  br label %364

353:                                              ; preds = %344
  br label %354

354:                                              ; preds = %353
  %355 = load i64, ptr %9, align 8, !tbaa !11
  %356 = add nsw i64 %355, 1
  store i64 %356, ptr %9, align 8, !tbaa !11
  br label %341, !llvm.loop !32

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

364:                                              ; preds = %357, %352
  %365 = load i64, ptr %43, align 8, !tbaa !11
  %366 = load i64, ptr %9, align 8, !tbaa !11
  %367 = sub nsw i64 %366, 1
  %368 = getelementptr inbounds [6 x i64], ptr %37, i64 0, i64 %367
  store i64 %365, ptr %368, align 8, !tbaa !11
  br label %319

369:                                              ; preds = %339, %334, %329, %323
  %370 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 0
  store i64 0, ptr %370, align 8, !tbaa !33
  %371 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 1
  store i64 5, ptr %371, align 8, !tbaa !35
  %372 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 2
  store ptr null, ptr %372, align 8, !tbaa !36
  %373 = call i64 @f_clos(ptr noundef %6)
  store double 1.000000e+00, ptr %23, align 8, !tbaa !37
  br label %374

374:                                              ; preds = %380, %369
  %375 = load double, ptr %23, align 8, !tbaa !37
  %376 = fadd double %375, 1.000000e+00
  store double %376, ptr %4, align 8, !tbaa !37
  %377 = call double @ddiff_(ptr noundef %4, ptr noundef @c_b87)
  %378 = fcmp oeq double %377, 0.000000e+00
  br i1 %378, label %379, label %380

379:                                              ; preds = %374
  br label %383

380:                                              ; preds = %374
  %381 = load double, ptr %23, align 8, !tbaa !37
  %382 = fmul double %381, 5.000000e-01
  store double %382, ptr %23, align 8, !tbaa !37
  br label %374

383:                                              ; preds = %379
  %384 = load double, ptr %23, align 8, !tbaa !37
  %385 = load double, ptr %23, align 8, !tbaa !37
  %386 = fadd double %385, %384
  store double %386, ptr %23, align 8, !tbaa !37
  %387 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %387, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___51, i32 0, i32 1), align 8, !tbaa !21
  %388 = call i64 @s_wsfe(ptr noundef @MAIN__.io___51)
  %389 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %23, i64 noundef 8)
  %390 = call i64 @e_wsfe()
  store i64 32, ptr %11, align 8, !tbaa !11
  %391 = load i64, ptr %11, align 8, !tbaa !11
  store i64 %391, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %10, align 8, !tbaa !11
  br label %392

392:                                              ; preds = %440, %383
  %393 = load i64, ptr %10, align 8, !tbaa !11
  %394 = load i64, ptr %1, align 8, !tbaa !11
  %395 = icmp sle i64 %393, %394
  br i1 %395, label %396, label %443

396:                                              ; preds = %392
  %397 = load i64, ptr %11, align 8, !tbaa !11
  store i64 %397, ptr %2, align 8, !tbaa !11
  store i64 1, ptr %9, align 8, !tbaa !11
  br label %398

398:                                              ; preds = %421, %396
  %399 = load i64, ptr %9, align 8, !tbaa !11
  %400 = load i64, ptr %2, align 8, !tbaa !11
  %401 = icmp sle i64 %399, %400
  br i1 %401, label %402, label %424

402:                                              ; preds = %398
  %403 = load i64, ptr %9, align 8, !tbaa !11
  %404 = load i64, ptr %10, align 8, !tbaa !11
  %405 = sub nsw i64 %403, %404
  %406 = add nsw i64 %405, 1
  store i64 %406, ptr %3, align 8, !tbaa !11
  %407 = load i64, ptr %3, align 8, !tbaa !11
  %408 = icmp sge i64 %407, 0
  br i1 %408, label %409, label %411

409:                                              ; preds = %402
  %410 = load i64, ptr %3, align 8, !tbaa !11
  br label %412

411:                                              ; preds = %402
  br label %412

412:                                              ; preds = %411, %409
  %413 = phi i64 [ %410, %409 ], [ 0, %411 ]
  %414 = sitofp i64 %413 to double
  %415 = load i64, ptr %9, align 8, !tbaa !11
  %416 = load i64, ptr %10, align 8, !tbaa !11
  %417 = mul nsw i64 %416, 65
  %418 = add nsw i64 %415, %417
  %419 = sub nsw i64 %418, 66
  %420 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 %419
  store double %414, ptr %420, align 8, !tbaa !37
  br label %421

421:                                              ; preds = %412
  %422 = load i64, ptr %9, align 8, !tbaa !11
  %423 = add nsw i64 %422, 1
  store i64 %423, ptr %9, align 8, !tbaa !11
  br label %398, !llvm.loop !39

424:                                              ; preds = %398
  %425 = load i64, ptr %10, align 8, !tbaa !11
  %426 = sitofp i64 %425 to double
  %427 = load i64, ptr %10, align 8, !tbaa !11
  %428 = add nsw i64 %427, 4224
  %429 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 %428
  store double %426, ptr %429, align 8, !tbaa !37
  %430 = load i64, ptr %10, align 8, !tbaa !11
  %431 = sitofp i64 %430 to double
  %432 = load i64, ptr %10, align 8, !tbaa !11
  %433 = add nsw i64 %432, 65
  %434 = mul nsw i64 %433, 65
  %435 = sub nsw i64 %434, 65
  %436 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 %435
  store double %431, ptr %436, align 8, !tbaa !37
  %437 = load i64, ptr %10, align 8, !tbaa !11
  %438 = sub nsw i64 %437, 1
  %439 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 %438
  store double 0.000000e+00, ptr %439, align 8, !tbaa !37
  br label %440

440:                                              ; preds = %424
  %441 = load i64, ptr %10, align 8, !tbaa !11
  %442 = add nsw i64 %441, 1
  store i64 %442, ptr %10, align 8, !tbaa !11
  br label %392, !llvm.loop !40

443:                                              ; preds = %392
  %444 = load i64, ptr %11, align 8, !tbaa !11
  store i64 %444, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %10, align 8, !tbaa !11
  br label %445

445:                                              ; preds = %470, %443
  %446 = load i64, ptr %10, align 8, !tbaa !11
  %447 = load i64, ptr %1, align 8, !tbaa !11
  %448 = icmp sle i64 %446, %447
  br i1 %448, label %449, label %473

449:                                              ; preds = %445
  %450 = load i64, ptr %10, align 8, !tbaa !11
  %451 = load i64, ptr %10, align 8, !tbaa !11
  %452 = add nsw i64 %451, 1
  %453 = load i64, ptr %10, align 8, !tbaa !11
  %454 = mul nsw i64 %452, %453
  %455 = mul nsw i64 %450, %454
  %456 = sdiv i64 %455, 2
  %457 = load i64, ptr %10, align 8, !tbaa !11
  %458 = add nsw i64 %457, 1
  %459 = load i64, ptr %10, align 8, !tbaa !11
  %460 = mul nsw i64 %458, %459
  %461 = load i64, ptr %10, align 8, !tbaa !11
  %462 = sub nsw i64 %461, 1
  %463 = mul nsw i64 %460, %462
  %464 = sdiv i64 %463, 3
  %465 = sub nsw i64 %456, %464
  %466 = sitofp i64 %465 to double
  %467 = load i64, ptr %10, align 8, !tbaa !11
  %468 = sub nsw i64 %467, 1
  %469 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 %468
  store double %466, ptr %469, align 8, !tbaa !37
  br label %470

470:                                              ; preds = %449
  %471 = load i64, ptr %10, align 8, !tbaa !11
  %472 = add nsw i64 %471, 1
  store i64 %472, ptr %10, align 8, !tbaa !11
  br label %445, !llvm.loop !41

473:                                              ; preds = %445
  %474 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  store i8 78, ptr %474, align 1, !tbaa !20
  %475 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  store i8 78, ptr %475, align 1, !tbaa !20
  %476 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  %477 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %478 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %479 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 4225
  %480 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %481 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %482 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %483 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %484 = call i32 @dmmch_(ptr noundef %476, ptr noundef %477, ptr noundef %11, ptr noundef @c__1, ptr noundef %11, ptr noundef @c_b87, ptr noundef %478, ptr noundef @c__65, ptr noundef %479, ptr noundef @c__65, ptr noundef @c_b101, ptr noundef %480, ptr noundef @c__65, ptr noundef %481, ptr noundef %482, ptr noundef %483, ptr noundef @c__65, ptr noundef %23, ptr noundef %24, ptr noundef %32, ptr noundef %31, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  %485 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %486 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %487 = call i64 @lde_(ptr noundef %485, ptr noundef %486, ptr noundef %11)
  store i64 %487, ptr %27, align 8, !tbaa !11
  %488 = load i64, ptr %27, align 8, !tbaa !11
  %489 = icmp ne i64 %488, 0
  br i1 %489, label %490, label %493

490:                                              ; preds = %473
  %491 = load double, ptr %24, align 8, !tbaa !37
  %492 = fcmp une double %491, 0.000000e+00
  br i1 %492, label %493, label %504

493:                                              ; preds = %490, %473
  %494 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %494, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___64, i32 0, i32 1), align 8, !tbaa !21
  %495 = call i64 @s_wsfe(ptr noundef @MAIN__.io___64)
  %496 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  %497 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %496, i64 noundef 1)
  %498 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %499 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %498, i64 noundef 1)
  %500 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %27, i64 noundef 8)
  %501 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %24, i64 noundef 8)
  %502 = call i64 @e_wsfe()
  %503 = call i32 @s_stop(ptr noundef @.str.4, i64 noundef 0)
  br label %504

504:                                              ; preds = %493, %490
  %505 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  store i8 84, ptr %505, align 1, !tbaa !20
  %506 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  %507 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %508 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %509 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 4225
  %510 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %511 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %512 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %513 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %514 = call i32 @dmmch_(ptr noundef %506, ptr noundef %507, ptr noundef %11, ptr noundef @c__1, ptr noundef %11, ptr noundef @c_b87, ptr noundef %508, ptr noundef @c__65, ptr noundef %509, ptr noundef @c__65, ptr noundef @c_b101, ptr noundef %510, ptr noundef @c__65, ptr noundef %511, ptr noundef %512, ptr noundef %513, ptr noundef @c__65, ptr noundef %23, ptr noundef %24, ptr noundef %32, ptr noundef %31, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  %515 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %516 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %517 = call i64 @lde_(ptr noundef %515, ptr noundef %516, ptr noundef %11)
  store i64 %517, ptr %27, align 8, !tbaa !11
  %518 = load i64, ptr %27, align 8, !tbaa !11
  %519 = icmp ne i64 %518, 0
  br i1 %519, label %520, label %523

520:                                              ; preds = %504
  %521 = load double, ptr %24, align 8, !tbaa !37
  %522 = fcmp une double %521, 0.000000e+00
  br i1 %522, label %523, label %534

523:                                              ; preds = %520, %504
  %524 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %524, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___65, i32 0, i32 1), align 8, !tbaa !21
  %525 = call i64 @s_wsfe(ptr noundef @MAIN__.io___65)
  %526 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  %527 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %526, i64 noundef 1)
  %528 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %529 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %528, i64 noundef 1)
  %530 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %27, i64 noundef 8)
  %531 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %24, i64 noundef 8)
  %532 = call i64 @e_wsfe()
  %533 = call i32 @s_stop(ptr noundef @.str.4, i64 noundef 0)
  br label %534

534:                                              ; preds = %523, %520
  %535 = load i64, ptr %11, align 8, !tbaa !11
  store i64 %535, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %10, align 8, !tbaa !11
  br label %536

536:                                              ; preds = %559, %534
  %537 = load i64, ptr %10, align 8, !tbaa !11
  %538 = load i64, ptr %1, align 8, !tbaa !11
  %539 = icmp sle i64 %537, %538
  br i1 %539, label %540, label %562

540:                                              ; preds = %536
  %541 = load i64, ptr %11, align 8, !tbaa !11
  %542 = load i64, ptr %10, align 8, !tbaa !11
  %543 = sub nsw i64 %541, %542
  %544 = add nsw i64 %543, 1
  %545 = sitofp i64 %544 to double
  %546 = load i64, ptr %10, align 8, !tbaa !11
  %547 = add nsw i64 %546, 4224
  %548 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 %547
  store double %545, ptr %548, align 8, !tbaa !37
  %549 = load i64, ptr %11, align 8, !tbaa !11
  %550 = load i64, ptr %10, align 8, !tbaa !11
  %551 = sub nsw i64 %549, %550
  %552 = add nsw i64 %551, 1
  %553 = sitofp i64 %552 to double
  %554 = load i64, ptr %10, align 8, !tbaa !11
  %555 = add nsw i64 %554, 65
  %556 = mul nsw i64 %555, 65
  %557 = sub nsw i64 %556, 65
  %558 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 %557
  store double %553, ptr %558, align 8, !tbaa !37
  br label %559

559:                                              ; preds = %540
  %560 = load i64, ptr %10, align 8, !tbaa !11
  %561 = add nsw i64 %560, 1
  store i64 %561, ptr %10, align 8, !tbaa !11
  br label %536, !llvm.loop !42

562:                                              ; preds = %536
  %563 = load i64, ptr %11, align 8, !tbaa !11
  store i64 %563, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %10, align 8, !tbaa !11
  br label %564

564:                                              ; preds = %590, %562
  %565 = load i64, ptr %10, align 8, !tbaa !11
  %566 = load i64, ptr %1, align 8, !tbaa !11
  %567 = icmp sle i64 %565, %566
  br i1 %567, label %568, label %593

568:                                              ; preds = %564
  %569 = load i64, ptr %10, align 8, !tbaa !11
  %570 = load i64, ptr %10, align 8, !tbaa !11
  %571 = add nsw i64 %570, 1
  %572 = load i64, ptr %10, align 8, !tbaa !11
  %573 = mul nsw i64 %571, %572
  %574 = mul nsw i64 %569, %573
  %575 = sdiv i64 %574, 2
  %576 = load i64, ptr %10, align 8, !tbaa !11
  %577 = add nsw i64 %576, 1
  %578 = load i64, ptr %10, align 8, !tbaa !11
  %579 = mul nsw i64 %577, %578
  %580 = load i64, ptr %10, align 8, !tbaa !11
  %581 = sub nsw i64 %580, 1
  %582 = mul nsw i64 %579, %581
  %583 = sdiv i64 %582, 3
  %584 = sub nsw i64 %575, %583
  %585 = sitofp i64 %584 to double
  %586 = load i64, ptr %11, align 8, !tbaa !11
  %587 = load i64, ptr %10, align 8, !tbaa !11
  %588 = sub nsw i64 %586, %587
  %589 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 %588
  store double %585, ptr %589, align 8, !tbaa !37
  br label %590

590:                                              ; preds = %568
  %591 = load i64, ptr %10, align 8, !tbaa !11
  %592 = add nsw i64 %591, 1
  store i64 %592, ptr %10, align 8, !tbaa !11
  br label %564, !llvm.loop !43

593:                                              ; preds = %564
  %594 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  store i8 84, ptr %594, align 1, !tbaa !20
  %595 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  store i8 78, ptr %595, align 1, !tbaa !20
  %596 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  %597 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %598 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %599 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 4225
  %600 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %601 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %602 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %603 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %604 = call i32 @dmmch_(ptr noundef %596, ptr noundef %597, ptr noundef %11, ptr noundef @c__1, ptr noundef %11, ptr noundef @c_b87, ptr noundef %598, ptr noundef @c__65, ptr noundef %599, ptr noundef @c__65, ptr noundef @c_b101, ptr noundef %600, ptr noundef @c__65, ptr noundef %601, ptr noundef %602, ptr noundef %603, ptr noundef @c__65, ptr noundef %23, ptr noundef %24, ptr noundef %32, ptr noundef %31, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  %605 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %606 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %607 = call i64 @lde_(ptr noundef %605, ptr noundef %606, ptr noundef %11)
  store i64 %607, ptr %27, align 8, !tbaa !11
  %608 = load i64, ptr %27, align 8, !tbaa !11
  %609 = icmp ne i64 %608, 0
  br i1 %609, label %610, label %613

610:                                              ; preds = %593
  %611 = load double, ptr %24, align 8, !tbaa !37
  %612 = fcmp une double %611, 0.000000e+00
  br i1 %612, label %613, label %624

613:                                              ; preds = %610, %593
  %614 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %614, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___66, i32 0, i32 1), align 8, !tbaa !21
  %615 = call i64 @s_wsfe(ptr noundef @MAIN__.io___66)
  %616 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  %617 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %616, i64 noundef 1)
  %618 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %619 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %618, i64 noundef 1)
  %620 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %27, i64 noundef 8)
  %621 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %24, i64 noundef 8)
  %622 = call i64 @e_wsfe()
  %623 = call i32 @s_stop(ptr noundef @.str.4, i64 noundef 0)
  br label %624

624:                                              ; preds = %613, %610
  %625 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  store i8 84, ptr %625, align 1, !tbaa !20
  %626 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  %627 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %628 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %629 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 4225
  %630 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %631 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %632 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %633 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %634 = call i32 @dmmch_(ptr noundef %626, ptr noundef %627, ptr noundef %11, ptr noundef @c__1, ptr noundef %11, ptr noundef @c_b87, ptr noundef %628, ptr noundef @c__65, ptr noundef %629, ptr noundef @c__65, ptr noundef @c_b101, ptr noundef %630, ptr noundef @c__65, ptr noundef %631, ptr noundef %632, ptr noundef %633, ptr noundef @c__65, ptr noundef %23, ptr noundef %24, ptr noundef %32, ptr noundef %31, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  %635 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %636 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %637 = call i64 @lde_(ptr noundef %635, ptr noundef %636, ptr noundef %11)
  store i64 %637, ptr %27, align 8, !tbaa !11
  %638 = load i64, ptr %27, align 8, !tbaa !11
  %639 = icmp ne i64 %638, 0
  br i1 %639, label %640, label %643

640:                                              ; preds = %624
  %641 = load double, ptr %24, align 8, !tbaa !37
  %642 = fcmp une double %641, 0.000000e+00
  br i1 %642, label %643, label %654

643:                                              ; preds = %640, %624
  %644 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %644, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___67, i32 0, i32 1), align 8, !tbaa !21
  %645 = call i64 @s_wsfe(ptr noundef @MAIN__.io___67)
  %646 = getelementptr inbounds [1 x i8], ptr %40, i64 0, i64 0
  %647 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %646, i64 noundef 1)
  %648 = getelementptr inbounds [1 x i8], ptr %41, i64 0, i64 0
  %649 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %648, i64 noundef 1)
  %650 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %27, i64 noundef 8)
  %651 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %24, i64 noundef 8)
  %652 = call i64 @e_wsfe()
  %653 = call i32 @s_stop(ptr noundef @.str.4, i64 noundef 0)
  br label %654

654:                                              ; preds = %643, %640
  store i64 1, ptr %36, align 8, !tbaa !11
  br label %655

655:                                              ; preds = %808, %654
  %656 = load i64, ptr %36, align 8, !tbaa !11
  %657 = icmp sle i64 %656, 6
  br i1 %657, label %658, label %811

658:                                              ; preds = %655
  %659 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %659, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___69, i32 0, i32 1), align 8, !tbaa !21
  %660 = call i64 @s_wsle(ptr noundef @MAIN__.io___69)
  %661 = call i64 @e_wsle()
  %662 = load i64, ptr %36, align 8, !tbaa !11
  %663 = sub nsw i64 %662, 1
  %664 = getelementptr inbounds [6 x i64], ptr %37, i64 0, i64 %663
  %665 = load i64, ptr %664, align 8, !tbaa !11
  %666 = icmp ne i64 %665, 0
  br i1 %666, label %676, label %667

667:                                              ; preds = %658
  %668 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %668, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___70, i32 0, i32 1), align 8, !tbaa !21
  %669 = call i64 @s_wsfe(ptr noundef @MAIN__.io___70)
  %670 = load i64, ptr %36, align 8, !tbaa !11
  %671 = sub nsw i64 %670, 1
  %672 = mul nsw i64 %671, 6
  %673 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %672
  %674 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %673, i64 noundef 6)
  %675 = call i64 @e_wsfe()
  br label %807

676:                                              ; preds = %658
  %677 = load i64, ptr %36, align 8, !tbaa !11
  %678 = sub nsw i64 %677, 1
  %679 = mul nsw i64 %678, 6
  %680 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %679
  %681 = call i32 @s_copy(ptr noundef @srnamc_, ptr noundef %680, i64 noundef 6, i64 noundef 6)
  %682 = load i64, ptr %44, align 8, !tbaa !11
  %683 = icmp ne i64 %682, 0
  br i1 %683, label %684, label %693

684:                                              ; preds = %676
  %685 = load i64, ptr %36, align 8, !tbaa !11
  %686 = sub nsw i64 %685, 1
  %687 = mul nsw i64 %686, 6
  %688 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %687
  %689 = call i32 @dchke_(ptr noundef %36, ptr noundef %688, ptr noundef %31, i64 noundef 6)
  %690 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %690, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___71, i32 0, i32 1), align 8, !tbaa !21
  %691 = call i64 @s_wsle(ptr noundef @MAIN__.io___71)
  %692 = call i64 @e_wsle()
  br label %693

693:                                              ; preds = %684, %676
  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 %32, align 8, !tbaa !11
  %694 = load i64, ptr %36, align 8, !tbaa !11
  switch i64 %694, label %701 [
    i64 1, label %695
    i64 2, label %696
    i64 3, label %697
    i64 4, label %698
    i64 5, label %699
    i64 6, label %700
  ]

695:                                              ; preds = %693
  br label %702

696:                                              ; preds = %693
  br label %722

697:                                              ; preds = %693
  br label %742

698:                                              ; preds = %693
  br label %742

699:                                              ; preds = %693
  br label %759

700:                                              ; preds = %693
  br label %779

701:                                              ; preds = %693
  br label %702

702:                                              ; preds = %701, %695
  %703 = load i64, ptr %36, align 8, !tbaa !11
  %704 = sub nsw i64 %703, 1
  %705 = mul nsw i64 %704, 6
  %706 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %705
  %707 = getelementptr inbounds [9 x i64], ptr %26, i64 0, i64 0
  %708 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 0
  %709 = getelementptr inbounds [7 x double], ptr %22, i64 0, i64 0
  %710 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %711 = getelementptr inbounds [4225 x double], ptr %13, i64 0, i64 0
  %712 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %713 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 4225
  %714 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %715 = getelementptr inbounds [4225 x double], ptr %18, i64 0, i64 0
  %716 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %717 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %718 = getelementptr inbounds [4225 x double], ptr %19, i64 0, i64 0
  %719 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %720 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %721 = call i32 @dchk1_(ptr noundef %706, ptr noundef %23, ptr noundef %42, ptr noundef %31, ptr noundef %29, ptr noundef %33, ptr noundef %30, ptr noundef %32, ptr noundef %34, ptr noundef %707, ptr noundef %25, ptr noundef %708, ptr noundef %28, ptr noundef %709, ptr noundef @c__65, ptr noundef %710, ptr noundef %711, ptr noundef %712, ptr noundef %713, ptr noundef %714, ptr noundef %715, ptr noundef %716, ptr noundef %717, ptr noundef %718, ptr noundef %719, ptr noundef %720, i64 noundef 6)
  br label %799

722:                                              ; preds = %696
  %723 = load i64, ptr %36, align 8, !tbaa !11
  %724 = sub nsw i64 %723, 1
  %725 = mul nsw i64 %724, 6
  %726 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %725
  %727 = getelementptr inbounds [9 x i64], ptr %26, i64 0, i64 0
  %728 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 0
  %729 = getelementptr inbounds [7 x double], ptr %22, i64 0, i64 0
  %730 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %731 = getelementptr inbounds [4225 x double], ptr %13, i64 0, i64 0
  %732 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %733 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 4225
  %734 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %735 = getelementptr inbounds [4225 x double], ptr %18, i64 0, i64 0
  %736 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %737 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %738 = getelementptr inbounds [4225 x double], ptr %19, i64 0, i64 0
  %739 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %740 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %741 = call i32 @dchk2_(ptr noundef %726, ptr noundef %23, ptr noundef %42, ptr noundef %31, ptr noundef %29, ptr noundef %33, ptr noundef %30, ptr noundef %32, ptr noundef %34, ptr noundef %727, ptr noundef %25, ptr noundef %728, ptr noundef %28, ptr noundef %729, ptr noundef @c__65, ptr noundef %730, ptr noundef %731, ptr noundef %732, ptr noundef %733, ptr noundef %734, ptr noundef %735, ptr noundef %736, ptr noundef %737, ptr noundef %738, ptr noundef %739, ptr noundef %740, i64 noundef 6)
  br label %799

742:                                              ; preds = %698, %697
  %743 = load i64, ptr %36, align 8, !tbaa !11
  %744 = sub nsw i64 %743, 1
  %745 = mul nsw i64 %744, 6
  %746 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %745
  %747 = getelementptr inbounds [9 x i64], ptr %26, i64 0, i64 0
  %748 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 0
  %749 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %750 = getelementptr inbounds [4225 x double], ptr %13, i64 0, i64 0
  %751 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %752 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 4225
  %753 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %754 = getelementptr inbounds [4225 x double], ptr %18, i64 0, i64 0
  %755 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %756 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %757 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %758 = call i32 @dchk3_(ptr noundef %746, ptr noundef %23, ptr noundef %42, ptr noundef %31, ptr noundef %29, ptr noundef %33, ptr noundef %30, ptr noundef %32, ptr noundef %34, ptr noundef %747, ptr noundef %25, ptr noundef %748, ptr noundef @c__65, ptr noundef %749, ptr noundef %750, ptr noundef %751, ptr noundef %752, ptr noundef %753, ptr noundef %754, ptr noundef %755, ptr noundef %756, ptr noundef %757, i64 noundef 6)
  br label %799

759:                                              ; preds = %699
  %760 = load i64, ptr %36, align 8, !tbaa !11
  %761 = sub nsw i64 %760, 1
  %762 = mul nsw i64 %761, 6
  %763 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %762
  %764 = getelementptr inbounds [9 x i64], ptr %26, i64 0, i64 0
  %765 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 0
  %766 = getelementptr inbounds [7 x double], ptr %22, i64 0, i64 0
  %767 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %768 = getelementptr inbounds [4225 x double], ptr %13, i64 0, i64 0
  %769 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %770 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 4225
  %771 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %772 = getelementptr inbounds [4225 x double], ptr %18, i64 0, i64 0
  %773 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %774 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %775 = getelementptr inbounds [4225 x double], ptr %19, i64 0, i64 0
  %776 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %777 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %778 = call i32 @dchk4_(ptr noundef %763, ptr noundef %23, ptr noundef %42, ptr noundef %31, ptr noundef %29, ptr noundef %33, ptr noundef %30, ptr noundef %32, ptr noundef %34, ptr noundef %764, ptr noundef %25, ptr noundef %765, ptr noundef %28, ptr noundef %766, ptr noundef @c__65, 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, ptr noundef %777, i64 noundef 6)
  br label %799

779:                                              ; preds = %700
  %780 = load i64, ptr %36, align 8, !tbaa !11
  %781 = sub nsw i64 %780, 1
  %782 = mul nsw i64 %781, 6
  %783 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %782
  %784 = getelementptr inbounds [9 x i64], ptr %26, i64 0, i64 0
  %785 = getelementptr inbounds [7 x double], ptr %21, i64 0, i64 0
  %786 = getelementptr inbounds [7 x double], ptr %22, i64 0, i64 0
  %787 = getelementptr inbounds [8450 x double], ptr %14, i64 0, i64 0
  %788 = getelementptr inbounds [4225 x double], ptr %13, i64 0, i64 0
  %789 = getelementptr inbounds [4225 x double], ptr %17, i64 0, i64 0
  %790 = getelementptr inbounds [4225 x double], ptr %15, i64 0, i64 0
  %791 = getelementptr inbounds [4225 x double], ptr %18, i64 0, i64 0
  %792 = getelementptr inbounds [4225 x double], ptr %7, i64 0, i64 0
  %793 = getelementptr inbounds [4225 x double], ptr %16, i64 0, i64 0
  %794 = getelementptr inbounds [4225 x double], ptr %19, i64 0, i64 0
  %795 = getelementptr inbounds [65 x double], ptr %20, i64 0, i64 0
  %796 = getelementptr inbounds [65 x double], ptr %8, i64 0, i64 0
  %797 = getelementptr inbounds [130 x double], ptr %12, i64 0, i64 0
  %798 = call i32 @dchk5_(ptr noundef %783, ptr noundef %23, ptr noundef %42, ptr noundef %31, ptr noundef %29, ptr noundef %33, ptr noundef %30, ptr noundef %32, ptr noundef %34, ptr noundef %784, ptr noundef %25, ptr noundef %785, ptr noundef %28, ptr noundef %786, ptr noundef @c__65, ptr noundef %787, ptr noundef %788, ptr noundef %789, ptr noundef %790, ptr noundef %791, ptr noundef %792, ptr noundef %793, ptr noundef %794, ptr noundef %795, ptr noundef %796, ptr noundef %797, i64 noundef 6)
  br label %799

799:                                              ; preds = %779, %759, %742, %722, %702
  %800 = load i64, ptr %32, align 8, !tbaa !11
  %801 = icmp ne i64 %800, 0
  br i1 %801, label %802, label %806

802:                                              ; preds = %799
  %803 = load i64, ptr %38, align 8, !tbaa !11
  %804 = icmp ne i64 %803, 0
  br i1 %804, label %805, label %806

805:                                              ; preds = %802
  br label %815

806:                                              ; preds = %802, %799
  br label %807

807:                                              ; preds = %806, %667
  br label %808

808:                                              ; preds = %807
  %809 = load i64, ptr %36, align 8, !tbaa !11
  %810 = add nsw i64 %809, 1
  store i64 %810, ptr %36, align 8, !tbaa !11
  br label %655, !llvm.loop !44

811:                                              ; preds = %655
  %812 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %812, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___78, i32 0, i32 1), align 8, !tbaa !21
  %813 = call i64 @s_wsfe(ptr noundef @MAIN__.io___78)
  %814 = call i64 @e_wsfe()
  br label %823

815:                                              ; preds = %805
  %816 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %816, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___79, i32 0, i32 1), align 8, !tbaa !21
  %817 = call i64 @s_wsfe(ptr noundef @MAIN__.io___79)
  %818 = call i64 @e_wsfe()
  br label %823

819:                                              ; preds = %211, %180, %162, %122
  %820 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %820, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___80, i32 0, i32 1), align 8, !tbaa !21
  %821 = call i64 @s_wsfe(ptr noundef @MAIN__.io___80)
  %822 = call i64 @e_wsfe()
  br label %823

823:                                              ; preds = %819, %815, %811
  %824 = load i64, ptr %33, align 8, !tbaa !11
  %825 = icmp ne i64 %824, 0
  br i1 %825, label %826, label %832

826:                                              ; preds = %823
  %827 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 0
  store i64 0, ptr %827, align 8, !tbaa !33
  %828 = load i64, ptr %29, align 8, !tbaa !11
  %829 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 1
  store i64 %828, ptr %829, align 8, !tbaa !35
  %830 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 2
  store ptr null, ptr %830, align 8, !tbaa !36
  %831 = call i64 @f_clos(ptr noundef %6)
  br label %832

832:                                              ; preds = %826, %823
  %833 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 0
  store i64 0, ptr %833, align 8, !tbaa !33
  %834 = load i64, ptr %31, align 8, !tbaa !11
  %835 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 1
  store i64 %834, ptr %835, align 8, !tbaa !35
  %836 = getelementptr inbounds %struct.cllist, ptr %6, i32 0, i32 2
  store ptr null, ptr %836, align 8, !tbaa !36
  %837 = call i64 @f_clos(ptr noundef %6)
  %838 = call i32 @s_stop(ptr noundef @.str.4, i64 noundef 0)
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #3
  call void @llvm.lifetime.end.p0(i64 8, 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 1, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 6, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #3
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #3
  call void @llvm.lifetime.end.p0(i64 72, ptr %26) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %22) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 520, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %18) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 67600, ptr %14) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 1040, 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 @dmmch_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef) #0

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !7, i64 56, !10, i64 64}
!7 = !{!"long", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!6, !7, i64 8}
!13 = !{!6, !7, i64 24}
!14 = !{!6, !10, i64 16}
!15 = !{!6, !7, i64 56}
!16 = !{!6, !10, i64 32}
!17 = !{!6, !10, i64 40}
!18 = !{!6, !10, i64 48}
!19 = !{!6, !10, i64 64}
!20 = !{!8, !8, i64 0}
!21 = !{!22, !7, i64 8}
!22 = !{!"", !7, i64 0, !7, i64 8, !7, i64 16, !10, i64 24, !7, i64 32}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}
!25 = distinct !{!25, !24}
!26 = distinct !{!26, !24}
!27 = distinct !{!27, !24}
!28 = distinct !{!28, !24}
!29 = distinct !{!29, !24}
!30 = distinct !{!30, !24}
!31 = distinct !{!31, !24}
!32 = distinct !{!32, !24}
!33 = !{!34, !7, i64 0}
!34 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16}
!35 = !{!34, !7, i64 8}
!36 = !{!34, !10, i64 16}
!37 = !{!38, !38, i64 0}
!38 = !{!"double", !8, i64 0}
!39 = distinct !{!39, !24}
!40 = distinct !{!40, !24}
!41 = distinct !{!41, !24}
!42 = distinct !{!42, !24}
!43 = distinct !{!43, !24}
!44 = distinct !{!44, !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 [36 x i8], align 16
@MAIN__.io___2 = external hidden global %struct.cilist, align 8
@MAIN__.io___4 = external hidden global %struct.cilist, align 8
@MAIN__.io___6 = external hidden global %struct.cilist, align 8
@MAIN__.io___8 = external hidden global %struct.cilist, align 8
@MAIN__.io___11 = external hidden global %struct.cilist, align 8
@MAIN__.io___13 = external hidden global %struct.cilist, align 8
@MAIN__.io___15 = external hidden global %struct.cilist, align 8
@MAIN__.io___17 = external hidden global %struct.cilist, align 8
@MAIN__.io___19 = external hidden global %struct.cilist, align 8
@MAIN__.io___21 = external hidden global %struct.cilist, align 8
@MAIN__.io___22 = external hidden global %struct.cilist, align 8
@MAIN__.io___25 = external hidden global %struct.cilist, align 8
@MAIN__.io___26 = external hidden global %struct.cilist, align 8
@MAIN__.io___28 = external hidden global %struct.cilist, align 8
@MAIN__.io___29 = external hidden global %struct.cilist, align 8
@MAIN__.io___31 = external hidden global %struct.cilist, align 8
@MAIN__.io___33 = external hidden global %struct.cilist, align 8
@MAIN__.io___34 = external hidden global %struct.cilist, align 8
@MAIN__.io___36 = external hidden global %struct.cilist, align 8
@MAIN__.io___37 = external hidden global %struct.cilist, align 8
@MAIN__.io___38 = external hidden global %struct.cilist, align 8
@MAIN__.io___39 = external hidden global %struct.cilist, align 8
@MAIN__.io___40 = external hidden global %struct.cilist, align 8
@MAIN__.io___41 = external hidden global %struct.cilist, align 8
@MAIN__.io___42 = external hidden global %struct.cilist, align 8
@MAIN__.io___43 = external hidden global %struct.cilist, align 8
@MAIN__.io___44 = external hidden global %struct.cilist, align 8
@MAIN__.io___46 = external hidden global %struct.cilist, align 8
@MAIN__.io___49 = external hidden global %struct.cilist, align 8
@MAIN__.io___51 = external hidden global %struct.cilist, align 8
@MAIN__.io___64 = external hidden global %struct.cilist, align 8
@MAIN__.io___65 = external hidden global %struct.cilist, align 8
@MAIN__.io___66 = external hidden global %struct.cilist, align 8
@MAIN__.io___67 = external hidden global %struct.cilist, align 8
@MAIN__.io___69 = external hidden global %struct.cilist, align 8
@MAIN__.io___70 = external hidden global %struct.cilist, align 8
@MAIN__.io___71 = external hidden global %struct.cilist, align 8
@MAIN__.io___78 = external hidden global %struct.cilist, align 8
@MAIN__.io___79 = external hidden global %struct.cilist, align 8
@MAIN__.io___80 = external hidden global %struct.cilist, align 8
@c__9 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8
@.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 [6 x i8], align 1
@c__7 = external hidden global i64, align 8
@.str.3 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [1 x i8], align 1
@c_b87 = external hidden global double, align 8
@c_b101 = external hidden global double, align 8
@c_true = external hidden global i64, align 8
@srnamc_ = external dso_local global %struct.anon.1, align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @MAIN__() local_unnamed_addr #0 {
  %1 = alloca 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 [130 x double], align 16
  %8 = alloca [4225 x double], align 16
  %9 = alloca [8450 x double], align 16
  %10 = alloca [4225 x double], align 16
  %11 = alloca [4225 x double], align 16
  %12 = alloca [4225 x double], align 16
  %13 = alloca [4225 x double], align 16
  %14 = alloca [4225 x double], align 16
  %15 = alloca [65 x double], align 16
  %16 = alloca [7 x double], align 16
  %17 = alloca [7 x double], align 16
  %18 = alloca double, align 8
  %19 = alloca double, align 8
  %20 = alloca i64, align 8
  %21 = alloca [9 x i64], align 16
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca i64, align 8
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca [32 x i8], align 16
  %31 = alloca i64, align 8
  %32 = alloca [6 x i64], align 16
  %33 = alloca i64, align 8
  %34 = alloca [6 x i8], align 1
  %35 = alloca [1 x i8], align 1
  %36 = alloca [1 x i8], align 1
  %37 = alloca double, align 8
  %38 = alloca i64, align 8
  %39 = alloca i64, align 8
  %40 = alloca [32 x i8], align 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %1) #4
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %2) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %4) #4
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %5) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #4
  call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %7) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %8) #4
  call void @llvm.lifetime.start.p0(i64 67600, ptr nonnull %9) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %10) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %11) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %12) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %13) #4
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %14) #4
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %15) #4
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %16) #4
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %17) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #4
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %21) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #4
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %32) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #4
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %34) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #4
  %41 = tail call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___2) #4
  %42 = call i64 @do_lio(ptr noundef nonnull @c__9, ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 32) #4
  %43 = call i64 @e_rsle() #4
  %44 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___4) #4
  %45 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %26, i64 noundef 8) #4
  %46 = call i64 @e_rsle() #4
  store i64 0, ptr %2, align 8, !tbaa !5
  %47 = load i64, ptr %26, align 8, !tbaa !11
  %48 = getelementptr inbounds i8, ptr %2, i64 8
  store i64 %47, ptr %48, align 8, !tbaa !12
  %49 = getelementptr inbounds i8, ptr %2, i64 24
  store i64 32, ptr %49, align 8, !tbaa !13
  %50 = getelementptr inbounds i8, ptr %2, i64 16
  store ptr %40, ptr %50, align 8, !tbaa !14
  %51 = getelementptr inbounds i8, ptr %2, i64 56
  store i64 0, ptr %51, align 8, !tbaa !15
  %52 = getelementptr inbounds i8, ptr %2, i64 32
  store ptr @.str, ptr %52, align 8, !tbaa !16
  %53 = getelementptr inbounds i8, ptr %2, i64 40
  %54 = getelementptr inbounds i8, ptr %2, i64 64
  store ptr null, ptr %54, align 8, !tbaa !17
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %53, i8 0, i64 16, i1 false)
  %55 = call i64 @f_open(ptr noundef nonnull %2) #4
  %56 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %56, ptr getelementptr inbounds (i8, ptr @infoc_, i64 8), align 8, !tbaa !18
  %57 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___6) #4
  %58 = call i64 @do_lio(ptr noundef nonnull @c__9, ptr noundef nonnull @c__1, ptr noundef nonnull %30, i64 noundef 32) #4
  %59 = call i64 @e_rsle() #4
  %60 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___8) #4
  %61 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %24, i64 noundef 8) #4
  %62 = call i64 @e_rsle() #4
  %63 = load i64, ptr %24, align 8, !tbaa !11
  %64 = icmp sgt i64 %63, -1
  %65 = zext i1 %64 to i64
  store i64 %65, ptr %28, align 8, !tbaa !11
  %.8133.sroa.gep = getelementptr inbounds i8, ptr %32, i64 48
  %.8133.sroa.gep206 = getelementptr inbounds i8, ptr %32, i64 8
  %.8133.sroa.gep207 = getelementptr inbounds i8, ptr %32, i64 16
  %.8133.sroa.gep208 = getelementptr inbounds i8, ptr %32, i64 24
  %.8133.sroa.gep209 = getelementptr inbounds i8, ptr %32, i64 32
  %.8133.sroa.gep210 = getelementptr inbounds i8, ptr %32, i64 40
  br i1 %64, label %66, label %68

66:                                               ; preds = %0
  store i64 0, ptr %2, align 8, !tbaa !5
  store i64 %63, ptr %48, align 8, !tbaa !12
  store i64 32, ptr %49, align 8, !tbaa !13
  store ptr %30, ptr %50, align 8, !tbaa !14
  store i64 0, ptr %51, align 8, !tbaa !15
  store ptr @.str, ptr %52, align 8, !tbaa !16
  store ptr null, ptr %54, align 8, !tbaa !17
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %53, i8 0, i64 16, i1 false)
  %67 = call i64 @f_open(ptr noundef nonnull %2) #4
  br label %68

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

90:                                               ; preds = %68
  %91 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %91, ptr getelementptr inbounds (i8, ptr @MAIN__.io___21, i64 8), align 8, !tbaa !19
  %92 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___21) #4
  %93 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.1, i64 noundef 1) #4
  br label %588

94:                                               ; preds = %68
  %95 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___22) #4
  %96 = load i64, ptr %29, align 8, !tbaa !11
  %.not134 = icmp slt i64 %96, 1
  br i1 %.not134, label %._crit_edge, label %.lr.ph

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

._crit_edge:                                      ; preds = %.lr.ph, %94
  %101 = call i64 @e_rsle() #4
  %102 = load i64, ptr %29, align 8, !tbaa !11
  %.not107136 = icmp slt i64 %102, 1
  br i1 %.not107136, label %._crit_edge140, label %.lr.ph139

103:                                              ; preds = %.lr.ph139
  %104 = add nuw i64 %.1100137, 1
  %exitcond193.not = icmp eq i64 %.1100137, %102
  br i1 %exitcond193.not, label %._crit_edge140, label %.lr.ph139, !llvm.loop !23

.lr.ph139:                                        ; preds = %._crit_edge, %103
  %.1100137 = phi i64 [ %104, %103 ], [ 1, %._crit_edge ]
  %105 = add nsw i64 %.1100137, -1
  %106 = getelementptr inbounds [9 x i64], ptr %21, i64 0, i64 %105
  %107 = load i64, ptr %106, align 8, !tbaa !11
  %or.cond127 = icmp ugt i64 %107, 65
  br i1 %or.cond127, label %108, label %103

108:                                              ; preds = %.lr.ph139
  %109 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %109, ptr getelementptr inbounds (i8, ptr @MAIN__.io___25, i64 8), align 8, !tbaa !19
  %110 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___25) #4
  br label %588

._crit_edge140:                                   ; preds = %103, %._crit_edge
  %111 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___26) #4
  %112 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %20, i64 noundef 8) #4
  %113 = call i64 @e_rsle() #4
  %114 = load i64, ptr %20, align 8
  %115 = add i64 %114, -8
  %or.cond3 = icmp ult i64 %115, -7
  br i1 %or.cond3, label %116, label %120

116:                                              ; preds = %._crit_edge140
  %117 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %117, ptr getelementptr inbounds (i8, ptr @MAIN__.io___28, i64 8), align 8, !tbaa !19
  %118 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___28) #4
  %119 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.2, i64 noundef 5) #4
  br label %588

120:                                              ; preds = %._crit_edge140
  %121 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___29) #4
  %122 = load i64, ptr %20, align 8, !tbaa !11
  %.not108141 = icmp slt i64 %122, 1
  br i1 %.not108141, label %._crit_edge145, label %.lr.ph144

.lr.ph144:                                        ; preds = %120, %.lr.ph144
  %.2101142 = phi i64 [ %126, %.lr.ph144 ], [ 1, %120 ]
  %123 = add nsw i64 %.2101142, -1
  %124 = getelementptr inbounds [7 x double], ptr %16, i64 0, i64 %123
  %125 = call i64 @do_lio(ptr noundef nonnull @c__5, ptr noundef nonnull @c__1, ptr noundef nonnull %124, i64 noundef 8) #4
  %126 = add nuw i64 %.2101142, 1
  %exitcond194.not = icmp eq i64 %.2101142, %122
  br i1 %exitcond194.not, label %._crit_edge145, label %.lr.ph144, !llvm.loop !24

._crit_edge145:                                   ; preds = %.lr.ph144, %120
  %127 = call i64 @e_rsle() #4
  %128 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___31) #4
  %129 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %23, i64 noundef 8) #4
  %130 = call i64 @e_rsle() #4
  %131 = load i64, ptr %23, align 8
  %132 = add i64 %131, -8
  %or.cond5 = icmp ult i64 %132, -7
  br i1 %or.cond5, label %133, label %137

133:                                              ; preds = %._crit_edge145
  %134 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %134, ptr getelementptr inbounds (i8, ptr @MAIN__.io___33, i64 8), align 8, !tbaa !19
  %135 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___33) #4
  %136 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.3, i64 noundef 4) #4
  br label %588

137:                                              ; preds = %._crit_edge145
  %138 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___34) #4
  %139 = load i64, ptr %23, align 8, !tbaa !11
  %.not109146 = icmp slt i64 %139, 1
  br i1 %.not109146, label %._crit_edge150, label %.lr.ph149

.lr.ph149:                                        ; preds = %137, %.lr.ph149
  %.3102147 = phi i64 [ %143, %.lr.ph149 ], [ 1, %137 ]
  %140 = add nsw i64 %.3102147, -1
  %141 = getelementptr inbounds [7 x double], ptr %17, i64 0, i64 %140
  %142 = call i64 @do_lio(ptr noundef nonnull @c__5, ptr noundef nonnull @c__1, ptr noundef nonnull %141, i64 noundef 8) #4
  %143 = add nuw i64 %.3102147, 1
  %exitcond195.not = icmp eq i64 %.3102147, %139
  br i1 %exitcond195.not, label %._crit_edge150, label %.lr.ph149, !llvm.loop !25

._crit_edge150:                                   ; preds = %.lr.ph149, %137
  %144 = call i64 @e_rsle() #4
  %145 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %145, ptr getelementptr inbounds (i8, ptr @MAIN__.io___36, i64 8), align 8, !tbaa !19
  %146 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___36) #4
  %147 = call i64 @e_wsfe() #4
  %148 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %148, ptr getelementptr inbounds (i8, ptr @MAIN__.io___37, i64 8), align 8, !tbaa !19
  %149 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___37) #4
  %150 = load i64, ptr %29, align 8, !tbaa !11
  %.not110151 = icmp slt i64 %150, 1
  br i1 %.not110151, label %._crit_edge155, label %.lr.ph154

.lr.ph154:                                        ; preds = %._crit_edge150, %.lr.ph154
  %.4152 = phi i64 [ %154, %.lr.ph154 ], [ 1, %._crit_edge150 ]
  %151 = add nsw i64 %.4152, -1
  %152 = getelementptr inbounds [9 x i64], ptr %21, i64 0, i64 %151
  %153 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %152, i64 noundef 8) #4
  %154 = add nuw i64 %.4152, 1
  %exitcond196.not = icmp eq i64 %.4152, %150
  br i1 %exitcond196.not, label %._crit_edge155, label %.lr.ph154, !llvm.loop !26

._crit_edge155:                                   ; preds = %.lr.ph154, %._crit_edge150
  %155 = call i64 @e_wsfe() #4
  %156 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %156, ptr getelementptr inbounds (i8, ptr @MAIN__.io___38, i64 8), align 8, !tbaa !19
  %157 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___38) #4
  %158 = load i64, ptr %20, align 8, !tbaa !11
  %.not111156 = icmp slt i64 %158, 1
  br i1 %.not111156, label %._crit_edge160, label %.lr.ph159

.lr.ph159:                                        ; preds = %._crit_edge155, %.lr.ph159
  %.5157 = phi i64 [ %162, %.lr.ph159 ], [ 1, %._crit_edge155 ]
  %159 = add nsw i64 %.5157, -1
  %160 = getelementptr inbounds [7 x double], ptr %16, i64 0, i64 %159
  %161 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %160, i64 noundef 8) #4
  %162 = add nuw i64 %.5157, 1
  %exitcond197.not = icmp eq i64 %.5157, %158
  br i1 %exitcond197.not, label %._crit_edge160, label %.lr.ph159, !llvm.loop !27

._crit_edge160:                                   ; preds = %.lr.ph159, %._crit_edge155
  %163 = call i64 @e_wsfe() #4
  %164 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %164, ptr getelementptr inbounds (i8, ptr @MAIN__.io___39, i64 8), align 8, !tbaa !19
  %165 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___39) #4
  %166 = load i64, ptr %23, align 8, !tbaa !11
  %.not112161 = icmp slt i64 %166, 1
  br i1 %.not112161, label %._crit_edge165, label %.lr.ph164

.lr.ph164:                                        ; preds = %._crit_edge160, %.lr.ph164
  %.6162 = phi i64 [ %170, %.lr.ph164 ], [ 1, %._crit_edge160 ]
  %167 = add nsw i64 %.6162, -1
  %168 = getelementptr inbounds [7 x double], ptr %17, i64 0, i64 %167
  %169 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %168, i64 noundef 8) #4
  %170 = add nuw i64 %.6162, 1
  %exitcond198.not = icmp eq i64 %.6162, %166
  br i1 %exitcond198.not, label %._crit_edge165, label %.lr.ph164, !llvm.loop !28

._crit_edge165:                                   ; preds = %.lr.ph164, %._crit_edge160
  %171 = call i64 @e_wsfe() #4
  %172 = load i64, ptr %39, align 8, !tbaa !11
  %.not113 = icmp eq i64 %172, 0
  br i1 %.not113, label %173, label %.preheader131

173:                                              ; preds = %._crit_edge165
  %174 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %174, ptr getelementptr inbounds (i8, ptr @MAIN__.io___40, i64 8), align 8, !tbaa !19
  %175 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___40) #4
  %176 = call i64 @e_wsle() #4
  %177 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %177, ptr getelementptr inbounds (i8, ptr @MAIN__.io___41, i64 8), align 8, !tbaa !19
  %178 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___41) #4
  %179 = call i64 @e_wsfe() #4
  br label %.preheader131

.preheader131:                                    ; preds = %173, %._crit_edge165
  %180 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %180, ptr getelementptr inbounds (i8, ptr @MAIN__.io___42, i64 8), align 8, !tbaa !19
  %181 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___42) #4
  %182 = call i64 @e_wsle() #4
  %183 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %183, ptr getelementptr inbounds (i8, ptr @MAIN__.io___43, i64 8), align 8, !tbaa !19
  %184 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___43) #4
  %185 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %37, i64 noundef 8) #4
  %186 = call i64 @e_wsfe() #4
  %187 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %187, ptr getelementptr inbounds (i8, ptr @MAIN__.io___44, i64 8), align 8, !tbaa !19
  %188 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___44) #4
  %189 = call i64 @e_wsle() #4
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(48) %32, i8 0, i64 48, i1 false), !tbaa !11
  %190 = call i64 @s_rsfe(ptr noundef nonnull @MAIN__.io___46) #4
  %.not114168 = icmp eq i64 %190, 0
  br i1 %.not114168, label %.lr.ph169, label %._crit_edge170

.lr.ph169:                                        ; preds = %.preheader131, %.loopexit
  %191 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %34, i64 noundef 6) #4
  %.not115 = icmp eq i64 %191, 0
  br i1 %.not115, label %192, label %._crit_edge170

192:                                              ; preds = %.lr.ph169
  %193 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %38, i64 noundef 8) #4
  %.not116 = icmp eq i64 %193, 0
  br i1 %.not116, label %194, label %._crit_edge170

194:                                              ; preds = %192
  %195 = call i64 @e_rsfe() #4
  %.not117 = icmp eq i64 %195, 0
  br i1 %.not117, label %.preheader130.preheader, label %._crit_edge170

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

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

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

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

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

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

208:                                              ; preds = %.preheader130.5
  %209 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %209, ptr getelementptr inbounds (i8, ptr @MAIN__.io___49, i64 8), align 8, !tbaa !19
  %210 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___49) #4
  %211 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %34, i64 noundef 6) #4
  %212 = call i64 @e_wsfe() #4
  %213 = call i32 @s_stop(ptr noundef nonnull @.str.4, i64 noundef 0) #4
  br label %.loopexit

.loopexit:                                        ; preds = %.preheader130.preheader, %.preheader130.1, %.preheader130.2, %.preheader130.3, %.preheader130.4, %.preheader130.5, %208
  %.8133.sroa.phi = phi ptr [ %.8133.sroa.gep, %208 ], [ %32, %.preheader130.preheader ], [ %.8133.sroa.gep206, %.preheader130.1 ], [ %.8133.sroa.gep207, %.preheader130.2 ], [ %.8133.sroa.gep208, %.preheader130.3 ], [ %.8133.sroa.gep209, %.preheader130.4 ], [ %.8133.sroa.gep210, %.preheader130.5 ]
  %214 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %214, ptr %.8133.sroa.phi, align 8, !tbaa !11
  %215 = call i64 @s_rsfe(ptr noundef nonnull @MAIN__.io___46) #4
  %.not114 = icmp eq i64 %215, 0
  br i1 %.not114, label %.lr.ph169, label %._crit_edge170

._crit_edge170:                                   ; preds = %.loopexit, %.lr.ph169, %192, %194, %.preheader131
  store i64 0, ptr %3, align 8, !tbaa !29
  %216 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 5, ptr %216, align 8, !tbaa !31
  %217 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %217, align 8, !tbaa !32
  %218 = call i64 @f_clos(ptr noundef nonnull %3) #4
  store double 1.000000e+00, ptr %18, align 8, !tbaa !33
  store double 2.000000e+00, ptr %1, align 8, !tbaa !33
  %219 = call double @ddiff_(ptr noundef nonnull %1, ptr noundef nonnull @c_b87)
  %220 = fcmp oeq double %219, 0.000000e+00
  br i1 %220, label %._crit_edge176, label %.lr.ph175

.lr.ph175:                                        ; preds = %._crit_edge170, %.lr.ph175
  %221 = load double, ptr %18, align 8, !tbaa !33
  %222 = fmul double %221, 5.000000e-01
  store double %222, ptr %18, align 8, !tbaa !33
  %223 = fadd double %222, 1.000000e+00
  store double %223, ptr %1, align 8, !tbaa !33
  %224 = call double @ddiff_(ptr noundef nonnull %1, ptr noundef nonnull @c_b87)
  %225 = fcmp oeq double %224, 0.000000e+00
  br i1 %225, label %._crit_edge176, label %.lr.ph175

._crit_edge176:                                   ; preds = %.lr.ph175, %._crit_edge170
  %226 = load double, ptr %18, align 8, !tbaa !33
  %227 = fadd double %226, %226
  store double %227, ptr %18, align 8, !tbaa !33
  %228 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %228, ptr getelementptr inbounds (i8, ptr @MAIN__.io___51, i64 8), align 8, !tbaa !19
  %229 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___51) #4
  %230 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %18, i64 noundef 8) #4
  %231 = call i64 @e_wsfe() #4
  store i64 32, ptr %6, align 8, !tbaa !11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(256) %4, i8 0, i64 256, i1 false), !tbaa !33
  br label %.preheader129

.preheader129:                                    ; preds = %._crit_edge176, %.preheader129
  %.0178 = phi i64 [ 1, %._crit_edge176 ], [ %426, %.preheader129 ]
  %232 = mul nuw nsw i64 %.0178, 65
  %233 = sub nsw i64 2, %.0178
  %234 = icmp ult i64 %.0178, 3
  %235 = select i1 %234, i64 %233, i64 0
  %236 = sitofp i64 %235 to double
  %237 = add nsw i64 %232, -65
  %238 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %237
  store double %236, ptr %238, align 8, !tbaa !33
  %239 = sub nsw i64 3, %.0178
  %240 = icmp ult i64 %.0178, 4
  %241 = select i1 %240, i64 %239, i64 0
  %242 = sitofp i64 %241 to double
  %243 = add nsw i64 %232, -64
  %244 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %243
  store double %242, ptr %244, align 8, !tbaa !33
  %245 = sub nsw i64 4, %.0178
  %246 = icmp ult i64 %.0178, 5
  %247 = select i1 %246, i64 %245, i64 0
  %248 = sitofp i64 %247 to double
  %249 = add nsw i64 %232, -63
  %250 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %249
  store double %248, ptr %250, align 8, !tbaa !33
  %251 = sub nsw i64 5, %.0178
  %252 = icmp ult i64 %.0178, 6
  %253 = select i1 %252, i64 %251, i64 0
  %254 = sitofp i64 %253 to double
  %255 = add nsw i64 %232, -62
  %256 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %255
  store double %254, ptr %256, align 8, !tbaa !33
  %257 = sub nsw i64 6, %.0178
  %258 = icmp ult i64 %.0178, 7
  %259 = select i1 %258, i64 %257, i64 0
  %260 = sitofp i64 %259 to double
  %261 = add nsw i64 %232, -61
  %262 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %261
  store double %260, ptr %262, align 8, !tbaa !33
  %263 = sub nsw i64 7, %.0178
  %264 = icmp ult i64 %.0178, 8
  %265 = select i1 %264, i64 %263, i64 0
  %266 = sitofp i64 %265 to double
  %267 = add nsw i64 %232, -60
  %268 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %267
  store double %266, ptr %268, align 8, !tbaa !33
  %269 = sub nsw i64 8, %.0178
  %270 = icmp ult i64 %.0178, 9
  %271 = select i1 %270, i64 %269, i64 0
  %272 = sitofp i64 %271 to double
  %273 = add nsw i64 %232, -59
  %274 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %273
  store double %272, ptr %274, align 8, !tbaa !33
  %275 = sub nsw i64 9, %.0178
  %276 = icmp ult i64 %.0178, 10
  %277 = select i1 %276, i64 %275, i64 0
  %278 = sitofp i64 %277 to double
  %279 = add nsw i64 %232, -58
  %280 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %279
  store double %278, ptr %280, align 8, !tbaa !33
  %281 = sub nsw i64 10, %.0178
  %282 = icmp ult i64 %.0178, 11
  %283 = select i1 %282, i64 %281, i64 0
  %284 = sitofp i64 %283 to double
  %285 = add nsw i64 %232, -57
  %286 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %285
  store double %284, ptr %286, align 8, !tbaa !33
  %287 = sub nsw i64 11, %.0178
  %288 = icmp ult i64 %.0178, 12
  %289 = select i1 %288, i64 %287, i64 0
  %290 = sitofp i64 %289 to double
  %291 = add nsw i64 %232, -56
  %292 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %291
  store double %290, ptr %292, align 8, !tbaa !33
  %293 = sub nsw i64 12, %.0178
  %294 = icmp ult i64 %.0178, 13
  %295 = select i1 %294, i64 %293, i64 0
  %296 = sitofp i64 %295 to double
  %297 = add nsw i64 %232, -55
  %298 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %297
  store double %296, ptr %298, align 8, !tbaa !33
  %299 = sub nsw i64 13, %.0178
  %300 = icmp ult i64 %.0178, 14
  %301 = select i1 %300, i64 %299, i64 0
  %302 = sitofp i64 %301 to double
  %303 = add nsw i64 %232, -54
  %304 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %303
  store double %302, ptr %304, align 8, !tbaa !33
  %305 = sub nsw i64 14, %.0178
  %306 = icmp ult i64 %.0178, 15
  %307 = select i1 %306, i64 %305, i64 0
  %308 = sitofp i64 %307 to double
  %309 = add nsw i64 %232, -53
  %310 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %309
  store double %308, ptr %310, align 8, !tbaa !33
  %311 = sub nsw i64 15, %.0178
  %312 = icmp ult i64 %.0178, 16
  %313 = select i1 %312, i64 %311, i64 0
  %314 = sitofp i64 %313 to double
  %315 = add nsw i64 %232, -52
  %316 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %315
  store double %314, ptr %316, align 8, !tbaa !33
  %317 = sub nsw i64 16, %.0178
  %318 = icmp ult i64 %.0178, 17
  %319 = select i1 %318, i64 %317, i64 0
  %320 = sitofp i64 %319 to double
  %321 = add nsw i64 %232, -51
  %322 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %321
  store double %320, ptr %322, align 8, !tbaa !33
  %323 = sub nsw i64 17, %.0178
  %324 = icmp ult i64 %.0178, 18
  %325 = select i1 %324, i64 %323, i64 0
  %326 = sitofp i64 %325 to double
  %327 = add nsw i64 %232, -50
  %328 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %327
  store double %326, ptr %328, align 8, !tbaa !33
  %329 = sub nsw i64 18, %.0178
  %330 = icmp ult i64 %.0178, 19
  %331 = select i1 %330, i64 %329, i64 0
  %332 = sitofp i64 %331 to double
  %333 = add nsw i64 %232, -49
  %334 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %333
  store double %332, ptr %334, align 8, !tbaa !33
  %335 = sub nsw i64 19, %.0178
  %336 = icmp ult i64 %.0178, 20
  %337 = select i1 %336, i64 %335, i64 0
  %338 = sitofp i64 %337 to double
  %339 = add nsw i64 %232, -48
  %340 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %339
  store double %338, ptr %340, align 8, !tbaa !33
  %341 = sub nsw i64 20, %.0178
  %342 = icmp ult i64 %.0178, 21
  %343 = select i1 %342, i64 %341, i64 0
  %344 = sitofp i64 %343 to double
  %345 = add nsw i64 %232, -47
  %346 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %345
  store double %344, ptr %346, align 8, !tbaa !33
  %347 = sub nsw i64 21, %.0178
  %348 = icmp ult i64 %.0178, 22
  %349 = select i1 %348, i64 %347, i64 0
  %350 = sitofp i64 %349 to double
  %351 = add nsw i64 %232, -46
  %352 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %351
  store double %350, ptr %352, align 8, !tbaa !33
  %353 = sub nsw i64 22, %.0178
  %354 = icmp ult i64 %.0178, 23
  %355 = select i1 %354, i64 %353, i64 0
  %356 = sitofp i64 %355 to double
  %357 = add nsw i64 %232, -45
  %358 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %357
  store double %356, ptr %358, align 8, !tbaa !33
  %359 = sub nsw i64 23, %.0178
  %360 = icmp ult i64 %.0178, 24
  %361 = select i1 %360, i64 %359, i64 0
  %362 = sitofp i64 %361 to double
  %363 = add nsw i64 %232, -44
  %364 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %363
  store double %362, ptr %364, align 8, !tbaa !33
  %365 = sub nsw i64 24, %.0178
  %366 = icmp ult i64 %.0178, 25
  %367 = select i1 %366, i64 %365, i64 0
  %368 = sitofp i64 %367 to double
  %369 = add nsw i64 %232, -43
  %370 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %369
  store double %368, ptr %370, align 8, !tbaa !33
  %371 = sub nsw i64 25, %.0178
  %372 = icmp ult i64 %.0178, 26
  %373 = select i1 %372, i64 %371, i64 0
  %374 = sitofp i64 %373 to double
  %375 = add nsw i64 %232, -42
  %376 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %375
  store double %374, ptr %376, align 8, !tbaa !33
  %377 = sub nsw i64 26, %.0178
  %378 = icmp ult i64 %.0178, 27
  %379 = select i1 %378, i64 %377, i64 0
  %380 = sitofp i64 %379 to double
  %381 = add nsw i64 %232, -41
  %382 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %381
  store double %380, ptr %382, align 8, !tbaa !33
  %383 = sub nsw i64 27, %.0178
  %384 = icmp ult i64 %.0178, 28
  %385 = select i1 %384, i64 %383, i64 0
  %386 = sitofp i64 %385 to double
  %387 = add nsw i64 %232, -40
  %388 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %387
  store double %386, ptr %388, align 8, !tbaa !33
  %389 = sub nsw i64 28, %.0178
  %390 = icmp ult i64 %.0178, 29
  %391 = select i1 %390, i64 %389, i64 0
  %392 = sitofp i64 %391 to double
  %393 = add nsw i64 %232, -39
  %394 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %393
  store double %392, ptr %394, align 8, !tbaa !33
  %395 = sub nsw i64 29, %.0178
  %396 = icmp ult i64 %.0178, 30
  %397 = select i1 %396, i64 %395, i64 0
  %398 = sitofp i64 %397 to double
  %399 = add nsw i64 %232, -38
  %400 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %399
  store double %398, ptr %400, align 8, !tbaa !33
  %401 = sub nsw i64 30, %.0178
  %402 = icmp ult i64 %.0178, 31
  %403 = select i1 %402, i64 %401, i64 0
  %404 = sitofp i64 %403 to double
  %405 = add nsw i64 %232, -37
  %406 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %405
  store double %404, ptr %406, align 8, !tbaa !33
  %407 = sub nsw i64 31, %.0178
  %408 = icmp ult i64 %.0178, 32
  %409 = select i1 %408, i64 %407, i64 0
  %410 = sitofp i64 %409 to double
  %411 = add nsw i64 %232, -36
  %412 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %411
  store double %410, ptr %412, align 8, !tbaa !33
  %413 = sub nsw i64 32, %.0178
  %414 = sitofp i64 %413 to double
  %415 = add nsw i64 %232, -35
  %416 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %415
  store double %414, ptr %416, align 8, !tbaa !33
  %417 = sub nsw i64 33, %.0178
  %418 = uitofp nneg i64 %417 to double
  %419 = add nsw i64 %232, -34
  %420 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %419
  store double %418, ptr %420, align 8, !tbaa !33
  %421 = uitofp nneg i64 %.0178 to double
  %422 = or disjoint i64 %.0178, 4224
  %423 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %422
  store double %421, ptr %423, align 8, !tbaa !33
  %424 = add nuw nsw i64 %232, 4160
  %425 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %424
  store double %421, ptr %425, align 8, !tbaa !33
  %426 = add nuw nsw i64 %.0178, 1
  %exitcond201.not = icmp eq i64 %426, 33
  br i1 %exitcond201.not, label %.preheader128, label %.preheader129, !llvm.loop !35

.preheader128:                                    ; preds = %.preheader129, %.preheader128
  %.1179 = phi i64 [ %427, %.preheader128 ], [ 1, %.preheader129 ]
  %427 = add nuw nsw i64 %.1179, 1
  %428 = mul nuw nsw i64 %427, %.1179
  %429 = mul nuw nsw i64 %428, %.1179
  %430 = lshr i64 %429, 1
  %431 = add nsw i64 %.1179, -1
  %432 = mul nsw i64 %428, %431
  %.neg124 = sdiv i64 %432, -3
  %433 = add nsw i64 %.neg124, %430
  %434 = sitofp i64 %433 to double
  %435 = getelementptr inbounds [4225 x double], ptr %11, i64 0, i64 %431
  store double %434, ptr %435, align 8, !tbaa !33
  %exitcond202 = icmp eq i64 %427, 33
  br i1 %exitcond202, label %436, label %.preheader128, !llvm.loop !36

436:                                              ; preds = %.preheader128
  store i8 78, ptr %35, align 1, !tbaa !18
  store i8 78, ptr %36, align 1, !tbaa !18
  %437 = getelementptr inbounds i8, ptr %9, i64 33800
  %438 = call i32 @dmmch_(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull @c__1, ptr noundef nonnull %6, ptr noundef nonnull @c_b87, ptr noundef nonnull %9, ptr noundef nonnull @c__65, ptr noundef nonnull %437, ptr noundef nonnull @c__65, ptr noundef nonnull @c_b101, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %11, ptr noundef nonnull @c__65, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %27, ptr noundef nonnull %26, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  %439 = call i64 @lde_(ptr noundef nonnull %11, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %439, ptr %22, align 8, !tbaa !11
  %440 = icmp eq i64 %439, 0
  %441 = load double, ptr %19, align 8
  %442 = fcmp une double %441, 0.000000e+00
  %or.cond7 = select i1 %440, i1 true, i1 %442
  br i1 %or.cond7, label %443, label %452

443:                                              ; preds = %436
  %444 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %444, ptr getelementptr inbounds (i8, ptr @MAIN__.io___64, i64 8), align 8, !tbaa !19
  %445 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___64) #4
  %446 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 1) #4
  %447 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #4
  %448 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #4
  %449 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %19, i64 noundef 8) #4
  %450 = call i64 @e_wsfe() #4
  %451 = call i32 @s_stop(ptr noundef nonnull @.str.4, i64 noundef 0) #4
  br label %452

452:                                              ; preds = %436, %443
  store i8 84, ptr %36, align 1, !tbaa !18
  %453 = call i32 @dmmch_(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull @c__1, ptr noundef nonnull %6, ptr noundef nonnull @c_b87, ptr noundef nonnull %9, ptr noundef nonnull @c__65, ptr noundef nonnull %437, ptr noundef nonnull @c__65, ptr noundef nonnull @c_b101, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %11, ptr noundef nonnull @c__65, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %27, ptr noundef nonnull %26, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  %454 = call i64 @lde_(ptr noundef nonnull %11, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %454, ptr %22, align 8, !tbaa !11
  %455 = icmp eq i64 %454, 0
  %456 = load double, ptr %19, align 8
  %457 = fcmp une double %456, 0.000000e+00
  %or.cond9 = select i1 %455, i1 true, i1 %457
  br i1 %or.cond9, label %458, label %467

458:                                              ; preds = %452
  %459 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %459, ptr getelementptr inbounds (i8, ptr @MAIN__.io___65, i64 8), align 8, !tbaa !19
  %460 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___65) #4
  %461 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 1) #4
  %462 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #4
  %463 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #4
  %464 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %19, i64 noundef 8) #4
  %465 = call i64 @e_wsfe() #4
  %466 = call i32 @s_stop(ptr noundef nonnull @.str.4, i64 noundef 0) #4
  br label %467

467:                                              ; preds = %452, %458
  %468 = load i64, ptr %6, align 8, !tbaa !11
  %.not119180 = icmp slt i64 %468, 1
  br i1 %.not119180, label %._crit_edge187, label %.lr.ph183

.lr.ph183:                                        ; preds = %467
  %469 = add nuw i64 %468, 1
  %xtraiter = and i64 %468, 1
  %470 = icmp eq i64 %468, 1
  br i1 %470, label %.preheader.unr-lcssa, label %.lr.ph183.new

.lr.ph183.new:                                    ; preds = %.lr.ph183
  %unroll_iter = and i64 %468, 9223372036854775806
  br label %478

.preheader.unr-lcssa:                             ; preds = %478, %.lr.ph183
  %.2181.unr = phi i64 [ 1, %.lr.ph183 ], [ %493, %478 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.preheader, label %.preheader.epilog-lcssa

.preheader.epilog-lcssa:                          ; preds = %.preheader.unr-lcssa
  %471 = sub i64 %469, %.2181.unr
  %472 = sitofp i64 %471 to double
  %473 = add nuw nsw i64 %.2181.unr, 4224
  %474 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %473
  store double %472, ptr %474, align 8, !tbaa !33
  %475 = mul i64 %.2181.unr, 65
  %476 = add i64 %475, 4160
  %477 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %476
  store double %472, ptr %477, align 8, !tbaa !33
  br label %.preheader

.preheader:                                       ; preds = %.preheader.unr-lcssa, %.preheader.epilog-lcssa
  br i1 %.not119180, label %._crit_edge187, label %.lr.ph186

478:                                              ; preds = %478, %.lr.ph183.new
  %.2181 = phi i64 [ 1, %.lr.ph183.new ], [ %493, %478 ]
  %niter = phi i64 [ 0, %.lr.ph183.new ], [ %niter.next.1, %478 ]
  %479 = sub i64 %469, %.2181
  %480 = sitofp i64 %479 to double
  %481 = add nuw nsw i64 %.2181, 4224
  %482 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %481
  store double %480, ptr %482, align 8, !tbaa !33
  %483 = mul i64 %.2181, 65
  %484 = add i64 %483, 4160
  %485 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %484
  store double %480, ptr %485, align 8, !tbaa !33
  %486 = sub i64 %468, %.2181
  %487 = sitofp i64 %486 to double
  %488 = add nuw i64 %.2181, 4225
  %489 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %488
  store double %487, ptr %489, align 8, !tbaa !33
  %490 = mul i64 %.2181, 65
  %491 = add i64 %490, 4225
  %492 = getelementptr inbounds [8450 x double], ptr %9, i64 0, i64 %491
  store double %487, ptr %492, align 8, !tbaa !33
  %493 = add nuw i64 %.2181, 2
  %niter.next.1 = add nuw i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %.preheader.unr-lcssa, label %478, !llvm.loop !37

.lr.ph186:                                        ; preds = %.preheader, %.lr.ph186
  %.3185 = phi i64 [ %494, %.lr.ph186 ], [ 1, %.preheader ]
  %494 = add nuw i64 %.3185, 1
  %495 = mul nuw nsw i64 %494, %.3185
  %496 = mul nuw nsw i64 %495, %.3185
  %497 = lshr i64 %496, 1
  %498 = add nsw i64 %.3185, -1
  %499 = mul nsw i64 %495, %498
  %.neg = sdiv i64 %499, -3
  %500 = add nsw i64 %.neg, %497
  %501 = sitofp i64 %500 to double
  %502 = sub nsw i64 %468, %.3185
  %503 = getelementptr inbounds [4225 x double], ptr %11, i64 0, i64 %502
  store double %501, ptr %503, align 8, !tbaa !33
  %exitcond204.not = icmp eq i64 %.3185, %468
  br i1 %exitcond204.not, label %._crit_edge187, label %.lr.ph186, !llvm.loop !38

._crit_edge187:                                   ; preds = %.lr.ph186, %467, %.preheader
  store i8 84, ptr %35, align 1, !tbaa !18
  store i8 78, ptr %36, align 1, !tbaa !18
  %504 = call i32 @dmmch_(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull @c__1, ptr noundef nonnull %6, ptr noundef nonnull @c_b87, ptr noundef nonnull %9, ptr noundef nonnull @c__65, ptr noundef nonnull %437, ptr noundef nonnull @c__65, ptr noundef nonnull @c_b101, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %11, ptr noundef nonnull @c__65, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %27, ptr noundef nonnull %26, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  %505 = call i64 @lde_(ptr noundef nonnull %11, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %505, ptr %22, align 8, !tbaa !11
  %506 = icmp eq i64 %505, 0
  %507 = load double, ptr %19, align 8
  %508 = fcmp une double %507, 0.000000e+00
  %or.cond11 = select i1 %506, i1 true, i1 %508
  br i1 %or.cond11, label %509, label %518

509:                                              ; preds = %._crit_edge187
  %510 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %510, ptr getelementptr inbounds (i8, ptr @MAIN__.io___66, i64 8), align 8, !tbaa !19
  %511 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___66) #4
  %512 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 1) #4
  %513 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #4
  %514 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #4
  %515 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %19, i64 noundef 8) #4
  %516 = call i64 @e_wsfe() #4
  %517 = call i32 @s_stop(ptr noundef nonnull @.str.4, i64 noundef 0) #4
  br label %518

518:                                              ; preds = %._crit_edge187, %509
  store i8 84, ptr %36, align 1, !tbaa !18
  %519 = call i32 @dmmch_(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull @c__1, ptr noundef nonnull %6, ptr noundef nonnull @c_b87, ptr noundef nonnull %9, ptr noundef nonnull @c__65, ptr noundef nonnull %437, ptr noundef nonnull @c__65, ptr noundef nonnull @c_b101, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %11, ptr noundef nonnull @c__65, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %27, ptr noundef nonnull %26, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  %520 = call i64 @lde_(ptr noundef nonnull %11, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %520, ptr %22, align 8, !tbaa !11
  %521 = icmp eq i64 %520, 0
  %522 = load double, ptr %19, align 8
  %523 = fcmp une double %522, 0.000000e+00
  %or.cond13 = select i1 %521, i1 true, i1 %523
  br i1 %or.cond13, label %524, label %533

524:                                              ; preds = %518
  %525 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %525, ptr getelementptr inbounds (i8, ptr @MAIN__.io___67, i64 8), align 8, !tbaa !19
  %526 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___67) #4
  %527 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 1) #4
  %528 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #4
  %529 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 8) #4
  %530 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %19, i64 noundef 8) #4
  %531 = call i64 @e_wsfe() #4
  %532 = call i32 @s_stop(ptr noundef nonnull @.str.4, i64 noundef 0) #4
  br label %533

533:                                              ; preds = %518, %524
  store i64 1, ptr %31, align 8, !tbaa !11
  br label %534

534:                                              ; preds = %533, %580
  %535 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %535, ptr getelementptr inbounds (i8, ptr @MAIN__.io___69, i64 8), align 8, !tbaa !19
  %536 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___69) #4
  %537 = call i64 @e_wsle() #4
  %538 = load i64, ptr %31, align 8, !tbaa !11
  %539 = add nsw i64 %538, -1
  %540 = getelementptr inbounds [6 x i64], ptr %32, i64 0, i64 %539
  %541 = load i64, ptr %540, align 8, !tbaa !11
  %.not122 = icmp eq i64 %541, 0
  br i1 %.not122, label %542, label %549

542:                                              ; preds = %534
  %543 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %543, ptr getelementptr inbounds (i8, ptr @MAIN__.io___70, i64 8), align 8, !tbaa !19
  %544 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___70) #4
  %545 = load i64, ptr %31, align 8, !tbaa !11
  %546 = mul i64 %545, 6
  %gep191 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %546
  %547 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %gep191, i64 noundef 6) #4
  %548 = call i64 @e_wsfe() #4
  br label %580

549:                                              ; preds = %534
  %550 = mul nsw i64 %539, 6
  %551 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %550
  %552 = call i32 @s_copy(ptr noundef nonnull @srnamc_, ptr noundef nonnull %551, i64 noundef 6, i64 noundef 6) #4
  %553 = load i64, ptr %39, align 8, !tbaa !11
  %.not123 = icmp eq i64 %553, 0
  br i1 %.not123, label %561, label %554

554:                                              ; preds = %549
  %555 = load i64, ptr %31, align 8, !tbaa !11
  %556 = mul i64 %555, 6
  %gep188 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %556
  %557 = call i32 @dchke_(ptr noundef nonnull %31, ptr noundef %gep188, ptr noundef nonnull %26, i64 noundef 6)
  %558 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %558, ptr getelementptr inbounds (i8, ptr @MAIN__.io___71, i64 8), align 8, !tbaa !19
  %559 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___71) #4
  %560 = call i64 @e_wsle() #4
  br label %561

561:                                              ; preds = %554, %549
  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 %27, align 8, !tbaa !11
  %562 = load i64, ptr %31, align 8, !tbaa !11
  switch i64 %562, label %563 [
    i64 6, label %573
    i64 2, label %566
    i64 3, label %568
    i64 4, label %568
    i64 5, label %571
  ]

563:                                              ; preds = %561
  %564 = mul i64 %562, 6
  %gep190 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %564
  %565 = call i32 @dchk1_(ptr noundef %gep190, ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %437, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %4, ptr noundef nonnull %11, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %575

566:                                              ; preds = %561
  %567 = call i32 @dchk2_(ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 6), ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %437, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %4, ptr noundef nonnull %11, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %575

568:                                              ; preds = %561, %561
  %569 = mul nuw nsw i64 %562, 6
  %gep189 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %569
  %570 = call i32 @dchk3_(ptr noundef %gep189, ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %437, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %4, i64 noundef 6)
  br label %575

571:                                              ; preds = %561
  %572 = call i32 @dchk4_(ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 24), ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %437, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %4, ptr noundef nonnull %11, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %575

573:                                              ; preds = %561
  %574 = call i32 @dchk5_(ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 30), ptr noundef nonnull %18, ptr noundef nonnull %37, ptr noundef nonnull %26, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %25, ptr noundef nonnull %27, ptr noundef nonnull %29, ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull @c__65, ptr noundef nonnull %9, ptr noundef nonnull %8, ptr noundef nonnull %12, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %4, ptr noundef nonnull %11, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %7, i64 noundef 6)
  br label %575

575:                                              ; preds = %573, %571, %568, %566, %563
  %576 = load i64, ptr %27, align 8, !tbaa !11
  %577 = icmp ne i64 %576, 0
  %578 = load i64, ptr %33, align 8
  %579 = icmp ne i64 %578, 0
  %or.cond15 = select i1 %577, i1 %579, i1 false
  br i1 %or.cond15, label %586, label %580

580:                                              ; preds = %542, %575
  %581 = load i64, ptr %31, align 8, !tbaa !11
  %582 = add nsw i64 %581, 1
  store i64 %582, ptr %31, align 8, !tbaa !11
  %583 = icmp slt i64 %581, 6
  br i1 %583, label %534, label %584, !llvm.loop !39

584:                                              ; preds = %580
  %585 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %585, ptr getelementptr inbounds (i8, ptr @MAIN__.io___78, i64 8), align 8, !tbaa !19
  br label %592

586:                                              ; preds = %575
  %587 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %587, ptr getelementptr inbounds (i8, ptr @MAIN__.io___79, i64 8), align 8, !tbaa !19
  br label %592

588:                                              ; preds = %133, %116, %108, %90
  %c__7.sink = phi ptr [ @c__7, %133 ], [ @c__7, %116 ], [ @c__65, %108 ], [ @c__9, %90 ]
  %589 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %c__7.sink, i64 noundef 8) #4
  %590 = call i64 @e_wsfe() #4
  %591 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %591, ptr getelementptr inbounds (i8, ptr @MAIN__.io___80, i64 8), align 8, !tbaa !19
  br label %592

592:                                              ; preds = %588, %586, %584
  %MAIN__.io___80.sink = phi ptr [ @MAIN__.io___80, %588 ], [ @MAIN__.io___79, %586 ], [ @MAIN__.io___78, %584 ]
  %593 = call i64 @s_wsfe(ptr noundef nonnull %MAIN__.io___80.sink) #4
  %594 = call i64 @e_wsfe() #4
  %595 = load i64, ptr %28, align 8, !tbaa !11
  %.not126 = icmp eq i64 %595, 0
  br i1 %.not126, label %601, label %596

596:                                              ; preds = %592
  store i64 0, ptr %3, align 8, !tbaa !29
  %597 = load i64, ptr %24, align 8, !tbaa !11
  %598 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 %597, ptr %598, align 8, !tbaa !31
  %599 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %599, align 8, !tbaa !32
  %600 = call i64 @f_clos(ptr noundef nonnull %3) #4
  br label %601

601:                                              ; preds = %596, %592
  store i64 0, ptr %3, align 8, !tbaa !29
  %602 = load i64, ptr %26, align 8, !tbaa !11
  %603 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 %602, ptr %603, align 8, !tbaa !31
  %604 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %604, align 8, !tbaa !32
  %605 = call i64 @f_clos(ptr noundef nonnull %3) #4
  %606 = call i32 @s_stop(ptr noundef nonnull @.str.4, i64 noundef 0) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #4
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %34) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #4
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #4
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %21) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #4
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %17) #4
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %16) #4
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %15) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %14) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %13) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %12) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %11) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %10) #4
  call void @llvm.lifetime.end.p0(i64 67600, ptr nonnull %9) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %8) #4
  call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %7) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #4
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %5) #4
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %4) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #4
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %2) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %1) #4
  ret i32 0
}

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

declare i64 @s_rsle(ptr noundef) local_unnamed_addr #2

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

declare i64 @e_rsle() local_unnamed_addr #2

declare i64 @f_open(ptr noundef) local_unnamed_addr #2

declare i64 @s_wsfe(ptr noundef) local_unnamed_addr #2

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

declare i64 @e_wsfe() local_unnamed_addr #2

declare i64 @s_wsle(ptr noundef) local_unnamed_addr #2

declare i64 @e_wsle() local_unnamed_addr #2

declare i64 @s_rsfe(ptr noundef) local_unnamed_addr #2

declare i64 @e_rsfe() local_unnamed_addr #2

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

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

declare i64 @f_clos(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !7, i64 56, !10, i64 64}
!7 = !{!"long", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!6, !7, i64 8}
!13 = !{!6, !7, i64 24}
!14 = !{!6, !10, i64 16}
!15 = !{!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 = !{!30, !7, i64 0}
!30 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16}
!31 = !{!30, !7, i64 8}
!32 = !{!30, !10, i64 16}
!33 = !{!34, !34, i64 0}
!34 = !{!"double", !8, i64 0}
!35 = distinct !{!35, !22}
!36 = distinct !{!36, !22}
!37 = distinct !{!37, !22}
!38 = distinct !{!38, !22}
!39 = distinct !{!39, !22}


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