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

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

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

@c__1 = external hidden global i64, align 8
@infoc_ = external dso_local global %union.anon, align 8
@.str = external hidden unnamed_addr constant [2 x i8], align 1
@c_b99 = external hidden global float, align 4
@c_true = external hidden global i64, align 8
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@schk5_.icht = external hidden global [3 x i8], align 1
@schk5_.ichu = external hidden global [2 x i8], align 1
@schk5_.io___322 = external hidden global %struct.cilist, align 8
@schk5_.io___323 = external hidden global %struct.cilist, align 8
@schk5_.io___326 = external hidden global %struct.cilist, align 8
@schk5_.io___333 = external hidden global %struct.cilist, align 8
@schk5_.io___334 = external hidden global %struct.cilist, align 8
@schk5_.io___335 = external hidden global %struct.cilist, align 8
@schk5_.io___336 = external hidden global %struct.cilist, align 8
@schk5_.io___337 = external hidden global %struct.cilist, align 8

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

declare i64 @s_wsfe(ptr noundef) #1

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

declare i64 @e_wsfe() #1

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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @schk5_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr noundef %24, ptr noundef %25, i64 noundef %26) #2 {
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca ptr, align 8
  %51 = alloca ptr, align 8
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca i64, align 8
  %55 = alloca i64, align 8
  %56 = alloca i64, align 8
  %57 = alloca i64, align 8
  %58 = alloca i64, align 8
  %59 = alloca i64, align 8
  %60 = alloca i64, align 8
  %61 = alloca i64, align 8
  %62 = alloca i64, align 8
  %63 = alloca i64, align 8
  %64 = alloca i64, align 8
  %65 = alloca %struct.alist, align 8
  %66 = alloca i64, align 8
  %67 = alloca i64, align 8
  %68 = alloca i64, align 8
  %69 = alloca i64, align 8
  %70 = alloca i64, align 8
  %71 = alloca i64, align 8
  %72 = alloca i64, align 8
  %73 = alloca i64, align 8
  %74 = alloca i64, align 8
  %75 = alloca i64, align 8
  %76 = alloca i64, align 8
  %77 = alloca i64, align 8
  %78 = alloca i64, align 8
  %79 = alloca i64, align 8
  %80 = alloca i64, align 8
  %81 = alloca i64, align 8
  %82 = alloca i64, align 8
  %83 = alloca i64, align 8
  %84 = alloca i64, align 8
  %85 = alloca i64, align 8
  %86 = alloca i64, align 8
  %87 = alloca i64, align 8
  %88 = alloca float, align 4
  %89 = alloca i64, align 8
  %90 = alloca i64, align 8
  %91 = alloca float, align 4
  %92 = alloca i64, align 8
  %93 = alloca float, align 4
  %94 = alloca i64, align 8
  %95 = alloca i64, align 8
  %96 = alloca i64, align 8
  %97 = alloca i64, align 8
  %98 = alloca float, align 4
  %99 = alloca i64, align 8
  %100 = alloca i64, align 8
  %101 = alloca [1 x i8], align 1
  %102 = alloca float, align 4
  %103 = alloca [13 x i64], align 16
  %104 = alloca i64, align 8
  %105 = alloca i64, align 8
  %106 = alloca [1 x i8], align 1
  %107 = alloca i64, align 8
  %108 = alloca [1 x i8], align 1
  %109 = alloca float, align 4
  %110 = alloca [1 x i8], align 1
  store ptr %0, ptr %28, align 8, !tbaa !5
  store ptr %1, ptr %29, align 8, !tbaa !5
  store ptr %2, ptr %30, align 8, !tbaa !5
  store ptr %3, ptr %31, align 8, !tbaa !5
  store ptr %4, ptr %32, align 8, !tbaa !5
  store ptr %5, ptr %33, align 8, !tbaa !5
  store ptr %6, ptr %34, align 8, !tbaa !5
  store ptr %7, ptr %35, align 8, !tbaa !5
  store ptr %8, ptr %36, align 8, !tbaa !5
  store ptr %9, ptr %37, align 8, !tbaa !5
  store ptr %10, ptr %38, align 8, !tbaa !5
  store ptr %11, ptr %39, align 8, !tbaa !5
  store ptr %12, ptr %40, align 8, !tbaa !5
  store ptr %13, ptr %41, align 8, !tbaa !5
  store ptr %14, ptr %42, align 8, !tbaa !5
  store ptr %15, ptr %43, align 8, !tbaa !5
  store ptr %16, ptr %44, align 8, !tbaa !5
  store ptr %17, ptr %45, align 8, !tbaa !5
  store ptr %18, ptr %46, align 8, !tbaa !5
  store ptr %19, ptr %47, align 8, !tbaa !5
  store ptr %20, ptr %48, align 8, !tbaa !5
  store ptr %21, ptr %49, align 8, !tbaa !5
  store ptr %22, ptr %50, align 8, !tbaa !5
  store ptr %23, ptr %51, align 8, !tbaa !5
  store ptr %24, ptr %52, align 8, !tbaa !5
  store ptr %25, ptr %53, align 8, !tbaa !5
  store i64 %26, ptr %54, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #3
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %101) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #3
  call void @llvm.lifetime.start.p0(i64 104, ptr %103) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %108) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %110) #3
  %111 = load ptr, ptr %37, align 8, !tbaa !5
  %112 = getelementptr inbounds i64, ptr %111, i32 -1
  store ptr %112, ptr %37, align 8, !tbaa !5
  %113 = load ptr, ptr %39, align 8, !tbaa !5
  %114 = getelementptr inbounds float, ptr %113, i32 -1
  store ptr %114, ptr %39, align 8, !tbaa !5
  %115 = load ptr, ptr %41, align 8, !tbaa !5
  %116 = getelementptr inbounds float, ptr %115, i32 -1
  store ptr %116, ptr %41, align 8, !tbaa !5
  %117 = load ptr, ptr %53, align 8, !tbaa !5
  %118 = getelementptr inbounds float, ptr %117, i32 -1
  store ptr %118, ptr %53, align 8, !tbaa !5
  %119 = load ptr, ptr %52, align 8, !tbaa !5
  %120 = getelementptr inbounds float, ptr %119, i32 -1
  store ptr %120, ptr %52, align 8, !tbaa !5
  %121 = load ptr, ptr %51, align 8, !tbaa !5
  %122 = getelementptr inbounds float, ptr %121, i32 -1
  store ptr %122, ptr %51, align 8, !tbaa !5
  %123 = load ptr, ptr %50, align 8, !tbaa !5
  %124 = getelementptr inbounds float, ptr %123, i32 -1
  store ptr %124, ptr %50, align 8, !tbaa !5
  %125 = load ptr, ptr %49, align 8, !tbaa !5
  %126 = getelementptr inbounds float, ptr %125, i32 -1
  store ptr %126, ptr %49, align 8, !tbaa !5
  %127 = load ptr, ptr %42, align 8, !tbaa !5
  %128 = load i64, ptr %127, align 8, !tbaa !9
  store i64 %128, ptr %55, align 8, !tbaa !9
  %129 = load i64, ptr %55, align 8, !tbaa !9
  %130 = add nsw i64 1, %129
  store i64 %130, ptr %56, align 8, !tbaa !9
  %131 = load i64, ptr %56, align 8, !tbaa !9
  %132 = load ptr, ptr %48, align 8, !tbaa !5
  %133 = sub i64 0, %131
  %134 = getelementptr inbounds float, ptr %132, i64 %133
  store ptr %134, ptr %48, align 8, !tbaa !5
  %135 = load ptr, ptr %47, align 8, !tbaa !5
  %136 = getelementptr inbounds float, ptr %135, i32 -1
  store ptr %136, ptr %47, align 8, !tbaa !5
  %137 = load ptr, ptr %46, align 8, !tbaa !5
  %138 = getelementptr inbounds float, ptr %137, i32 -1
  store ptr %138, ptr %46, align 8, !tbaa !5
  %139 = load ptr, ptr %45, align 8, !tbaa !5
  %140 = getelementptr inbounds float, ptr %139, i32 -1
  store ptr %140, ptr %45, align 8, !tbaa !5
  %141 = load ptr, ptr %44, align 8, !tbaa !5
  %142 = getelementptr inbounds float, ptr %141, i32 -1
  store ptr %142, ptr %44, align 8, !tbaa !5
  %143 = load ptr, ptr %43, align 8, !tbaa !5
  %144 = getelementptr inbounds float, ptr %143, i32 -1
  store ptr %144, ptr %43, align 8, !tbaa !5
  store i64 12, ptr %104, align 8, !tbaa !9
  store i64 0, ptr %75, align 8, !tbaa !9
  store i64 1, ptr %105, align 8, !tbaa !9
  store float 0.000000e+00, ptr %109, align 4, !tbaa !11
  %145 = load ptr, ptr %36, align 8, !tbaa !5
  %146 = load i64, ptr %145, align 8, !tbaa !9
  store i64 %146, ptr %57, align 8, !tbaa !9
  store i64 1, ptr %77, align 8, !tbaa !9
  br label %147

147:                                              ; preds = %811, %27
  %148 = load i64, ptr %77, align 8, !tbaa !9
  %149 = load i64, ptr %57, align 8, !tbaa !9
  %150 = icmp sle i64 %148, %149
  br i1 %150, label %151, label %814

151:                                              ; preds = %147
  %152 = load ptr, ptr %37, align 8, !tbaa !5
  %153 = load i64, ptr %77, align 8, !tbaa !9
  %154 = getelementptr inbounds i64, ptr %152, i64 %153
  %155 = load i64, ptr %154, align 8, !tbaa !9
  store i64 %155, ptr %69, align 8, !tbaa !9
  %156 = load i64, ptr %69, align 8, !tbaa !9
  store i64 %156, ptr %87, align 8, !tbaa !9
  %157 = load i64, ptr %87, align 8, !tbaa !9
  %158 = load ptr, ptr %42, align 8, !tbaa !5
  %159 = load i64, ptr %158, align 8, !tbaa !9
  %160 = icmp slt i64 %157, %159
  br i1 %160, label %161, label %164

161:                                              ; preds = %151
  %162 = load i64, ptr %87, align 8, !tbaa !9
  %163 = add nsw i64 %162, 1
  store i64 %163, ptr %87, align 8, !tbaa !9
  br label %164

164:                                              ; preds = %161, %151
  %165 = load i64, ptr %87, align 8, !tbaa !9
  %166 = load ptr, ptr %42, align 8, !tbaa !5
  %167 = load i64, ptr %166, align 8, !tbaa !9
  %168 = icmp sgt i64 %165, %167
  br i1 %168, label %169, label %170

169:                                              ; preds = %164
  br label %810

170:                                              ; preds = %164
  %171 = load i64, ptr %87, align 8, !tbaa !9
  %172 = load i64, ptr %69, align 8, !tbaa !9
  %173 = mul nsw i64 %171, %172
  store i64 %173, ptr %85, align 8, !tbaa !9
  %174 = load i64, ptr %69, align 8, !tbaa !9
  %175 = icmp sle i64 %174, 0
  %176 = zext i1 %175 to i32
  %177 = sext i32 %176 to i64
  store i64 %177, ptr %100, align 8, !tbaa !9
  %178 = load ptr, ptr %36, align 8, !tbaa !5
  %179 = load i64, ptr %178, align 8, !tbaa !9
  store i64 %179, ptr %58, align 8, !tbaa !9
  store i64 1, ptr %76, align 8, !tbaa !9
  br label %180

180:                                              ; preds = %806, %170
  %181 = load i64, ptr %76, align 8, !tbaa !9
  %182 = load i64, ptr %58, align 8, !tbaa !9
  %183 = icmp sle i64 %181, %182
  br i1 %183, label %184, label %809

184:                                              ; preds = %180
  %185 = load ptr, ptr %37, align 8, !tbaa !5
  %186 = load i64, ptr %76, align 8, !tbaa !9
  %187 = getelementptr inbounds i64, ptr %185, i64 %186
  %188 = load i64, ptr %187, align 8, !tbaa !9
  store i64 %188, ptr %68, align 8, !tbaa !9
  store i64 1, ptr %89, align 8, !tbaa !9
  br label %189

189:                                              ; preds = %802, %184
  %190 = load i64, ptr %89, align 8, !tbaa !9
  %191 = icmp sle i64 %190, 3
  br i1 %191, label %192, label %805

192:                                              ; preds = %189
  %193 = load i64, ptr %89, align 8, !tbaa !9
  %194 = sub nsw i64 %193, 1
  %195 = getelementptr inbounds [3 x i8], ptr @schk5_.icht, i64 0, i64 %194
  %196 = load i8, ptr %195, align 1, !tbaa !13
  %197 = getelementptr inbounds [1 x i8], ptr %106, i64 0, i64 0
  store i8 %196, ptr %197, align 1, !tbaa !13
  %198 = getelementptr inbounds [1 x i8], ptr %106, i64 0, i64 0
  %199 = load i8, ptr %198, align 1, !tbaa !13
  %200 = zext i8 %199 to i32
  %201 = icmp eq i32 %200, 84
  br i1 %201, label %207, label %202

202:                                              ; preds = %192
  %203 = getelementptr inbounds [1 x i8], ptr %106, i64 0, i64 0
  %204 = load i8, ptr %203, align 1, !tbaa !13
  %205 = zext i8 %204 to i32
  %206 = icmp eq i32 %205, 67
  br label %207

207:                                              ; preds = %202, %192
  %208 = phi i1 [ true, %192 ], [ %206, %202 ]
  %209 = zext i1 %208 to i32
  %210 = sext i32 %209 to i64
  store i64 %210, ptr %99, align 8, !tbaa !9
  %211 = load i64, ptr %99, align 8, !tbaa !9
  %212 = icmp ne i64 %211, 0
  br i1 %212, label %213, label %216

213:                                              ; preds = %207
  %214 = load i64, ptr %68, align 8, !tbaa !9
  store i64 %214, ptr %73, align 8, !tbaa !9
  %215 = load i64, ptr %69, align 8, !tbaa !9
  store i64 %215, ptr %74, align 8, !tbaa !9
  br label %219

216:                                              ; preds = %207
  %217 = load i64, ptr %69, align 8, !tbaa !9
  store i64 %217, ptr %73, align 8, !tbaa !9
  %218 = load i64, ptr %68, align 8, !tbaa !9
  store i64 %218, ptr %74, align 8, !tbaa !9
  br label %219

219:                                              ; preds = %216, %213
  %220 = load i64, ptr %73, align 8, !tbaa !9
  store i64 %220, ptr %84, align 8, !tbaa !9
  %221 = load i64, ptr %84, align 8, !tbaa !9
  %222 = load ptr, ptr %42, align 8, !tbaa !5
  %223 = load i64, ptr %222, align 8, !tbaa !9
  %224 = icmp slt i64 %221, %223
  br i1 %224, label %225, label %228

225:                                              ; preds = %219
  %226 = load i64, ptr %84, align 8, !tbaa !9
  %227 = add nsw i64 %226, 1
  store i64 %227, ptr %84, align 8, !tbaa !9
  br label %228

228:                                              ; preds = %225, %219
  %229 = load i64, ptr %84, align 8, !tbaa !9
  %230 = load ptr, ptr %42, align 8, !tbaa !5
  %231 = load i64, ptr %230, align 8, !tbaa !9
  %232 = icmp sgt i64 %229, %231
  br i1 %232, label %233, label %234

233:                                              ; preds = %228
  br label %801

234:                                              ; preds = %228
  %235 = load i64, ptr %84, align 8, !tbaa !9
  %236 = load i64, ptr %74, align 8, !tbaa !9
  %237 = mul nsw i64 %235, %236
  store i64 %237, ptr %82, align 8, !tbaa !9
  %238 = load i64, ptr %99, align 8, !tbaa !9
  %239 = icmp ne i64 %238, 0
  br i1 %239, label %240, label %249

240:                                              ; preds = %234
  %241 = load ptr, ptr %42, align 8, !tbaa !5
  %242 = load i64, ptr %241, align 8, !tbaa !9
  %243 = shl i64 %242, 1
  store i64 %243, ptr %59, align 8, !tbaa !9
  %244 = load ptr, ptr %43, align 8, !tbaa !5
  %245 = getelementptr inbounds float, ptr %244, i64 1
  %246 = load ptr, ptr %44, align 8, !tbaa !5
  %247 = getelementptr inbounds float, ptr %246, i64 1
  %248 = call i32 @smake_(ptr noundef @.str.4, ptr noundef @.str.5, ptr noundef @.str.5, ptr noundef %73, ptr noundef %74, ptr noundef %245, ptr noundef %59, ptr noundef %247, ptr noundef %84, ptr noundef %105, ptr noundef @c_b99, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  br label %256

249:                                              ; preds = %234
  %250 = load ptr, ptr %43, align 8, !tbaa !5
  %251 = getelementptr inbounds float, ptr %250, i64 1
  %252 = load ptr, ptr %42, align 8, !tbaa !5
  %253 = load ptr, ptr %44, align 8, !tbaa !5
  %254 = getelementptr inbounds float, ptr %253, i64 1
  %255 = call i32 @smake_(ptr noundef @.str.4, ptr noundef @.str.5, ptr noundef @.str.5, ptr noundef %73, ptr noundef %74, ptr noundef %251, ptr noundef %252, ptr noundef %254, ptr noundef %84, ptr noundef %105, ptr noundef @c_b99, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  br label %256

256:                                              ; preds = %249, %240
  %257 = load i64, ptr %84, align 8, !tbaa !9
  store i64 %257, ptr %86, align 8, !tbaa !9
  %258 = load i64, ptr %82, align 8, !tbaa !9
  store i64 %258, ptr %83, align 8, !tbaa !9
  %259 = load i64, ptr %99, align 8, !tbaa !9
  %260 = icmp ne i64 %259, 0
  br i1 %260, label %261, label %272

261:                                              ; preds = %256
  %262 = load ptr, ptr %42, align 8, !tbaa !5
  %263 = load i64, ptr %262, align 8, !tbaa !9
  %264 = shl i64 %263, 1
  store i64 %264, ptr %59, align 8, !tbaa !9
  %265 = load ptr, ptr %43, align 8, !tbaa !5
  %266 = load i64, ptr %68, align 8, !tbaa !9
  %267 = add nsw i64 %266, 1
  %268 = getelementptr inbounds float, ptr %265, i64 %267
  %269 = load ptr, ptr %46, align 8, !tbaa !5
  %270 = getelementptr inbounds float, ptr %269, i64 1
  %271 = call i32 @smake_(ptr noundef @.str.4, ptr noundef @.str.5, ptr noundef @.str.5, ptr noundef %73, ptr noundef %74, ptr noundef %268, ptr noundef %59, ptr noundef %270, ptr noundef %86, ptr noundef %105, ptr noundef @c_b99, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  br label %284

272:                                              ; preds = %256
  %273 = load ptr, ptr %43, align 8, !tbaa !5
  %274 = load i64, ptr %68, align 8, !tbaa !9
  %275 = load ptr, ptr %42, align 8, !tbaa !5
  %276 = load i64, ptr %275, align 8, !tbaa !9
  %277 = mul nsw i64 %274, %276
  %278 = add nsw i64 %277, 1
  %279 = getelementptr inbounds float, ptr %273, i64 %278
  %280 = load ptr, ptr %42, align 8, !tbaa !5
  %281 = load ptr, ptr %46, align 8, !tbaa !5
  %282 = getelementptr inbounds float, ptr %281, i64 1
  %283 = call i32 @smake_(ptr noundef @.str.4, ptr noundef @.str.5, ptr noundef @.str.5, ptr noundef %73, ptr noundef %74, ptr noundef %279, ptr noundef %280, ptr noundef %282, ptr noundef %86, ptr noundef %105, ptr noundef @c_b99, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  br label %284

284:                                              ; preds = %272, %261
  store i64 1, ptr %90, align 8, !tbaa !9
  br label %285

285:                                              ; preds = %797, %284
  %286 = load i64, ptr %90, align 8, !tbaa !9
  %287 = icmp sle i64 %286, 2
  br i1 %287, label %288, label %800

288:                                              ; preds = %285
  %289 = load i64, ptr %90, align 8, !tbaa !9
  %290 = sub nsw i64 %289, 1
  %291 = getelementptr inbounds [2 x i8], ptr @schk5_.ichu, i64 0, i64 %290
  %292 = load i8, ptr %291, align 1, !tbaa !13
  %293 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  store i8 %292, ptr %293, align 1, !tbaa !13
  %294 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  %295 = load i8, ptr %294, align 1, !tbaa !13
  %296 = zext i8 %295 to i32
  %297 = icmp eq i32 %296, 85
  %298 = zext i1 %297 to i32
  %299 = sext i32 %298 to i64
  store i64 %299, ptr %107, align 8, !tbaa !9
  %300 = load ptr, ptr %38, align 8, !tbaa !5
  %301 = load i64, ptr %300, align 8, !tbaa !9
  store i64 %301, ptr %59, align 8, !tbaa !9
  store i64 1, ptr %70, align 8, !tbaa !9
  br label %302

302:                                              ; preds = %793, %288
  %303 = load i64, ptr %70, align 8, !tbaa !9
  %304 = load i64, ptr %59, align 8, !tbaa !9
  %305 = icmp sle i64 %303, %304
  br i1 %305, label %306, label %796

306:                                              ; preds = %302
  %307 = load ptr, ptr %39, align 8, !tbaa !5
  %308 = load i64, ptr %70, align 8, !tbaa !9
  %309 = getelementptr inbounds float, ptr %307, i64 %308
  %310 = load float, ptr %309, align 4, !tbaa !11
  store float %310, ptr %102, align 4, !tbaa !11
  %311 = load ptr, ptr %40, align 8, !tbaa !5
  %312 = load i64, ptr %311, align 8, !tbaa !9
  store i64 %312, ptr %60, align 8, !tbaa !9
  store i64 1, ptr %71, align 8, !tbaa !9
  br label %313

313:                                              ; preds = %789, %306
  %314 = load i64, ptr %71, align 8, !tbaa !9
  %315 = load i64, ptr %60, align 8, !tbaa !9
  %316 = icmp sle i64 %314, %315
  br i1 %316, label %317, label %792

317:                                              ; preds = %313
  %318 = load ptr, ptr %41, align 8, !tbaa !5
  %319 = load i64, ptr %71, align 8, !tbaa !9
  %320 = getelementptr inbounds float, ptr %318, i64 %319
  %321 = load float, ptr %320, align 4, !tbaa !11
  store float %321, ptr %93, align 4, !tbaa !11
  %322 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  %323 = load ptr, ptr %48, align 8, !tbaa !5
  %324 = load i64, ptr %56, align 8, !tbaa !9
  %325 = getelementptr inbounds float, ptr %323, i64 %324
  %326 = load ptr, ptr %42, align 8, !tbaa !5
  %327 = load ptr, ptr %49, align 8, !tbaa !5
  %328 = getelementptr inbounds float, ptr %327, i64 1
  %329 = call i32 @smake_(ptr noundef @.str.6, ptr noundef %322, ptr noundef @.str.5, ptr noundef %69, ptr noundef %69, ptr noundef %325, ptr noundef %326, ptr noundef %328, ptr noundef %87, ptr noundef %105, ptr noundef @c_b99, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %330 = load i64, ptr %75, align 8, !tbaa !9
  %331 = add nsw i64 %330, 1
  store i64 %331, ptr %75, align 8, !tbaa !9
  %332 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  %333 = load i8, ptr %332, align 1, !tbaa !13
  %334 = getelementptr inbounds [1 x i8], ptr %108, i64 0, i64 0
  store i8 %333, ptr %334, align 1, !tbaa !13
  %335 = getelementptr inbounds [1 x i8], ptr %106, i64 0, i64 0
  %336 = load i8, ptr %335, align 1, !tbaa !13
  %337 = getelementptr inbounds [1 x i8], ptr %110, i64 0, i64 0
  store i8 %336, ptr %337, align 1, !tbaa !13
  %338 = load i64, ptr %69, align 8, !tbaa !9
  store i64 %338, ptr %81, align 8, !tbaa !9
  %339 = load i64, ptr %68, align 8, !tbaa !9
  store i64 %339, ptr %80, align 8, !tbaa !9
  %340 = load float, ptr %102, align 4, !tbaa !11
  store float %340, ptr %88, align 4, !tbaa !11
  %341 = load i64, ptr %82, align 8, !tbaa !9
  store i64 %341, ptr %61, align 8, !tbaa !9
  store i64 1, ptr %66, align 8, !tbaa !9
  br label %342

342:                                              ; preds = %354, %317
  %343 = load i64, ptr %66, align 8, !tbaa !9
  %344 = load i64, ptr %61, align 8, !tbaa !9
  %345 = icmp sle i64 %343, %344
  br i1 %345, label %346, label %357

346:                                              ; preds = %342
  %347 = load ptr, ptr %44, align 8, !tbaa !5
  %348 = load i64, ptr %66, align 8, !tbaa !9
  %349 = getelementptr inbounds float, ptr %347, i64 %348
  %350 = load float, ptr %349, align 4, !tbaa !11
  %351 = load ptr, ptr %45, align 8, !tbaa !5
  %352 = load i64, ptr %66, align 8, !tbaa !9
  %353 = getelementptr inbounds float, ptr %351, i64 %352
  store float %350, ptr %353, align 4, !tbaa !11
  br label %354

354:                                              ; preds = %346
  %355 = load i64, ptr %66, align 8, !tbaa !9
  %356 = add nsw i64 %355, 1
  store i64 %356, ptr %66, align 8, !tbaa !9
  br label %342, !llvm.loop !14

357:                                              ; preds = %342
  %358 = load i64, ptr %84, align 8, !tbaa !9
  store i64 %358, ptr %94, align 8, !tbaa !9
  %359 = load i64, ptr %83, align 8, !tbaa !9
  store i64 %359, ptr %61, align 8, !tbaa !9
  store i64 1, ptr %66, align 8, !tbaa !9
  br label %360

360:                                              ; preds = %372, %357
  %361 = load i64, ptr %66, align 8, !tbaa !9
  %362 = load i64, ptr %61, align 8, !tbaa !9
  %363 = icmp sle i64 %361, %362
  br i1 %363, label %364, label %375

364:                                              ; preds = %360
  %365 = load ptr, ptr %46, align 8, !tbaa !5
  %366 = load i64, ptr %66, align 8, !tbaa !9
  %367 = getelementptr inbounds float, ptr %365, i64 %366
  %368 = load float, ptr %367, align 4, !tbaa !11
  %369 = load ptr, ptr %47, align 8, !tbaa !5
  %370 = load i64, ptr %66, align 8, !tbaa !9
  %371 = getelementptr inbounds float, ptr %369, i64 %370
  store float %368, ptr %371, align 4, !tbaa !11
  br label %372

372:                                              ; preds = %364
  %373 = load i64, ptr %66, align 8, !tbaa !9
  %374 = add nsw i64 %373, 1
  store i64 %374, ptr %66, align 8, !tbaa !9
  br label %360, !llvm.loop !16

375:                                              ; preds = %360
  %376 = load i64, ptr %86, align 8, !tbaa !9
  store i64 %376, ptr %95, align 8, !tbaa !9
  %377 = load float, ptr %93, align 4, !tbaa !11
  store float %377, ptr %98, align 4, !tbaa !11
  %378 = load i64, ptr %85, align 8, !tbaa !9
  store i64 %378, ptr %61, align 8, !tbaa !9
  store i64 1, ptr %66, align 8, !tbaa !9
  br label %379

379:                                              ; preds = %391, %375
  %380 = load i64, ptr %66, align 8, !tbaa !9
  %381 = load i64, ptr %61, align 8, !tbaa !9
  %382 = icmp sle i64 %380, %381
  br i1 %382, label %383, label %394

383:                                              ; preds = %379
  %384 = load ptr, ptr %49, align 8, !tbaa !5
  %385 = load i64, ptr %66, align 8, !tbaa !9
  %386 = getelementptr inbounds float, ptr %384, i64 %385
  %387 = load float, ptr %386, align 4, !tbaa !11
  %388 = load ptr, ptr %50, align 8, !tbaa !5
  %389 = load i64, ptr %66, align 8, !tbaa !9
  %390 = getelementptr inbounds float, ptr %388, i64 %389
  store float %387, ptr %390, align 4, !tbaa !11
  br label %391

391:                                              ; preds = %383
  %392 = load i64, ptr %66, align 8, !tbaa !9
  %393 = add nsw i64 %392, 1
  store i64 %393, ptr %66, align 8, !tbaa !9
  br label %379, !llvm.loop !17

394:                                              ; preds = %379
  %395 = load i64, ptr %87, align 8, !tbaa !9
  store i64 %395, ptr %96, align 8, !tbaa !9
  %396 = load ptr, ptr %33, align 8, !tbaa !5
  %397 = load i64, ptr %396, align 8, !tbaa !9
  %398 = icmp ne i64 %397, 0
  br i1 %398, label %399, label %418

399:                                              ; preds = %394
  %400 = load ptr, ptr %32, align 8, !tbaa !5
  %401 = load i64, ptr %400, align 8, !tbaa !9
  store i64 %401, ptr getelementptr inbounds (%struct.cilist, ptr @schk5_.io___322, i32 0, i32 1), align 8, !tbaa !18
  %402 = call i64 @s_wsfe(ptr noundef @schk5_.io___322)
  %403 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %75, i64 noundef 8)
  %404 = load ptr, ptr %28, align 8, !tbaa !5
  %405 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %404, i64 noundef 6)
  %406 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  %407 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %406, i64 noundef 1)
  %408 = getelementptr inbounds [1 x i8], ptr %106, i64 0, i64 0
  %409 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %408, i64 noundef 1)
  %410 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %69, i64 noundef 8)
  %411 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %68, i64 noundef 8)
  %412 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %102, i64 noundef 4)
  %413 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %84, i64 noundef 8)
  %414 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %86, i64 noundef 8)
  %415 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %93, i64 noundef 4)
  %416 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %87, i64 noundef 8)
  %417 = call i64 @e_wsfe()
  br label %418

418:                                              ; preds = %399, %394
  %419 = load ptr, ptr %34, align 8, !tbaa !5
  %420 = load i64, ptr %419, align 8, !tbaa !9
  %421 = icmp ne i64 %420, 0
  br i1 %421, label %422, label %428

422:                                              ; preds = %418
  %423 = getelementptr inbounds %struct.alist, ptr %65, i32 0, i32 0
  store i64 0, ptr %423, align 8, !tbaa !20
  %424 = load ptr, ptr %32, align 8, !tbaa !5
  %425 = load i64, ptr %424, align 8, !tbaa !9
  %426 = getelementptr inbounds %struct.alist, ptr %65, i32 0, i32 1
  store i64 %425, ptr %426, align 8, !tbaa !22
  %427 = call i64 @f_rew(ptr noundef %65)
  br label %428

428:                                              ; preds = %422, %418
  %429 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  %430 = getelementptr inbounds [1 x i8], ptr %106, i64 0, i64 0
  %431 = load ptr, ptr %44, align 8, !tbaa !5
  %432 = getelementptr inbounds float, ptr %431, i64 1
  %433 = load ptr, ptr %46, align 8, !tbaa !5
  %434 = getelementptr inbounds float, ptr %433, i64 1
  %435 = load ptr, ptr %49, align 8, !tbaa !5
  %436 = getelementptr inbounds float, ptr %435, i64 1
  %437 = call i32 @f2c_ssyr2k(ptr noundef %429, ptr noundef %430, ptr noundef %69, ptr noundef %68, ptr noundef %102, ptr noundef %432, ptr noundef %84, ptr noundef %434, ptr noundef %86, ptr noundef %93, ptr noundef %436, ptr noundef %87)
  %438 = load i64, ptr getelementptr inbounds (%struct.anon, ptr @infoc_, i32 0, i32 2), align 8, !tbaa !13
  %439 = icmp ne i64 %438, 0
  br i1 %439, label %446, label %440

440:                                              ; preds = %428
  %441 = load ptr, ptr %31, align 8, !tbaa !5
  %442 = load i64, ptr %441, align 8, !tbaa !9
  store i64 %442, ptr getelementptr inbounds (%struct.cilist, ptr @schk5_.io___323, i32 0, i32 1), align 8, !tbaa !18
  %443 = call i64 @s_wsfe(ptr noundef @schk5_.io___323)
  %444 = call i64 @e_wsfe()
  %445 = load ptr, ptr %35, align 8, !tbaa !5
  store i64 1, ptr %445, align 8, !tbaa !9
  br label %847

446:                                              ; preds = %428
  %447 = getelementptr inbounds [1 x i8], ptr %108, i64 0, i64 0
  %448 = load i8, ptr %447, align 1, !tbaa !13
  %449 = zext i8 %448 to i32
  %450 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  %451 = load i8, ptr %450, align 1, !tbaa !13
  %452 = zext i8 %451 to i32
  %453 = icmp eq i32 %449, %452
  %454 = zext i1 %453 to i32
  %455 = sext i32 %454 to i64
  %456 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 0
  store i64 %455, ptr %456, align 16, !tbaa !9
  %457 = getelementptr inbounds [1 x i8], ptr %110, i64 0, i64 0
  %458 = load i8, ptr %457, align 1, !tbaa !13
  %459 = zext i8 %458 to i32
  %460 = getelementptr inbounds [1 x i8], ptr %106, i64 0, i64 0
  %461 = load i8, ptr %460, align 1, !tbaa !13
  %462 = zext i8 %461 to i32
  %463 = icmp eq i32 %459, %462
  %464 = zext i1 %463 to i32
  %465 = sext i32 %464 to i64
  %466 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 1
  store i64 %465, ptr %466, align 8, !tbaa !9
  %467 = load i64, ptr %81, align 8, !tbaa !9
  %468 = load i64, ptr %69, align 8, !tbaa !9
  %469 = icmp eq i64 %467, %468
  %470 = zext i1 %469 to i32
  %471 = sext i32 %470 to i64
  %472 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 2
  store i64 %471, ptr %472, align 16, !tbaa !9
  %473 = load i64, ptr %80, align 8, !tbaa !9
  %474 = load i64, ptr %68, align 8, !tbaa !9
  %475 = icmp eq i64 %473, %474
  %476 = zext i1 %475 to i32
  %477 = sext i32 %476 to i64
  %478 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 3
  store i64 %477, ptr %478, align 8, !tbaa !9
  %479 = load float, ptr %88, align 4, !tbaa !11
  %480 = load float, ptr %102, align 4, !tbaa !11
  %481 = fcmp oeq float %479, %480
  %482 = zext i1 %481 to i32
  %483 = sext i32 %482 to i64
  %484 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 4
  store i64 %483, ptr %484, align 16, !tbaa !9
  %485 = load ptr, ptr %45, align 8, !tbaa !5
  %486 = getelementptr inbounds float, ptr %485, i64 1
  %487 = load ptr, ptr %44, align 8, !tbaa !5
  %488 = getelementptr inbounds float, ptr %487, i64 1
  %489 = call i64 @lse_(ptr noundef %486, ptr noundef %488, ptr noundef %82)
  %490 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 5
  store i64 %489, ptr %490, align 8, !tbaa !9
  %491 = load i64, ptr %94, align 8, !tbaa !9
  %492 = load i64, ptr %84, align 8, !tbaa !9
  %493 = icmp eq i64 %491, %492
  %494 = zext i1 %493 to i32
  %495 = sext i32 %494 to i64
  %496 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 6
  store i64 %495, ptr %496, align 16, !tbaa !9
  %497 = load ptr, ptr %47, align 8, !tbaa !5
  %498 = getelementptr inbounds float, ptr %497, i64 1
  %499 = load ptr, ptr %46, align 8, !tbaa !5
  %500 = getelementptr inbounds float, ptr %499, i64 1
  %501 = call i64 @lse_(ptr noundef %498, ptr noundef %500, ptr noundef %83)
  %502 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 7
  store i64 %501, ptr %502, align 8, !tbaa !9
  %503 = load i64, ptr %95, align 8, !tbaa !9
  %504 = load i64, ptr %86, align 8, !tbaa !9
  %505 = icmp eq i64 %503, %504
  %506 = zext i1 %505 to i32
  %507 = sext i32 %506 to i64
  %508 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 8
  store i64 %507, ptr %508, align 16, !tbaa !9
  %509 = load float, ptr %98, align 4, !tbaa !11
  %510 = load float, ptr %93, align 4, !tbaa !11
  %511 = fcmp oeq float %509, %510
  %512 = zext i1 %511 to i32
  %513 = sext i32 %512 to i64
  %514 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 9
  store i64 %513, ptr %514, align 8, !tbaa !9
  %515 = load i64, ptr %100, align 8, !tbaa !9
  %516 = icmp ne i64 %515, 0
  br i1 %516, label %517, label %524

517:                                              ; preds = %446
  %518 = load ptr, ptr %50, align 8, !tbaa !5
  %519 = getelementptr inbounds float, ptr %518, i64 1
  %520 = load ptr, ptr %49, align 8, !tbaa !5
  %521 = getelementptr inbounds float, ptr %520, i64 1
  %522 = call i64 @lse_(ptr noundef %519, ptr noundef %521, ptr noundef %85)
  %523 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 10
  store i64 %522, ptr %523, align 16, !tbaa !9
  br label %532

524:                                              ; preds = %446
  %525 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  %526 = load ptr, ptr %50, align 8, !tbaa !5
  %527 = getelementptr inbounds float, ptr %526, i64 1
  %528 = load ptr, ptr %49, align 8, !tbaa !5
  %529 = getelementptr inbounds float, ptr %528, i64 1
  %530 = call i64 @lseres_(ptr noundef @.str.6, ptr noundef %525, ptr noundef %69, ptr noundef %69, ptr noundef %527, ptr noundef %529, ptr noundef %87, i64 noundef 2, i64 noundef 1)
  %531 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 10
  store i64 %530, ptr %531, align 16, !tbaa !9
  br label %532

532:                                              ; preds = %524, %517
  %533 = load i64, ptr %96, align 8, !tbaa !9
  %534 = load i64, ptr %87, align 8, !tbaa !9
  %535 = icmp eq i64 %533, %534
  %536 = zext i1 %535 to i32
  %537 = sext i32 %536 to i64
  %538 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 11
  store i64 %537, ptr %538, align 8, !tbaa !9
  store i64 1, ptr %97, align 8, !tbaa !9
  %539 = load i64, ptr %104, align 8, !tbaa !9
  store i64 %539, ptr %61, align 8, !tbaa !9
  store i64 1, ptr %66, align 8, !tbaa !9
  br label %540

540:                                              ; preds = %569, %532
  %541 = load i64, ptr %66, align 8, !tbaa !9
  %542 = load i64, ptr %61, align 8, !tbaa !9
  %543 = icmp sle i64 %541, %542
  br i1 %543, label %544, label %572

544:                                              ; preds = %540
  %545 = load i64, ptr %97, align 8, !tbaa !9
  %546 = icmp ne i64 %545, 0
  br i1 %546, label %547, label %553

547:                                              ; preds = %544
  %548 = load i64, ptr %66, align 8, !tbaa !9
  %549 = sub nsw i64 %548, 1
  %550 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 %549
  %551 = load i64, ptr %550, align 8, !tbaa !9
  %552 = icmp ne i64 %551, 0
  br label %553

553:                                              ; preds = %547, %544
  %554 = phi i1 [ false, %544 ], [ %552, %547 ]
  %555 = zext i1 %554 to i32
  %556 = sext i32 %555 to i64
  store i64 %556, ptr %97, align 8, !tbaa !9
  %557 = load i64, ptr %66, align 8, !tbaa !9
  %558 = sub nsw i64 %557, 1
  %559 = getelementptr inbounds [13 x i64], ptr %103, i64 0, i64 %558
  %560 = load i64, ptr %559, align 8, !tbaa !9
  %561 = icmp ne i64 %560, 0
  br i1 %561, label %568, label %562

562:                                              ; preds = %553
  %563 = load ptr, ptr %31, align 8, !tbaa !5
  %564 = load i64, ptr %563, align 8, !tbaa !9
  store i64 %564, ptr getelementptr inbounds (%struct.cilist, ptr @schk5_.io___326, i32 0, i32 1), align 8, !tbaa !18
  %565 = call i64 @s_wsfe(ptr noundef @schk5_.io___326)
  %566 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %66, i64 noundef 8)
  %567 = call i64 @e_wsfe()
  br label %568

568:                                              ; preds = %562, %553
  br label %569

569:                                              ; preds = %568
  %570 = load i64, ptr %66, align 8, !tbaa !9
  %571 = add nsw i64 %570, 1
  store i64 %571, ptr %66, align 8, !tbaa !9
  br label %540, !llvm.loop !23

572:                                              ; preds = %540
  %573 = load i64, ptr %97, align 8, !tbaa !9
  %574 = icmp ne i64 %573, 0
  br i1 %574, label %577, label %575

575:                                              ; preds = %572
  %576 = load ptr, ptr %35, align 8, !tbaa !5
  store i64 1, ptr %576, align 8, !tbaa !9
  br label %847

577:                                              ; preds = %572
  %578 = load i64, ptr %100, align 8, !tbaa !9
  %579 = icmp ne i64 %578, 0
  br i1 %579, label %788, label %580

580:                                              ; preds = %577
  store i64 1, ptr %92, align 8, !tbaa !9
  store i64 1, ptr %72, align 8, !tbaa !9
  %581 = load i64, ptr %69, align 8, !tbaa !9
  store i64 %581, ptr %61, align 8, !tbaa !9
  store i64 1, ptr %67, align 8, !tbaa !9
  br label %582

582:                                              ; preds = %784, %580
  %583 = load i64, ptr %67, align 8, !tbaa !9
  %584 = load i64, ptr %61, align 8, !tbaa !9
  %585 = icmp sle i64 %583, %584
  br i1 %585, label %586, label %787

586:                                              ; preds = %582
  %587 = load i64, ptr %107, align 8, !tbaa !9
  %588 = icmp ne i64 %587, 0
  br i1 %588, label %589, label %591

589:                                              ; preds = %586
  store i64 1, ptr %78, align 8, !tbaa !9
  %590 = load i64, ptr %67, align 8, !tbaa !9
  store i64 %590, ptr %79, align 8, !tbaa !9
  br label %597

591:                                              ; preds = %586
  %592 = load i64, ptr %67, align 8, !tbaa !9
  store i64 %592, ptr %78, align 8, !tbaa !9
  %593 = load i64, ptr %69, align 8, !tbaa !9
  %594 = load i64, ptr %67, align 8, !tbaa !9
  %595 = sub nsw i64 %593, %594
  %596 = add nsw i64 %595, 1
  store i64 %596, ptr %79, align 8, !tbaa !9
  br label %597

597:                                              ; preds = %591, %589
  %598 = load i64, ptr %99, align 8, !tbaa !9
  %599 = icmp ne i64 %598, 0
  br i1 %599, label %600, label %675

600:                                              ; preds = %597
  %601 = load i64, ptr %68, align 8, !tbaa !9
  store i64 %601, ptr %62, align 8, !tbaa !9
  store i64 1, ptr %66, align 8, !tbaa !9
  br label %602

602:                                              ; preds = %639, %600
  %603 = load i64, ptr %66, align 8, !tbaa !9
  %604 = load i64, ptr %62, align 8, !tbaa !9
  %605 = icmp sle i64 %603, %604
  br i1 %605, label %606, label %642

606:                                              ; preds = %602
  %607 = load ptr, ptr %43, align 8, !tbaa !5
  %608 = load i64, ptr %67, align 8, !tbaa !9
  %609 = sub nsw i64 %608, 1
  %610 = shl i64 %609, 1
  %611 = load ptr, ptr %42, align 8, !tbaa !5
  %612 = load i64, ptr %611, align 8, !tbaa !9
  %613 = mul nsw i64 %610, %612
  %614 = load i64, ptr %68, align 8, !tbaa !9
  %615 = add nsw i64 %613, %614
  %616 = load i64, ptr %66, align 8, !tbaa !9
  %617 = add nsw i64 %615, %616
  %618 = getelementptr inbounds float, ptr %607, i64 %617
  %619 = load float, ptr %618, align 4, !tbaa !11
  %620 = load ptr, ptr %53, align 8, !tbaa !5
  %621 = load i64, ptr %66, align 8, !tbaa !9
  %622 = getelementptr inbounds float, ptr %620, i64 %621
  store float %619, ptr %622, align 4, !tbaa !11
  %623 = load ptr, ptr %43, align 8, !tbaa !5
  %624 = load i64, ptr %67, align 8, !tbaa !9
  %625 = sub nsw i64 %624, 1
  %626 = shl i64 %625, 1
  %627 = load ptr, ptr %42, align 8, !tbaa !5
  %628 = load i64, ptr %627, align 8, !tbaa !9
  %629 = mul nsw i64 %626, %628
  %630 = load i64, ptr %66, align 8, !tbaa !9
  %631 = add nsw i64 %629, %630
  %632 = getelementptr inbounds float, ptr %623, i64 %631
  %633 = load float, ptr %632, align 4, !tbaa !11
  %634 = load ptr, ptr %53, align 8, !tbaa !5
  %635 = load i64, ptr %68, align 8, !tbaa !9
  %636 = load i64, ptr %66, align 8, !tbaa !9
  %637 = add nsw i64 %635, %636
  %638 = getelementptr inbounds float, ptr %634, i64 %637
  store float %633, ptr %638, align 4, !tbaa !11
  br label %639

639:                                              ; preds = %606
  %640 = load i64, ptr %66, align 8, !tbaa !9
  %641 = add nsw i64 %640, 1
  store i64 %641, ptr %66, align 8, !tbaa !9
  br label %602, !llvm.loop !24

642:                                              ; preds = %602
  %643 = load i64, ptr %68, align 8, !tbaa !9
  %644 = shl i64 %643, 1
  store i64 %644, ptr %62, align 8, !tbaa !9
  %645 = load ptr, ptr %42, align 8, !tbaa !5
  %646 = load i64, ptr %645, align 8, !tbaa !9
  %647 = shl i64 %646, 1
  store i64 %647, ptr %63, align 8, !tbaa !9
  %648 = load ptr, ptr %42, align 8, !tbaa !5
  %649 = load i64, ptr %648, align 8, !tbaa !9
  %650 = shl i64 %649, 1
  store i64 %650, ptr %64, align 8, !tbaa !9
  %651 = load ptr, ptr %43, align 8, !tbaa !5
  %652 = load i64, ptr %92, align 8, !tbaa !9
  %653 = getelementptr inbounds float, ptr %651, i64 %652
  %654 = load ptr, ptr %53, align 8, !tbaa !5
  %655 = getelementptr inbounds float, ptr %654, i64 1
  %656 = load ptr, ptr %48, align 8, !tbaa !5
  %657 = load i64, ptr %78, align 8, !tbaa !9
  %658 = load i64, ptr %67, align 8, !tbaa !9
  %659 = load i64, ptr %55, align 8, !tbaa !9
  %660 = mul nsw i64 %658, %659
  %661 = add nsw i64 %657, %660
  %662 = getelementptr inbounds float, ptr %656, i64 %661
  %663 = load ptr, ptr %42, align 8, !tbaa !5
  %664 = load ptr, ptr %51, align 8, !tbaa !5
  %665 = getelementptr inbounds float, ptr %664, i64 1
  %666 = load ptr, ptr %52, align 8, !tbaa !5
  %667 = getelementptr inbounds float, ptr %666, i64 1
  %668 = load ptr, ptr %49, align 8, !tbaa !5
  %669 = load i64, ptr %72, align 8, !tbaa !9
  %670 = getelementptr inbounds float, ptr %668, i64 %669
  %671 = load ptr, ptr %29, align 8, !tbaa !5
  %672 = load ptr, ptr %35, align 8, !tbaa !5
  %673 = load ptr, ptr %31, align 8, !tbaa !5
  %674 = call i32 @smmch_(ptr noundef @.str.10, ptr noundef @.str, ptr noundef %79, ptr noundef @c__1, ptr noundef %62, ptr noundef %102, ptr noundef %653, ptr noundef %63, ptr noundef %655, ptr noundef %64, ptr noundef %93, ptr noundef %662, ptr noundef %663, ptr noundef %665, ptr noundef %667, ptr noundef %670, ptr noundef %87, ptr noundef %671, ptr noundef %91, ptr noundef %672, ptr noundef %673, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  br label %746

675:                                              ; preds = %597
  %676 = load i64, ptr %68, align 8, !tbaa !9
  store i64 %676, ptr %62, align 8, !tbaa !9
  store i64 1, ptr %66, align 8, !tbaa !9
  br label %677

677:                                              ; preds = %712, %675
  %678 = load i64, ptr %66, align 8, !tbaa !9
  %679 = load i64, ptr %62, align 8, !tbaa !9
  %680 = icmp sle i64 %678, %679
  br i1 %680, label %681, label %715

681:                                              ; preds = %677
  %682 = load ptr, ptr %43, align 8, !tbaa !5
  %683 = load i64, ptr %68, align 8, !tbaa !9
  %684 = load i64, ptr %66, align 8, !tbaa !9
  %685 = add nsw i64 %683, %684
  %686 = sub nsw i64 %685, 1
  %687 = load ptr, ptr %42, align 8, !tbaa !5
  %688 = load i64, ptr %687, align 8, !tbaa !9
  %689 = mul nsw i64 %686, %688
  %690 = load i64, ptr %67, align 8, !tbaa !9
  %691 = add nsw i64 %689, %690
  %692 = getelementptr inbounds float, ptr %682, i64 %691
  %693 = load float, ptr %692, align 4, !tbaa !11
  %694 = load ptr, ptr %53, align 8, !tbaa !5
  %695 = load i64, ptr %66, align 8, !tbaa !9
  %696 = getelementptr inbounds float, ptr %694, i64 %695
  store float %693, ptr %696, align 4, !tbaa !11
  %697 = load ptr, ptr %43, align 8, !tbaa !5
  %698 = load i64, ptr %66, align 8, !tbaa !9
  %699 = sub nsw i64 %698, 1
  %700 = load ptr, ptr %42, align 8, !tbaa !5
  %701 = load i64, ptr %700, align 8, !tbaa !9
  %702 = mul nsw i64 %699, %701
  %703 = load i64, ptr %67, align 8, !tbaa !9
  %704 = add nsw i64 %702, %703
  %705 = getelementptr inbounds float, ptr %697, i64 %704
  %706 = load float, ptr %705, align 4, !tbaa !11
  %707 = load ptr, ptr %53, align 8, !tbaa !5
  %708 = load i64, ptr %68, align 8, !tbaa !9
  %709 = load i64, ptr %66, align 8, !tbaa !9
  %710 = add nsw i64 %708, %709
  %711 = getelementptr inbounds float, ptr %707, i64 %710
  store float %706, ptr %711, align 4, !tbaa !11
  br label %712

712:                                              ; preds = %681
  %713 = load i64, ptr %66, align 8, !tbaa !9
  %714 = add nsw i64 %713, 1
  store i64 %714, ptr %66, align 8, !tbaa !9
  br label %677, !llvm.loop !25

715:                                              ; preds = %677
  %716 = load i64, ptr %68, align 8, !tbaa !9
  %717 = shl i64 %716, 1
  store i64 %717, ptr %62, align 8, !tbaa !9
  %718 = load ptr, ptr %42, align 8, !tbaa !5
  %719 = load i64, ptr %718, align 8, !tbaa !9
  %720 = shl i64 %719, 1
  store i64 %720, ptr %63, align 8, !tbaa !9
  %721 = load ptr, ptr %43, align 8, !tbaa !5
  %722 = load i64, ptr %78, align 8, !tbaa !9
  %723 = getelementptr inbounds float, ptr %721, i64 %722
  %724 = load ptr, ptr %42, align 8, !tbaa !5
  %725 = load ptr, ptr %53, align 8, !tbaa !5
  %726 = getelementptr inbounds float, ptr %725, i64 1
  %727 = load ptr, ptr %48, align 8, !tbaa !5
  %728 = load i64, ptr %78, align 8, !tbaa !9
  %729 = load i64, ptr %67, align 8, !tbaa !9
  %730 = load i64, ptr %55, align 8, !tbaa !9
  %731 = mul nsw i64 %729, %730
  %732 = add nsw i64 %728, %731
  %733 = getelementptr inbounds float, ptr %727, i64 %732
  %734 = load ptr, ptr %42, align 8, !tbaa !5
  %735 = load ptr, ptr %51, align 8, !tbaa !5
  %736 = getelementptr inbounds float, ptr %735, i64 1
  %737 = load ptr, ptr %52, align 8, !tbaa !5
  %738 = getelementptr inbounds float, ptr %737, i64 1
  %739 = load ptr, ptr %49, align 8, !tbaa !5
  %740 = load i64, ptr %72, align 8, !tbaa !9
  %741 = getelementptr inbounds float, ptr %739, i64 %740
  %742 = load ptr, ptr %29, align 8, !tbaa !5
  %743 = load ptr, ptr %35, align 8, !tbaa !5
  %744 = load ptr, ptr %31, align 8, !tbaa !5
  %745 = call i32 @smmch_(ptr noundef @.str, ptr noundef @.str, ptr noundef %79, ptr noundef @c__1, ptr noundef %62, ptr noundef %102, ptr noundef %723, ptr noundef %724, ptr noundef %726, ptr noundef %63, ptr noundef %93, ptr noundef %733, ptr noundef %734, ptr noundef %736, ptr noundef %738, ptr noundef %741, ptr noundef %87, ptr noundef %742, ptr noundef %91, ptr noundef %743, ptr noundef %744, ptr noundef @c_true, i64 noundef 1, i64 noundef 1)
  br label %746

746:                                              ; preds = %715, %642
  %747 = load i64, ptr %107, align 8, !tbaa !9
  %748 = icmp ne i64 %747, 0
  br i1 %748, label %749, label %753

749:                                              ; preds = %746
  %750 = load i64, ptr %87, align 8, !tbaa !9
  %751 = load i64, ptr %72, align 8, !tbaa !9
  %752 = add nsw i64 %751, %750
  store i64 %752, ptr %72, align 8, !tbaa !9
  br label %767

753:                                              ; preds = %746
  %754 = load i64, ptr %72, align 8, !tbaa !9
  %755 = load i64, ptr %87, align 8, !tbaa !9
  %756 = add nsw i64 %754, %755
  %757 = add nsw i64 %756, 1
  store i64 %757, ptr %72, align 8, !tbaa !9
  %758 = load i64, ptr %99, align 8, !tbaa !9
  %759 = icmp ne i64 %758, 0
  br i1 %759, label %760, label %766

760:                                              ; preds = %753
  %761 = load ptr, ptr %42, align 8, !tbaa !5
  %762 = load i64, ptr %761, align 8, !tbaa !9
  %763 = shl i64 %762, 1
  %764 = load i64, ptr %92, align 8, !tbaa !9
  %765 = add nsw i64 %764, %763
  store i64 %765, ptr %92, align 8, !tbaa !9
  br label %766

766:                                              ; preds = %760, %753
  br label %767

767:                                              ; preds = %766, %749
  %768 = load float, ptr %109, align 4, !tbaa !11
  %769 = load float, ptr %91, align 4, !tbaa !11
  %770 = fcmp oge float %768, %769
  br i1 %770, label %771, label %773

771:                                              ; preds = %767
  %772 = load float, ptr %109, align 4, !tbaa !11
  br label %775

773:                                              ; preds = %767
  %774 = load float, ptr %91, align 4, !tbaa !11
  br label %775

775:                                              ; preds = %773, %771
  %776 = phi float [ %772, %771 ], [ %774, %773 ]
  %777 = fpext float %776 to double
  %778 = fptrunc double %777 to float
  store float %778, ptr %109, align 4, !tbaa !11
  %779 = load ptr, ptr %35, align 8, !tbaa !5
  %780 = load i64, ptr %779, align 8, !tbaa !9
  %781 = icmp ne i64 %780, 0
  br i1 %781, label %782, label %783

782:                                              ; preds = %775
  br label %837

783:                                              ; preds = %775
  br label %784

784:                                              ; preds = %783
  %785 = load i64, ptr %67, align 8, !tbaa !9
  %786 = add nsw i64 %785, 1
  store i64 %786, ptr %67, align 8, !tbaa !9
  br label %582, !llvm.loop !26

787:                                              ; preds = %582
  br label %788

788:                                              ; preds = %787, %577
  br label %789

789:                                              ; preds = %788
  %790 = load i64, ptr %71, align 8, !tbaa !9
  %791 = add nsw i64 %790, 1
  store i64 %791, ptr %71, align 8, !tbaa !9
  br label %313, !llvm.loop !27

792:                                              ; preds = %313
  br label %793

793:                                              ; preds = %792
  %794 = load i64, ptr %70, align 8, !tbaa !9
  %795 = add nsw i64 %794, 1
  store i64 %795, ptr %70, align 8, !tbaa !9
  br label %302, !llvm.loop !28

796:                                              ; preds = %302
  br label %797

797:                                              ; preds = %796
  %798 = load i64, ptr %90, align 8, !tbaa !9
  %799 = add nsw i64 %798, 1
  store i64 %799, ptr %90, align 8, !tbaa !9
  br label %285, !llvm.loop !29

800:                                              ; preds = %285
  br label %801

801:                                              ; preds = %800, %233
  br label %802

802:                                              ; preds = %801
  %803 = load i64, ptr %89, align 8, !tbaa !9
  %804 = add nsw i64 %803, 1
  store i64 %804, ptr %89, align 8, !tbaa !9
  br label %189, !llvm.loop !30

805:                                              ; preds = %189
  br label %806

806:                                              ; preds = %805
  %807 = load i64, ptr %76, align 8, !tbaa !9
  %808 = add nsw i64 %807, 1
  store i64 %808, ptr %76, align 8, !tbaa !9
  br label %180, !llvm.loop !31

809:                                              ; preds = %180
  br label %810

810:                                              ; preds = %809, %169
  br label %811

811:                                              ; preds = %810
  %812 = load i64, ptr %77, align 8, !tbaa !9
  %813 = add nsw i64 %812, 1
  store i64 %813, ptr %77, align 8, !tbaa !9
  br label %147, !llvm.loop !32

814:                                              ; preds = %147
  %815 = load float, ptr %109, align 4, !tbaa !11
  %816 = load ptr, ptr %30, align 8, !tbaa !5
  %817 = load float, ptr %816, align 4, !tbaa !11
  %818 = fcmp olt float %815, %817
  br i1 %818, label %819, label %827

819:                                              ; preds = %814
  %820 = load ptr, ptr %31, align 8, !tbaa !5
  %821 = load i64, ptr %820, align 8, !tbaa !9
  store i64 %821, ptr getelementptr inbounds (%struct.cilist, ptr @schk5_.io___333, i32 0, i32 1), align 8, !tbaa !18
  %822 = call i64 @s_wsfe(ptr noundef @schk5_.io___333)
  %823 = load ptr, ptr %28, align 8, !tbaa !5
  %824 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %823, i64 noundef 6)
  %825 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %75, i64 noundef 8)
  %826 = call i64 @e_wsfe()
  br label %836

827:                                              ; preds = %814
  %828 = load ptr, ptr %31, align 8, !tbaa !5
  %829 = load i64, ptr %828, align 8, !tbaa !9
  store i64 %829, ptr getelementptr inbounds (%struct.cilist, ptr @schk5_.io___334, i32 0, i32 1), align 8, !tbaa !18
  %830 = call i64 @s_wsfe(ptr noundef @schk5_.io___334)
  %831 = load ptr, ptr %28, align 8, !tbaa !5
  %832 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %831, i64 noundef 6)
  %833 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %75, i64 noundef 8)
  %834 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %109, i64 noundef 4)
  %835 = call i64 @e_wsfe()
  br label %836

836:                                              ; preds = %827, %819
  br label %872

837:                                              ; preds = %782
  %838 = load i64, ptr %69, align 8, !tbaa !9
  %839 = icmp sgt i64 %838, 1
  br i1 %839, label %840, label %846

840:                                              ; preds = %837
  %841 = load ptr, ptr %31, align 8, !tbaa !5
  %842 = load i64, ptr %841, align 8, !tbaa !9
  store i64 %842, ptr getelementptr inbounds (%struct.cilist, ptr @schk5_.io___335, i32 0, i32 1), align 8, !tbaa !18
  %843 = call i64 @s_wsfe(ptr noundef @schk5_.io___335)
  %844 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %67, i64 noundef 8)
  %845 = call i64 @e_wsfe()
  br label %846

846:                                              ; preds = %840, %837
  br label %847

847:                                              ; preds = %846, %575, %440
  %848 = load ptr, ptr %31, align 8, !tbaa !5
  %849 = load i64, ptr %848, align 8, !tbaa !9
  store i64 %849, ptr getelementptr inbounds (%struct.cilist, ptr @schk5_.io___336, i32 0, i32 1), align 8, !tbaa !18
  %850 = call i64 @s_wsfe(ptr noundef @schk5_.io___336)
  %851 = load ptr, ptr %28, align 8, !tbaa !5
  %852 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %851, i64 noundef 6)
  %853 = call i64 @e_wsfe()
  %854 = load ptr, ptr %31, align 8, !tbaa !5
  %855 = load i64, ptr %854, align 8, !tbaa !9
  store i64 %855, ptr getelementptr inbounds (%struct.cilist, ptr @schk5_.io___337, i32 0, i32 1), align 8, !tbaa !18
  %856 = call i64 @s_wsfe(ptr noundef @schk5_.io___337)
  %857 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %75, i64 noundef 8)
  %858 = load ptr, ptr %28, align 8, !tbaa !5
  %859 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %858, i64 noundef 6)
  %860 = getelementptr inbounds [1 x i8], ptr %101, i64 0, i64 0
  %861 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %860, i64 noundef 1)
  %862 = getelementptr inbounds [1 x i8], ptr %106, i64 0, i64 0
  %863 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %862, i64 noundef 1)
  %864 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %69, i64 noundef 8)
  %865 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %68, i64 noundef 8)
  %866 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %102, i64 noundef 4)
  %867 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %84, i64 noundef 8)
  %868 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %86, i64 noundef 8)
  %869 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %93, i64 noundef 4)
  %870 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %87, i64 noundef 8)
  %871 = call i64 @e_wsfe()
  br label %872

872:                                              ; preds = %847, %836
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #3
  call void @llvm.lifetime.end.p0(i64 104, ptr %103) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #3
  ret i32 0
}

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

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

declare i64 @f_rew(ptr noundef) #1

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

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

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

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

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


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

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

@c__1 = external hidden global i64, align 8
@infoc_ = external dso_local local_unnamed_addr global %union.anon, align 8
@.str = external hidden unnamed_addr constant [2 x i8], align 1
@c_b99 = external hidden global float, align 4
@c_true = external hidden global i64, align 8
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@schk5_.icht = external hidden local_unnamed_addr global [3 x i8], align 1
@schk5_.ichu = external hidden local_unnamed_addr global [2 x i8], align 1
@schk5_.io___322 = external hidden global %struct.cilist, align 8
@schk5_.io___323 = external hidden global %struct.cilist, align 8
@schk5_.io___326 = external hidden global %struct.cilist, align 8
@schk5_.io___333 = external hidden global %struct.cilist, align 8
@schk5_.io___334 = external hidden global %struct.cilist, align 8
@schk5_.io___335 = external hidden global %struct.cilist, align 8
@schk5_.io___336 = external hidden global %struct.cilist, align 8
@schk5_.io___337 = external hidden global %struct.cilist, align 8

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

declare i64 @s_wsfe(ptr noundef) local_unnamed_addr #1

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

declare i64 @e_wsfe() local_unnamed_addr #1

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

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

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @schk5_(ptr noundef %0, ptr noundef %1, ptr nocapture noundef readonly %2, ptr noundef %3, ptr nocapture noundef readonly %4, ptr nocapture noundef readonly %5, ptr nocapture noundef readonly %6, ptr noundef %7, ptr nocapture noundef readonly %8, ptr nocapture noundef readonly %9, ptr nocapture noundef readonly %10, ptr nocapture noundef readonly %11, ptr nocapture noundef readonly %12, ptr nocapture noundef readonly %13, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr noundef %24, ptr noundef %25, i64 noundef %26) local_unnamed_addr #2 {
  %28 = ptrtoint ptr %15 to i64
  %29 = ptrtoint ptr %25 to i64
  %30 = alloca i64, align 8
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca i64, align 8
  %34 = alloca %struct.alist, align 8
  %35 = alloca i64, align 8
  %36 = alloca i64, align 8
  %37 = alloca i64, align 8
  %38 = alloca i64, align 8
  %39 = alloca i64, align 8
  %40 = alloca i64, align 8
  %41 = alloca i64, align 8
  %42 = alloca i64, align 8
  %43 = alloca i64, align 8
  %44 = alloca i64, align 8
  %45 = alloca i64, align 8
  %46 = alloca i64, align 8
  %47 = alloca i64, align 8
  %48 = alloca i64, align 8
  %49 = alloca float, align 4
  %50 = alloca float, align 4
  %51 = alloca [1 x i8], align 1
  %52 = alloca float, align 4
  %53 = alloca [13 x i64], align 16
  %54 = alloca i64, align 8
  %55 = alloca [1 x i8], align 1
  %56 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #3
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %51) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #3
  call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %53) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %55) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #3
  %57 = getelementptr inbounds i8, ptr %9, i64 -8
  %58 = getelementptr inbounds i8, ptr %11, i64 -4
  %59 = getelementptr inbounds i8, ptr %13, i64 -4
  %60 = getelementptr inbounds i8, ptr %25, i64 -4
  %61 = getelementptr inbounds i8, ptr %22, i64 -4
  %62 = getelementptr inbounds i8, ptr %21, i64 -4
  %63 = load i64, ptr %14, align 8, !tbaa !5
  %64 = xor i64 %63, -1
  %65 = getelementptr inbounds float, ptr %20, i64 %64
  %66 = getelementptr inbounds i8, ptr %19, i64 -4
  %67 = getelementptr inbounds i8, ptr %18, i64 -4
  %68 = getelementptr inbounds i8, ptr %17, i64 -4
  %69 = getelementptr inbounds i8, ptr %16, i64 -4
  %70 = getelementptr inbounds i8, ptr %15, i64 -4
  store i64 0, ptr %41, align 8, !tbaa !5
  store i64 1, ptr %54, align 8, !tbaa !5
  store float 0.000000e+00, ptr %56, align 4, !tbaa !9
  %71 = load i64, ptr %8, align 8, !tbaa !5
  %.not277 = icmp slt i64 %71, 1
  br i1 %.not277, label %._crit_edge281, label %.lr.ph280

.lr.ph280:                                        ; preds = %27
  %72 = ptrtoint ptr %25 to i64
  %73 = ptrtoint ptr %15 to i64
  %74 = ptrtoint ptr %22 to i64
  %75 = ptrtoint ptr %21 to i64
  %76 = ptrtoint ptr %19 to i64
  %77 = ptrtoint ptr %18 to i64
  %78 = ptrtoint ptr %17 to i64
  %79 = ptrtoint ptr %16 to i64
  %80 = getelementptr inbounds i8, ptr %34, i64 8
  %81 = getelementptr inbounds i8, ptr %53, i64 8
  %82 = getelementptr inbounds i8, ptr %53, i64 16
  %83 = getelementptr inbounds i8, ptr %53, i64 24
  %84 = getelementptr inbounds i8, ptr %53, i64 32
  %85 = getelementptr inbounds i8, ptr %53, i64 40
  %86 = getelementptr inbounds i8, ptr %53, i64 48
  %87 = getelementptr inbounds i8, ptr %53, i64 56
  %88 = getelementptr inbounds i8, ptr %53, i64 64
  %89 = getelementptr inbounds i8, ptr %53, i64 72
  %90 = getelementptr inbounds i8, ptr %53, i64 80
  %91 = getelementptr inbounds i8, ptr %53, i64 88
  %92 = sub i64 %73, %72
  %93 = sub i64 %28, %29
  %94 = sub i64 %74, %75
  %95 = sub i64 %76, %77
  %96 = sub i64 %78, %79
  %diff.check387 = icmp ult i64 %96, 32
  %diff.check370 = icmp ult i64 %95, 32
  %diff.check353 = icmp ult i64 %94, 32
  br label %97

97:                                               ; preds = %.lr.ph280, %.loopexit223
  %98 = phi float [ 0.000000e+00, %.lr.ph280 ], [ %497, %.loopexit223 ]
  %.0180278 = phi i64 [ 1, %.lr.ph280 ], [ %498, %.loopexit223 ]
  %99 = getelementptr inbounds i64, ptr %57, i64 %.0180278
  %100 = load i64, ptr %99, align 8, !tbaa !5
  store i64 %100, ptr %38, align 8, !tbaa !5
  store i64 %100, ptr %48, align 8, !tbaa !5
  %101 = load i64, ptr %14, align 8, !tbaa !5
  %102 = icmp slt i64 %100, %101
  br i1 %102, label %103, label %105

103:                                              ; preds = %97
  %104 = add nsw i64 %100, 1
  store i64 %104, ptr %48, align 8, !tbaa !5
  br label %105

105:                                              ; preds = %103, %97
  %106 = phi i64 [ %104, %103 ], [ %100, %97 ]
  %107 = icmp sgt i64 %106, %101
  br i1 %107, label %.loopexit223, label %108

108:                                              ; preds = %105
  %109 = mul nsw i64 %106, %100
  store i64 %109, ptr %46, align 8, !tbaa !5
  %110 = icmp slt i64 %100, 1
  %111 = load i64, ptr %8, align 8, !tbaa !5
  %.not197273 = icmp slt i64 %111, 1
  br i1 %.not197273, label %.loopexit223, label %.lr.ph276

.lr.ph276:                                        ; preds = %108, %495
  %112 = phi float [ %493, %495 ], [ %98, %108 ]
  %.0181274 = phi i64 [ %496, %495 ], [ 1, %108 ]
  %113 = getelementptr inbounds i64, ptr %57, i64 %.0181274
  %114 = load i64, ptr %113, align 8, !tbaa !5
  store i64 %114, ptr %37, align 8, !tbaa !5
  br label %115

115:                                              ; preds = %.lr.ph276, %.loopexit222
  %116 = phi float [ %112, %.lr.ph276 ], [ %493, %.loopexit222 ]
  %.0178272 = phi i64 [ 1, %.lr.ph276 ], [ %494, %.loopexit222 ]
  %117 = add nsw i64 %.0178272, -1
  %118 = getelementptr inbounds [3 x i8], ptr @schk5_.icht, i64 0, i64 %117
  %119 = load i8, ptr %118, align 1, !tbaa !11
  store i8 %119, ptr %55, align 1, !tbaa !11
  switch i8 %119, label %120 [
    i8 84, label %121
    i8 67, label %121
  ]

120:                                              ; preds = %115
  br label %121

121:                                              ; preds = %115, %115, %120
  %storemerge198.in = phi ptr [ %38, %120 ], [ %37, %115 ], [ %37, %115 ]
  %storemerge.in = phi ptr [ %37, %120 ], [ %38, %115 ], [ %38, %115 ]
  %storemerge198 = load i64, ptr %storemerge198.in, align 8, !tbaa !5
  store i64 %storemerge198, ptr %39, align 8, !tbaa !5
  %storemerge = load i64, ptr %storemerge.in, align 8, !tbaa !5
  store i64 %storemerge, ptr %40, align 8, !tbaa !5
  store i64 %storemerge198, ptr %45, align 8, !tbaa !5
  %122 = load i64, ptr %14, align 8, !tbaa !5
  %123 = icmp slt i64 %storemerge198, %122
  br i1 %123, label %124, label %126

124:                                              ; preds = %121
  %125 = add nsw i64 %storemerge198, 1
  store i64 %125, ptr %45, align 8, !tbaa !5
  br label %126

126:                                              ; preds = %124, %121
  %127 = phi i64 [ %125, %124 ], [ %storemerge198, %121 ]
  %128 = icmp sgt i64 %127, %122
  br i1 %128, label %.loopexit222, label %129

129:                                              ; preds = %126
  %130 = mul nsw i64 %127, %storemerge
  store i64 %130, ptr %43, align 8, !tbaa !5
  switch i8 %119, label %133 [
    i8 84, label %131
    i8 67, label %131
  ]

131:                                              ; preds = %129, %129
  %132 = shl i64 %122, 1
  store i64 %132, ptr %30, align 8, !tbaa !5
  br label %133

133:                                              ; preds = %129, %131
  %.sink = phi ptr [ %30, %131 ], [ %14, %129 ]
  %134 = call i32 @smake_(ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.5, ptr noundef nonnull %39, ptr noundef nonnull %40, ptr noundef %15, ptr noundef nonnull %.sink, ptr noundef %16, ptr noundef nonnull %45, ptr noundef nonnull %54, ptr noundef nonnull @c_b99, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %135 = load i64, ptr %45, align 8, !tbaa !5
  store i64 %135, ptr %47, align 8, !tbaa !5
  %136 = load i64, ptr %43, align 8, !tbaa !5
  store i64 %136, ptr %44, align 8, !tbaa !5
  switch i8 %119, label %141 [
    i8 84, label %137
    i8 67, label %137
  ]

137:                                              ; preds = %133, %133
  %138 = load i64, ptr %14, align 8, !tbaa !5
  %139 = shl i64 %138, 1
  store i64 %139, ptr %30, align 8, !tbaa !5
  %140 = load i64, ptr %37, align 8, !tbaa !5
  br label %145

141:                                              ; preds = %133
  %142 = load i64, ptr %37, align 8, !tbaa !5
  %143 = load i64, ptr %14, align 8, !tbaa !5
  %144 = mul nsw i64 %143, %142
  br label %145

145:                                              ; preds = %141, %137
  %.sink311 = phi i64 [ %144, %141 ], [ %140, %137 ]
  %.sink310 = phi ptr [ %14, %141 ], [ %30, %137 ]
  %146 = getelementptr float, ptr %15, i64 %.sink311
  %147 = call i32 @smake_(ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.5, ptr noundef nonnull %39, ptr noundef nonnull %40, ptr noundef %146, ptr noundef nonnull %.sink310, ptr noundef %18, ptr noundef nonnull %47, ptr noundef nonnull %54, ptr noundef nonnull @c_b99, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  br label %148

148:                                              ; preds = %145, %._crit_edge269
  %149 = phi float [ %116, %145 ], [ %491, %._crit_edge269 ]
  %.0177271 = phi i64 [ 1, %145 ], [ %492, %._crit_edge269 ]
  %150 = add nsw i64 %.0177271, -1
  %151 = getelementptr inbounds [2 x i8], ptr @schk5_.ichu, i64 0, i64 %150
  %152 = load i8, ptr %151, align 1, !tbaa !11
  store i8 %152, ptr %51, align 1, !tbaa !11
  %153 = icmp eq i8 %152, 85
  %154 = load i64, ptr %10, align 8, !tbaa !5
  store i64 %154, ptr %30, align 8, !tbaa !5
  %.not199265 = icmp slt i64 %154, 1
  br i1 %.not199265, label %._crit_edge269, label %.lr.ph268

.lr.ph268:                                        ; preds = %148
  %155 = load i64, ptr %12, align 8, !tbaa !5
  %156 = icmp slt i64 %155, 1
  br i1 %156, label %.lr.ph268.split.us, label %.lr.ph268.split

.lr.ph268.split.us:                               ; preds = %.lr.ph268
  %157 = getelementptr inbounds float, ptr %58, i64 %154
  %158 = load float, ptr %157, align 4, !tbaa !9
  store float %158, ptr %52, align 4, !tbaa !9
  br label %._crit_edge269

.lr.ph268.splitthread-pre-split:                  ; preds = %._crit_edge264
  %159 = add nuw nsw i64 %.0185266, 1
  %.pr = load i64, ptr %12, align 8, !tbaa !5
  br label %.lr.ph268.split

.lr.ph268.split:                                  ; preds = %.lr.ph268, %.lr.ph268.splitthread-pre-split
  %160 = phi i64 [ %.pr, %.lr.ph268.splitthread-pre-split ], [ %155, %.lr.ph268 ]
  %161 = phi i64 [ %489, %.lr.ph268.splitthread-pre-split ], [ %154, %.lr.ph268 ]
  %162 = phi float [ %490, %.lr.ph268.splitthread-pre-split ], [ %149, %.lr.ph268 ]
  %.0185266 = phi i64 [ %159, %.lr.ph268.splitthread-pre-split ], [ 1, %.lr.ph268 ]
  %163 = getelementptr inbounds float, ptr %58, i64 %.0185266
  %164 = load float, ptr %163, align 4, !tbaa !9
  store float %164, ptr %52, align 4, !tbaa !9
  %.not200260 = icmp slt i64 %160, 1
  br i1 %.not200260, label %._crit_edge264, label %.lr.ph263

.lr.ph263:                                        ; preds = %.lr.ph268.split, %.loopexit
  %165 = phi float [ %487, %.loopexit ], [ %162, %.lr.ph268.split ]
  %.0184261 = phi i64 [ %488, %.loopexit ], [ 1, %.lr.ph268.split ]
  %166 = getelementptr inbounds float, ptr %59, i64 %.0184261
  %167 = load float, ptr %166, align 4, !tbaa !9
  store float %167, ptr %50, align 4, !tbaa !9
  %168 = call i32 @smake_(ptr noundef nonnull @.str.6, ptr noundef nonnull %51, ptr noundef nonnull @.str.5, ptr noundef nonnull %38, ptr noundef nonnull %38, ptr noundef %20, ptr noundef nonnull %14, ptr noundef %21, ptr noundef nonnull %48, ptr noundef nonnull %54, ptr noundef nonnull @c_b99, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %169 = load i64, ptr %41, align 8, !tbaa !5
  %170 = add nsw i64 %169, 1
  store i64 %170, ptr %41, align 8, !tbaa !5
  %171 = load i8, ptr %51, align 1, !tbaa !11
  %172 = load i8, ptr %55, align 1, !tbaa !11
  %173 = load i64, ptr %38, align 8, !tbaa !5
  %174 = load i64, ptr %37, align 8, !tbaa !5
  %175 = load float, ptr %52, align 4, !tbaa !9
  %176 = load i64, ptr %43, align 8, !tbaa !5
  %.not202224 = icmp slt i64 %176, 1
  br i1 %.not202224, label %._crit_edge, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %.lr.ph263
  %min.iters.check390 = icmp ult i64 %176, 8
  %or.cond = or i1 %min.iters.check390, %diff.check387
  br i1 %or.cond, label %.lr.ph.preheader408, label %vector.ph391

vector.ph391:                                     ; preds = %.lr.ph.preheader
  %n.vec393 = and i64 %176, 9223372036854775800
  %ind.end394 = or disjoint i64 %n.vec393, 1
  br label %vector.body396

vector.body396:                                   ; preds = %vector.body396, %vector.ph391
  %index397 = phi i64 [ 0, %vector.ph391 ], [ %index.next401, %vector.body396 ]
  %177 = getelementptr float, ptr %16, i64 %index397
  %178 = getelementptr inbounds i8, ptr %177, i64 16
  %wide.load399 = load <4 x float>, ptr %177, align 4, !tbaa !9
  %wide.load400 = load <4 x float>, ptr %178, align 4, !tbaa !9
  %179 = getelementptr float, ptr %17, i64 %index397
  %180 = getelementptr inbounds i8, ptr %179, i64 16
  store <4 x float> %wide.load399, ptr %179, align 4, !tbaa !9
  store <4 x float> %wide.load400, ptr %180, align 4, !tbaa !9
  %index.next401 = add nuw i64 %index397, 8
  %181 = icmp eq i64 %index.next401, %n.vec393
  br i1 %181, label %middle.block388, label %vector.body396, !llvm.loop !12

middle.block388:                                  ; preds = %vector.body396
  %cmp.n402 = icmp eq i64 %176, %n.vec393
  br i1 %cmp.n402, label %._crit_edge, label %.lr.ph.preheader408

.lr.ph.preheader408:                              ; preds = %middle.block388, %.lr.ph.preheader
  %storemerge201225.ph = phi i64 [ 1, %.lr.ph.preheader ], [ %ind.end394, %middle.block388 ]
  %182 = add nuw i64 %176, 1
  %183 = sub i64 %182, %storemerge201225.ph
  %184 = sub i64 %176, %storemerge201225.ph
  %xtraiter = and i64 %183, 3
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.lr.ph.prol.loopexit, label %.lr.ph.prol

.lr.ph.prol:                                      ; preds = %.lr.ph.preheader408, %.lr.ph.prol
  %storemerge201225.prol = phi i64 [ %188, %.lr.ph.prol ], [ %storemerge201225.ph, %.lr.ph.preheader408 ]
  %prol.iter = phi i64 [ %prol.iter.next, %.lr.ph.prol ], [ 0, %.lr.ph.preheader408 ]
  %185 = getelementptr inbounds float, ptr %69, i64 %storemerge201225.prol
  %186 = load float, ptr %185, align 4, !tbaa !9
  %187 = getelementptr inbounds float, ptr %68, i64 %storemerge201225.prol
  store float %186, ptr %187, align 4, !tbaa !9
  %188 = add nuw i64 %storemerge201225.prol, 1
  %prol.iter.next = add i64 %prol.iter, 1
  %prol.iter.cmp.not = icmp eq i64 %prol.iter.next, %xtraiter
  br i1 %prol.iter.cmp.not, label %.lr.ph.prol.loopexit, label %.lr.ph.prol, !llvm.loop !16

.lr.ph.prol.loopexit:                             ; preds = %.lr.ph.prol, %.lr.ph.preheader408
  %storemerge201225.unr = phi i64 [ %storemerge201225.ph, %.lr.ph.preheader408 ], [ %188, %.lr.ph.prol ]
  %189 = icmp ult i64 %184, 3
  br i1 %189, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.prol.loopexit, %.lr.ph
  %storemerge201225 = phi i64 [ %204, %.lr.ph ], [ %storemerge201225.unr, %.lr.ph.prol.loopexit ]
  %190 = getelementptr inbounds float, ptr %69, i64 %storemerge201225
  %191 = load float, ptr %190, align 4, !tbaa !9
  %192 = getelementptr inbounds float, ptr %68, i64 %storemerge201225
  store float %191, ptr %192, align 4, !tbaa !9
  %193 = getelementptr float, ptr %16, i64 %storemerge201225
  %194 = load float, ptr %193, align 4, !tbaa !9
  %195 = getelementptr float, ptr %17, i64 %storemerge201225
  store float %194, ptr %195, align 4, !tbaa !9
  %196 = add nuw i64 %storemerge201225, 2
  %197 = getelementptr inbounds float, ptr %69, i64 %196
  %198 = load float, ptr %197, align 4, !tbaa !9
  %199 = getelementptr inbounds float, ptr %68, i64 %196
  store float %198, ptr %199, align 4, !tbaa !9
  %200 = add nuw i64 %storemerge201225, 3
  %201 = getelementptr inbounds float, ptr %69, i64 %200
  %202 = load float, ptr %201, align 4, !tbaa !9
  %203 = getelementptr inbounds float, ptr %68, i64 %200
  store float %202, ptr %203, align 4, !tbaa !9
  %204 = add nuw i64 %storemerge201225, 4
  %exitcond.not.3 = icmp eq i64 %200, %176
  br i1 %exitcond.not.3, label %._crit_edge, label %.lr.ph, !llvm.loop !18

._crit_edge:                                      ; preds = %.lr.ph.prol.loopexit, %.lr.ph, %middle.block388, %.lr.ph263
  %205 = load i64, ptr %45, align 8, !tbaa !5
  %206 = load i64, ptr %44, align 8, !tbaa !5
  %.not204226 = icmp slt i64 %206, 1
  br i1 %.not204226, label %._crit_edge230, label %.lr.ph229.preheader

.lr.ph229.preheader:                              ; preds = %._crit_edge
  %min.iters.check373 = icmp ult i64 %206, 8
  %or.cond403 = or i1 %min.iters.check373, %diff.check370
  br i1 %or.cond403, label %.lr.ph229.preheader407, label %vector.ph374

vector.ph374:                                     ; preds = %.lr.ph229.preheader
  %n.vec376 = and i64 %206, 9223372036854775800
  %ind.end377 = or disjoint i64 %n.vec376, 1
  br label %vector.body379

vector.body379:                                   ; preds = %vector.body379, %vector.ph374
  %index380 = phi i64 [ 0, %vector.ph374 ], [ %index.next384, %vector.body379 ]
  %207 = getelementptr float, ptr %18, i64 %index380
  %208 = getelementptr inbounds i8, ptr %207, i64 16
  %wide.load382 = load <4 x float>, ptr %207, align 4, !tbaa !9
  %wide.load383 = load <4 x float>, ptr %208, align 4, !tbaa !9
  %209 = getelementptr float, ptr %19, i64 %index380
  %210 = getelementptr inbounds i8, ptr %209, i64 16
  store <4 x float> %wide.load382, ptr %209, align 4, !tbaa !9
  store <4 x float> %wide.load383, ptr %210, align 4, !tbaa !9
  %index.next384 = add nuw i64 %index380, 8
  %211 = icmp eq i64 %index.next384, %n.vec376
  br i1 %211, label %middle.block371, label %vector.body379, !llvm.loop !19

middle.block371:                                  ; preds = %vector.body379
  %cmp.n385 = icmp eq i64 %206, %n.vec376
  br i1 %cmp.n385, label %._crit_edge230, label %.lr.ph229.preheader407

.lr.ph229.preheader407:                           ; preds = %middle.block371, %.lr.ph229.preheader
  %storemerge203227.ph = phi i64 [ 1, %.lr.ph229.preheader ], [ %ind.end377, %middle.block371 ]
  %212 = add nuw i64 %206, 1
  %213 = sub i64 %212, %storemerge203227.ph
  %214 = sub i64 %206, %storemerge203227.ph
  %xtraiter416 = and i64 %213, 3
  %lcmp.mod417.not = icmp eq i64 %xtraiter416, 0
  br i1 %lcmp.mod417.not, label %.lr.ph229.prol.loopexit, label %.lr.ph229.prol

.lr.ph229.prol:                                   ; preds = %.lr.ph229.preheader407, %.lr.ph229.prol
  %storemerge203227.prol = phi i64 [ %218, %.lr.ph229.prol ], [ %storemerge203227.ph, %.lr.ph229.preheader407 ]
  %prol.iter418 = phi i64 [ %prol.iter418.next, %.lr.ph229.prol ], [ 0, %.lr.ph229.preheader407 ]
  %215 = getelementptr inbounds float, ptr %67, i64 %storemerge203227.prol
  %216 = load float, ptr %215, align 4, !tbaa !9
  %217 = getelementptr inbounds float, ptr %66, i64 %storemerge203227.prol
  store float %216, ptr %217, align 4, !tbaa !9
  %218 = add nuw i64 %storemerge203227.prol, 1
  %prol.iter418.next = add i64 %prol.iter418, 1
  %prol.iter418.cmp.not = icmp eq i64 %prol.iter418.next, %xtraiter416
  br i1 %prol.iter418.cmp.not, label %.lr.ph229.prol.loopexit, label %.lr.ph229.prol, !llvm.loop !20

.lr.ph229.prol.loopexit:                          ; preds = %.lr.ph229.prol, %.lr.ph229.preheader407
  %storemerge203227.unr = phi i64 [ %storemerge203227.ph, %.lr.ph229.preheader407 ], [ %218, %.lr.ph229.prol ]
  %219 = icmp ult i64 %214, 3
  br i1 %219, label %._crit_edge230, label %.lr.ph229

.lr.ph229:                                        ; preds = %.lr.ph229.prol.loopexit, %.lr.ph229
  %storemerge203227 = phi i64 [ %234, %.lr.ph229 ], [ %storemerge203227.unr, %.lr.ph229.prol.loopexit ]
  %220 = getelementptr inbounds float, ptr %67, i64 %storemerge203227
  %221 = load float, ptr %220, align 4, !tbaa !9
  %222 = getelementptr inbounds float, ptr %66, i64 %storemerge203227
  store float %221, ptr %222, align 4, !tbaa !9
  %223 = getelementptr float, ptr %18, i64 %storemerge203227
  %224 = load float, ptr %223, align 4, !tbaa !9
  %225 = getelementptr float, ptr %19, i64 %storemerge203227
  store float %224, ptr %225, align 4, !tbaa !9
  %226 = add nuw i64 %storemerge203227, 2
  %227 = getelementptr inbounds float, ptr %67, i64 %226
  %228 = load float, ptr %227, align 4, !tbaa !9
  %229 = getelementptr inbounds float, ptr %66, i64 %226
  store float %228, ptr %229, align 4, !tbaa !9
  %230 = add nuw i64 %storemerge203227, 3
  %231 = getelementptr inbounds float, ptr %67, i64 %230
  %232 = load float, ptr %231, align 4, !tbaa !9
  %233 = getelementptr inbounds float, ptr %66, i64 %230
  store float %232, ptr %233, align 4, !tbaa !9
  %234 = add nuw i64 %storemerge203227, 4
  %exitcond287.not.3 = icmp eq i64 %230, %206
  br i1 %exitcond287.not.3, label %._crit_edge230, label %.lr.ph229, !llvm.loop !21

._crit_edge230:                                   ; preds = %.lr.ph229.prol.loopexit, %.lr.ph229, %middle.block371, %._crit_edge
  %235 = load i64, ptr %47, align 8, !tbaa !5
  %236 = load float, ptr %50, align 4, !tbaa !9
  %237 = load i64, ptr %46, align 8, !tbaa !5
  %.not206232 = icmp slt i64 %237, 1
  br i1 %.not206232, label %._crit_edge236, label %.lr.ph235.preheader

.lr.ph235.preheader:                              ; preds = %._crit_edge230
  %238 = add nuw i64 %237, 1
  %min.iters.check356 = icmp ult i64 %237, 8
  %or.cond404 = or i1 %min.iters.check356, %diff.check353
  br i1 %or.cond404, label %.lr.ph235.preheader406, label %vector.ph357

vector.ph357:                                     ; preds = %.lr.ph235.preheader
  %n.vec359 = and i64 %237, 9223372036854775800
  %ind.end360 = or disjoint i64 %n.vec359, 1
  br label %vector.body362

vector.body362:                                   ; preds = %vector.body362, %vector.ph357
  %index363 = phi i64 [ 0, %vector.ph357 ], [ %index.next367, %vector.body362 ]
  %239 = getelementptr float, ptr %21, i64 %index363
  %240 = getelementptr inbounds i8, ptr %239, i64 16
  %wide.load365 = load <4 x float>, ptr %239, align 4, !tbaa !9
  %wide.load366 = load <4 x float>, ptr %240, align 4, !tbaa !9
  %241 = getelementptr float, ptr %22, i64 %index363
  %242 = getelementptr inbounds i8, ptr %241, i64 16
  store <4 x float> %wide.load365, ptr %241, align 4, !tbaa !9
  store <4 x float> %wide.load366, ptr %242, align 4, !tbaa !9
  %index.next367 = add nuw i64 %index363, 8
  %243 = icmp eq i64 %index.next367, %n.vec359
  br i1 %243, label %middle.block354, label %vector.body362, !llvm.loop !22

middle.block354:                                  ; preds = %vector.body362
  %cmp.n368 = icmp eq i64 %237, %n.vec359
  br i1 %cmp.n368, label %._crit_edge236, label %.lr.ph235.preheader406

.lr.ph235.preheader406:                           ; preds = %middle.block354, %.lr.ph235.preheader
  %storemerge205233.ph = phi i64 [ 1, %.lr.ph235.preheader ], [ %ind.end360, %middle.block354 ]
  %244 = add nuw i64 %237, 1
  %245 = sub i64 %244, %storemerge205233.ph
  %246 = sub i64 %237, %storemerge205233.ph
  %xtraiter419 = and i64 %245, 3
  %lcmp.mod420.not = icmp eq i64 %xtraiter419, 0
  br i1 %lcmp.mod420.not, label %.lr.ph235.prol.loopexit, label %.lr.ph235.prol

.lr.ph235.prol:                                   ; preds = %.lr.ph235.preheader406, %.lr.ph235.prol
  %storemerge205233.prol = phi i64 [ %250, %.lr.ph235.prol ], [ %storemerge205233.ph, %.lr.ph235.preheader406 ]
  %prol.iter421 = phi i64 [ %prol.iter421.next, %.lr.ph235.prol ], [ 0, %.lr.ph235.preheader406 ]
  %247 = getelementptr inbounds float, ptr %62, i64 %storemerge205233.prol
  %248 = load float, ptr %247, align 4, !tbaa !9
  %249 = getelementptr inbounds float, ptr %61, i64 %storemerge205233.prol
  store float %248, ptr %249, align 4, !tbaa !9
  %250 = add nuw i64 %storemerge205233.prol, 1
  %prol.iter421.next = add i64 %prol.iter421, 1
  %prol.iter421.cmp.not = icmp eq i64 %prol.iter421.next, %xtraiter419
  br i1 %prol.iter421.cmp.not, label %.lr.ph235.prol.loopexit, label %.lr.ph235.prol, !llvm.loop !23

.lr.ph235.prol.loopexit:                          ; preds = %.lr.ph235.prol, %.lr.ph235.preheader406
  %storemerge205233.unr = phi i64 [ %storemerge205233.ph, %.lr.ph235.preheader406 ], [ %250, %.lr.ph235.prol ]
  %251 = icmp ult i64 %246, 3
  br i1 %251, label %._crit_edge236, label %.lr.ph235

.lr.ph235:                                        ; preds = %.lr.ph235.prol.loopexit, %.lr.ph235
  %storemerge205233 = phi i64 [ %266, %.lr.ph235 ], [ %storemerge205233.unr, %.lr.ph235.prol.loopexit ]
  %252 = getelementptr inbounds float, ptr %62, i64 %storemerge205233
  %253 = load float, ptr %252, align 4, !tbaa !9
  %254 = getelementptr inbounds float, ptr %61, i64 %storemerge205233
  store float %253, ptr %254, align 4, !tbaa !9
  %255 = getelementptr float, ptr %21, i64 %storemerge205233
  %256 = load float, ptr %255, align 4, !tbaa !9
  %257 = getelementptr float, ptr %22, i64 %storemerge205233
  store float %256, ptr %257, align 4, !tbaa !9
  %258 = add nuw i64 %storemerge205233, 2
  %259 = getelementptr inbounds float, ptr %62, i64 %258
  %260 = load float, ptr %259, align 4, !tbaa !9
  %261 = getelementptr inbounds float, ptr %61, i64 %258
  store float %260, ptr %261, align 4, !tbaa !9
  %262 = add nuw i64 %storemerge205233, 3
  %263 = getelementptr inbounds float, ptr %62, i64 %262
  %264 = load float, ptr %263, align 4, !tbaa !9
  %265 = getelementptr inbounds float, ptr %61, i64 %262
  store float %264, ptr %265, align 4, !tbaa !9
  %266 = add nuw i64 %storemerge205233, 4
  %exitcond288.not.3 = icmp eq i64 %262, %237
  br i1 %exitcond288.not.3, label %._crit_edge236, label %.lr.ph235, !llvm.loop !24

._crit_edge236:                                   ; preds = %.lr.ph235.prol.loopexit, %.lr.ph235, %middle.block354, %._crit_edge230
  %storemerge205.lcssa = phi i64 [ 1, %._crit_edge230 ], [ %238, %middle.block354 ], [ %238, %.lr.ph235 ], [ %238, %.lr.ph235.prol.loopexit ]
  store i64 %storemerge205.lcssa, ptr %35, align 8, !tbaa !5
  %267 = load i64, ptr %48, align 8, !tbaa !5
  %268 = load i64, ptr %5, align 8, !tbaa !5
  %.not207 = icmp eq i64 %268, 0
  br i1 %.not207, label %284, label %269

269:                                              ; preds = %._crit_edge236
  %270 = load i64, ptr %4, align 8, !tbaa !5
  store i64 %270, ptr getelementptr inbounds (i8, ptr @schk5_.io___322, i64 8), align 8, !tbaa !25
  %271 = call i64 @s_wsfe(ptr noundef nonnull @schk5_.io___322) #3
  %272 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #3
  %273 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #3
  %274 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %51, i64 noundef 1) #3
  %275 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %55, i64 noundef 1) #3
  %276 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %38, i64 noundef 8) #3
  %277 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %37, i64 noundef 8) #3
  %278 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %52, i64 noundef 4) #3
  %279 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %45, i64 noundef 8) #3
  %280 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %47, i64 noundef 8) #3
  %281 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %50, i64 noundef 4) #3
  %282 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %48, i64 noundef 8) #3
  %283 = call i64 @e_wsfe() #3
  br label %284

284:                                              ; preds = %269, %._crit_edge236
  %285 = load i64, ptr %6, align 8, !tbaa !5
  %.not208 = icmp eq i64 %285, 0
  br i1 %.not208, label %289, label %286

286:                                              ; preds = %284
  store i64 0, ptr %34, align 8, !tbaa !28
  %287 = load i64, ptr %4, align 8, !tbaa !5
  store i64 %287, ptr %80, align 8, !tbaa !30
  %288 = call i64 @f_rew(ptr noundef nonnull %34) #3
  br label %289

289:                                              ; preds = %286, %284
  %290 = call i32 @f2c_ssyr2k(ptr noundef nonnull %51, ptr noundef nonnull %55, ptr noundef nonnull %38, ptr noundef nonnull %37, ptr noundef nonnull %52, ptr noundef %16, ptr noundef nonnull %45, ptr noundef %18, ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef %21, ptr noundef nonnull %48) #3
  %291 = load i64, ptr getelementptr inbounds (i8, ptr @infoc_, i64 16), align 8, !tbaa !11
  %.not209 = icmp eq i64 %291, 0
  br i1 %.not209, label %292, label %296

292:                                              ; preds = %289
  %293 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %293, ptr getelementptr inbounds (i8, ptr @schk5_.io___323, i64 8), align 8, !tbaa !25
  %294 = call i64 @s_wsfe(ptr noundef nonnull @schk5_.io___323) #3
  %295 = call i64 @e_wsfe() #3
  store i64 1, ptr %7, align 8, !tbaa !5
  br label %520

296:                                              ; preds = %289
  %297 = load i8, ptr %51, align 1, !tbaa !11
  %298 = icmp eq i8 %171, %297
  %299 = zext i1 %298 to i64
  store i64 %299, ptr %53, align 16, !tbaa !5
  %300 = load i8, ptr %55, align 1, !tbaa !11
  %301 = icmp eq i8 %172, %300
  %302 = zext i1 %301 to i64
  store i64 %302, ptr %81, align 8, !tbaa !5
  %303 = load i64, ptr %38, align 8, !tbaa !5
  %304 = icmp eq i64 %173, %303
  %305 = zext i1 %304 to i64
  store i64 %305, ptr %82, align 16, !tbaa !5
  %306 = load i64, ptr %37, align 8, !tbaa !5
  %307 = icmp eq i64 %174, %306
  %308 = zext i1 %307 to i64
  store i64 %308, ptr %83, align 8, !tbaa !5
  %309 = load float, ptr %52, align 4, !tbaa !9
  %310 = fcmp oeq float %175, %309
  %311 = zext i1 %310 to i64
  store i64 %311, ptr %84, align 16, !tbaa !5
  %312 = call i64 @lse_(ptr noundef %17, ptr noundef %16, ptr noundef nonnull %43)
  store i64 %312, ptr %85, align 8, !tbaa !5
  %313 = load i64, ptr %45, align 8, !tbaa !5
  %314 = icmp eq i64 %205, %313
  %315 = zext i1 %314 to i64
  store i64 %315, ptr %86, align 16, !tbaa !5
  %316 = call i64 @lse_(ptr noundef %19, ptr noundef %18, ptr noundef nonnull %44)
  store i64 %316, ptr %87, align 8, !tbaa !5
  %317 = load i64, ptr %47, align 8, !tbaa !5
  %318 = icmp eq i64 %235, %317
  %319 = zext i1 %318 to i64
  store i64 %319, ptr %88, align 16, !tbaa !5
  %320 = load float, ptr %50, align 4, !tbaa !9
  %321 = fcmp oeq float %236, %320
  %322 = zext i1 %321 to i64
  store i64 %322, ptr %89, align 8, !tbaa !5
  br i1 %110, label %323, label %325

323:                                              ; preds = %296
  %324 = call i64 @lse_(ptr noundef %22, ptr noundef %21, ptr noundef nonnull %46)
  br label %327

325:                                              ; preds = %296
  %326 = call i64 @lseres_(ptr noundef nonnull @.str.6, ptr noundef nonnull %51, ptr noundef nonnull %38, ptr noundef nonnull %38, ptr noundef %22, ptr noundef %21, ptr noundef nonnull %48, i64 noundef 2, i64 noundef 1)
  br label %327

327:                                              ; preds = %325, %323
  %storemerge301 = phi i64 [ %326, %325 ], [ %324, %323 ]
  store i64 %storemerge301, ptr %90, align 16, !tbaa !5
  %328 = load i64, ptr %48, align 8, !tbaa !5
  %329 = icmp eq i64 %267, %328
  %330 = zext i1 %329 to i64
  store i64 %330, ptr %91, align 8, !tbaa !5
  store i64 1, ptr %35, align 8, !tbaa !5
  br label %._crit_edge296

._crit_edge296:                                   ; preds = %327, %339
  %331 = phi i64 [ 1, %327 ], [ %341, %339 ]
  %.0239 = phi i1 [ true, %327 ], [ %333, %339 ]
  %storemerge210238 = phi i64 [ 0, %327 ], [ %340, %339 ]
  %.phi.trans.insert = getelementptr inbounds [13 x i64], ptr %53, i64 0, i64 %storemerge210238
  %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !5
  %332 = icmp ne i64 %.pre, 0
  %333 = and i1 %.0239, %332
  %.not221 = icmp eq i64 %.pre, 0
  br i1 %.not221, label %334, label %339

334:                                              ; preds = %._crit_edge296
  %335 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %335, ptr getelementptr inbounds (i8, ptr @schk5_.io___326, i64 8), align 8, !tbaa !25
  %336 = call i64 @s_wsfe(ptr noundef nonnull @schk5_.io___326) #3
  %337 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 8) #3
  %338 = call i64 @e_wsfe() #3
  %.pre297 = load i64, ptr %35, align 8, !tbaa !5
  br label %339

339:                                              ; preds = %._crit_edge296, %334
  %340 = phi i64 [ %331, %._crit_edge296 ], [ %.pre297, %334 ]
  %341 = add nsw i64 %340, 1
  store i64 %341, ptr %35, align 8, !tbaa !5
  %342 = icmp slt i64 %340, 12
  br i1 %342, label %._crit_edge296, label %343, !llvm.loop !31

343:                                              ; preds = %339
  br i1 %333, label %345, label %344

344:                                              ; preds = %343
  store i64 1, ptr %7, align 8, !tbaa !5
  br label %520

345:                                              ; preds = %343
  br i1 %110, label %.loopexit, label %346

346:                                              ; preds = %345
  %347 = load i64, ptr %38, align 8, !tbaa !5
  store i64 1, ptr %36, align 8, !tbaa !5
  %.not213254 = icmp slt i64 %347, 1
  br i1 %.not213254, label %.loopexit, label %.lr.ph259

.lr.ph259:                                        ; preds = %346, %485
  %indvar = phi i64 [ %indvar.next, %485 ], [ 0, %346 ]
  %348 = phi float [ %483, %485 ], [ %165, %346 ]
  %.0176257 = phi i64 [ %.1, %485 ], [ 1, %346 ]
  %.0182256 = phi i64 [ %.1183, %485 ], [ 1, %346 ]
  %349 = phi i64 [ %486, %485 ], [ 1, %346 ]
  %350 = shl i64 %indvar, 3
  %351 = shl i64 %indvar, 2
  %352 = add i64 %351, %73
  %353 = sub i64 %72, %352
  %354 = shl i64 %indvar, 2
  %355 = add i64 %92, %354
  %356 = load i64, ptr %38, align 8
  %reass.sub = sub i64 %356, %349
  %357 = add i64 %reass.sub, 1
  %storemerge214 = select i1 %153, i64 %349, i64 %357
  %.0179 = select i1 %153, i64 1, i64 %349
  store i64 %storemerge214, ptr %42, align 8, !tbaa !5
  switch i8 %119, label %416 [
    i8 84, label %358
    i8 67, label %358
  ]

358:                                              ; preds = %.lr.ph259, %.lr.ph259
  %359 = load i64, ptr %37, align 8, !tbaa !5
  %.not218240 = icmp slt i64 %359, 1
  %.pre298 = load i64, ptr %14, align 8, !tbaa !5
  br i1 %.not218240, label %._crit_edge244, label %.lr.ph243

.lr.ph243:                                        ; preds = %358
  %360 = shl nuw i64 %349, 1
  %361 = add i64 %360, -2
  %362 = mul nsw i64 %.pre298, %361
  %363 = getelementptr float, ptr %70, i64 %362
  %364 = getelementptr float, ptr %363, i64 %359
  %365 = getelementptr float, ptr %60, i64 %359
  %366 = add nuw i64 %359, 1
  %min.iters.check337 = icmp ult i64 %359, 16
  br i1 %min.iters.check337, label %scalar.ph336.preheader, label %vector.memcheck327

vector.memcheck327:                               ; preds = %.lr.ph243
  %367 = shl i64 %359, 2
  %368 = add i64 %367, %29
  %369 = mul i64 %.pre298, %350
  %370 = add i64 %369, %28
  %371 = sub i64 %368, %370
  %diff.check328 = icmp ult i64 %371, 32
  %372 = sub i64 %29, %370
  %diff.check329 = icmp ult i64 %372, 32
  %conflict.rdx330 = or i1 %diff.check328, %diff.check329
  %373 = add i64 %93, %369
  %diff.check331 = icmp ult i64 %373, 32
  %conflict.rdx332 = or i1 %conflict.rdx330, %diff.check331
  %374 = add i64 %369, %28
  %375 = add i64 %374, %367
  %376 = sub i64 %29, %375
  %diff.check333 = icmp ult i64 %376, 32
  %conflict.rdx334 = or i1 %conflict.rdx332, %diff.check333
  br i1 %conflict.rdx334, label %scalar.ph336.preheader, label %vector.ph338

vector.ph338:                                     ; preds = %vector.memcheck327
  %n.vec340 = and i64 %359, 9223372036854775800
  %ind.end341 = or disjoint i64 %n.vec340, 1
  br label %vector.body343

vector.body343:                                   ; preds = %vector.body343, %vector.ph338
  %index344 = phi i64 [ 0, %vector.ph338 ], [ %index.next350, %vector.body343 ]
  %offset.idx345 = or disjoint i64 %index344, 1
  %377 = getelementptr float, ptr %364, i64 %offset.idx345
  %378 = getelementptr i8, ptr %377, i64 16
  %wide.load346 = load <4 x float>, ptr %377, align 4, !tbaa !9
  %wide.load347 = load <4 x float>, ptr %378, align 4, !tbaa !9
  %379 = getelementptr float, ptr %25, i64 %index344
  %380 = getelementptr inbounds i8, ptr %379, i64 16
  store <4 x float> %wide.load346, ptr %379, align 4, !tbaa !9
  store <4 x float> %wide.load347, ptr %380, align 4, !tbaa !9
  %381 = getelementptr float, ptr %363, i64 %offset.idx345
  %382 = getelementptr i8, ptr %381, i64 16
  %wide.load348 = load <4 x float>, ptr %381, align 4, !tbaa !9
  %wide.load349 = load <4 x float>, ptr %382, align 4, !tbaa !9
  %383 = getelementptr float, ptr %365, i64 %offset.idx345
  %384 = getelementptr i8, ptr %383, i64 16
  store <4 x float> %wide.load348, ptr %383, align 4, !tbaa !9
  store <4 x float> %wide.load349, ptr %384, align 4, !tbaa !9
  %index.next350 = add nuw i64 %index344, 8
  %385 = icmp eq i64 %index.next350, %n.vec340
  br i1 %385, label %middle.block335, label %vector.body343, !llvm.loop !32

middle.block335:                                  ; preds = %vector.body343
  %cmp.n351 = icmp eq i64 %359, %n.vec340
  br i1 %cmp.n351, label %._crit_edge244, label %scalar.ph336.preheader

scalar.ph336.preheader:                           ; preds = %middle.block335, %vector.memcheck327, %.lr.ph243
  %storemerge217241.ph = phi i64 [ 1, %vector.memcheck327 ], [ 1, %.lr.ph243 ], [ %ind.end341, %middle.block335 ]
  %xtraiter422 = and i64 %359, 1
  %lcmp.mod423.not = icmp eq i64 %xtraiter422, 0
  br i1 %lcmp.mod423.not, label %scalar.ph336.prol.loopexit, label %scalar.ph336.prol

scalar.ph336.prol:                                ; preds = %scalar.ph336.preheader
  %386 = getelementptr float, ptr %364, i64 %storemerge217241.ph
  %387 = load float, ptr %386, align 4, !tbaa !9
  %388 = getelementptr inbounds float, ptr %60, i64 %storemerge217241.ph
  store float %387, ptr %388, align 4, !tbaa !9
  %389 = getelementptr float, ptr %363, i64 %storemerge217241.ph
  %390 = load float, ptr %389, align 4, !tbaa !9
  %391 = getelementptr float, ptr %365, i64 %storemerge217241.ph
  store float %390, ptr %391, align 4, !tbaa !9
  %392 = add nuw i64 %storemerge217241.ph, 1
  br label %scalar.ph336.prol.loopexit

scalar.ph336.prol.loopexit:                       ; preds = %scalar.ph336.prol, %scalar.ph336.preheader
  %storemerge217241.unr = phi i64 [ %storemerge217241.ph, %scalar.ph336.preheader ], [ %392, %scalar.ph336.prol ]
  %393 = icmp eq i64 %359, %storemerge217241.ph
  br i1 %393, label %._crit_edge244, label %scalar.ph336

scalar.ph336:                                     ; preds = %scalar.ph336.prol.loopexit, %scalar.ph336
  %storemerge217241 = phi i64 [ %407, %scalar.ph336 ], [ %storemerge217241.unr, %scalar.ph336.prol.loopexit ]
  %394 = getelementptr float, ptr %364, i64 %storemerge217241
  %395 = load float, ptr %394, align 4, !tbaa !9
  %396 = getelementptr inbounds float, ptr %60, i64 %storemerge217241
  store float %395, ptr %396, align 4, !tbaa !9
  %397 = getelementptr float, ptr %363, i64 %storemerge217241
  %398 = load float, ptr %397, align 4, !tbaa !9
  %399 = getelementptr float, ptr %365, i64 %storemerge217241
  store float %398, ptr %399, align 4, !tbaa !9
  %400 = add nuw i64 %storemerge217241, 1
  %401 = getelementptr float, ptr %364, i64 %400
  %402 = load float, ptr %401, align 4, !tbaa !9
  %403 = getelementptr float, ptr %25, i64 %storemerge217241
  store float %402, ptr %403, align 4, !tbaa !9
  %404 = getelementptr float, ptr %363, i64 %400
  %405 = load float, ptr %404, align 4, !tbaa !9
  %406 = getelementptr float, ptr %365, i64 %400
  store float %405, ptr %406, align 4, !tbaa !9
  %407 = add nuw i64 %storemerge217241, 2
  %exitcond289.not.1 = icmp eq i64 %400, %359
  br i1 %exitcond289.not.1, label %._crit_edge244, label %scalar.ph336, !llvm.loop !33

._crit_edge244:                                   ; preds = %scalar.ph336.prol.loopexit, %scalar.ph336, %middle.block335, %358
  %storemerge217.lcssa = phi i64 [ 1, %358 ], [ %366, %middle.block335 ], [ %366, %scalar.ph336 ], [ %366, %scalar.ph336.prol.loopexit ]
  store i64 %storemerge217.lcssa, ptr %35, align 8, !tbaa !5
  %408 = shl i64 %359, 1
  store i64 %408, ptr %31, align 8, !tbaa !5
  %409 = shl i64 %.pre298, 1
  store i64 %409, ptr %32, align 8, !tbaa !5
  store i64 %409, ptr %33, align 8, !tbaa !5
  %410 = getelementptr inbounds float, ptr %70, i64 %.0176257
  %411 = mul nsw i64 %349, %63
  %412 = getelementptr float, ptr %65, i64 %.0179
  %413 = getelementptr float, ptr %412, i64 %411
  %414 = getelementptr inbounds float, ptr %62, i64 %.0182256
  %415 = call i32 @smmch_(ptr noundef nonnull @.str.10, ptr noundef nonnull @.str, ptr noundef nonnull %42, ptr noundef nonnull @c__1, ptr noundef nonnull %31, ptr noundef nonnull %52, ptr noundef nonnull %410, ptr noundef nonnull %32, ptr noundef %25, ptr noundef nonnull %33, ptr noundef nonnull %50, ptr noundef %413, ptr noundef nonnull %14, ptr noundef %23, ptr noundef %24, ptr noundef nonnull %414, ptr noundef nonnull %48, ptr noundef %1, ptr noundef nonnull %49, ptr noundef %7, ptr noundef %3, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  br label %469

416:                                              ; preds = %.lr.ph259
  %417 = load i64, ptr %37, align 8, !tbaa !5
  %invariant.gep = getelementptr float, ptr %70, i64 %349
  %.not216248 = icmp slt i64 %417, 1
  %.pre299 = load i64, ptr %14, align 8, !tbaa !5
  br i1 %.not216248, label %._crit_edge252, label %.lr.ph251

.lr.ph251:                                        ; preds = %416
  %418 = add nsw i64 %417, -1
  %419 = getelementptr float, ptr %60, i64 %417
  %420 = add nuw i64 %417, 1
  %min.iters.check = icmp ugt i64 %417, 7
  %ident.check.not = icmp eq i64 %.pre299, 1
  %or.cond405 = select i1 %min.iters.check, i1 %ident.check.not, i1 false
  br i1 %or.cond405, label %vector.memcheck, label %scalar.ph.preheader

vector.memcheck:                                  ; preds = %.lr.ph251
  %421 = shl i64 %417, 2
  %422 = add i64 %353, %421
  %diff.check = icmp ult i64 %422, 32
  %diff.check319 = icmp ult i64 %353, 32
  %conflict.rdx = or i1 %diff.check, %diff.check319
  %diff.check320 = icmp ult i64 %355, 32
  %conflict.rdx321 = or i1 %conflict.rdx, %diff.check320
  %423 = sub i64 %353, %421
  %diff.check322 = icmp ult i64 %423, 32
  %conflict.rdx323 = or i1 %conflict.rdx321, %diff.check322
  br i1 %conflict.rdx323, label %scalar.ph.preheader, label %vector.ph

vector.ph:                                        ; preds = %vector.memcheck
  %n.vec = and i64 %417, 9223372036854775800
  %ind.end = or disjoint i64 %n.vec, 1
  %424 = getelementptr float, ptr %invariant.gep, i64 %418
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %offset.idx = or disjoint i64 %index, 1
  %425 = getelementptr float, ptr %424, i64 %offset.idx
  %426 = getelementptr i8, ptr %425, i64 16
  %wide.load = load <4 x float>, ptr %425, align 4, !tbaa !9
  %wide.load324 = load <4 x float>, ptr %426, align 4, !tbaa !9
  %427 = getelementptr float, ptr %25, i64 %index
  %428 = getelementptr inbounds i8, ptr %427, i64 16
  store <4 x float> %wide.load, ptr %427, align 4, !tbaa !9
  store <4 x float> %wide.load324, ptr %428, align 4, !tbaa !9
  %429 = getelementptr float, ptr %invariant.gep, i64 %index
  %430 = getelementptr i8, ptr %429, i64 16
  %wide.load325 = load <4 x float>, ptr %429, align 4, !tbaa !9
  %wide.load326 = load <4 x float>, ptr %430, align 4, !tbaa !9
  %431 = getelementptr float, ptr %419, i64 %offset.idx
  %432 = getelementptr i8, ptr %431, i64 16
  store <4 x float> %wide.load325, ptr %431, align 4, !tbaa !9
  store <4 x float> %wide.load326, ptr %432, align 4, !tbaa !9
  %index.next = add nuw i64 %index, 8
  %433 = icmp eq i64 %index.next, %n.vec
  br i1 %433, label %middle.block, label %vector.body, !llvm.loop !34

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %417, %n.vec
  br i1 %cmp.n, label %._crit_edge252, label %scalar.ph.preheader

scalar.ph.preheader:                              ; preds = %middle.block, %vector.memcheck, %.lr.ph251
  %storemerge215249.ph = phi i64 [ 1, %vector.memcheck ], [ 1, %.lr.ph251 ], [ %ind.end, %middle.block ]
  %xtraiter425 = and i64 %417, 1
  %lcmp.mod426.not = icmp eq i64 %xtraiter425, 0
  br i1 %lcmp.mod426.not, label %scalar.ph.prol.loopexit, label %scalar.ph.prol

scalar.ph.prol:                                   ; preds = %scalar.ph.preheader
  %434 = add i64 %418, %storemerge215249.ph
  %435 = mul nsw i64 %.pre299, %434
  %gep.prol = getelementptr float, ptr %invariant.gep, i64 %435
  %436 = load float, ptr %gep.prol, align 4, !tbaa !9
  %437 = getelementptr inbounds float, ptr %60, i64 %storemerge215249.ph
  store float %436, ptr %437, align 4, !tbaa !9
  %438 = add nsw i64 %storemerge215249.ph, -1
  %439 = mul nsw i64 %.pre299, %438
  %gep247.prol = getelementptr float, ptr %invariant.gep, i64 %439
  %440 = load float, ptr %gep247.prol, align 4, !tbaa !9
  %441 = getelementptr float, ptr %419, i64 %storemerge215249.ph
  store float %440, ptr %441, align 4, !tbaa !9
  %442 = add nuw i64 %storemerge215249.ph, 1
  br label %scalar.ph.prol.loopexit

scalar.ph.prol.loopexit:                          ; preds = %scalar.ph.prol, %scalar.ph.preheader
  %storemerge215249.unr = phi i64 [ %storemerge215249.ph, %scalar.ph.preheader ], [ %442, %scalar.ph.prol ]
  %443 = icmp eq i64 %417, %storemerge215249.ph
  br i1 %443, label %._crit_edge252, label %scalar.ph

scalar.ph:                                        ; preds = %scalar.ph.prol.loopexit, %scalar.ph
  %storemerge215249 = phi i64 [ %460, %scalar.ph ], [ %storemerge215249.unr, %scalar.ph.prol.loopexit ]
  %444 = add i64 %418, %storemerge215249
  %445 = mul nsw i64 %.pre299, %444
  %gep = getelementptr float, ptr %invariant.gep, i64 %445
  %446 = load float, ptr %gep, align 4, !tbaa !9
  %447 = getelementptr inbounds float, ptr %60, i64 %storemerge215249
  store float %446, ptr %447, align 4, !tbaa !9
  %448 = add nsw i64 %storemerge215249, -1
  %449 = mul nsw i64 %.pre299, %448
  %gep247 = getelementptr float, ptr %invariant.gep, i64 %449
  %450 = load float, ptr %gep247, align 4, !tbaa !9
  %451 = getelementptr float, ptr %419, i64 %storemerge215249
  store float %450, ptr %451, align 4, !tbaa !9
  %452 = add nuw i64 %storemerge215249, 1
  %453 = add i64 %417, %storemerge215249
  %454 = mul nsw i64 %.pre299, %453
  %gep.1 = getelementptr float, ptr %invariant.gep, i64 %454
  %455 = load float, ptr %gep.1, align 4, !tbaa !9
  %456 = getelementptr float, ptr %25, i64 %storemerge215249
  store float %455, ptr %456, align 4, !tbaa !9
  %457 = mul nsw i64 %.pre299, %storemerge215249
  %gep247.1 = getelementptr float, ptr %invariant.gep, i64 %457
  %458 = load float, ptr %gep247.1, align 4, !tbaa !9
  %459 = getelementptr float, ptr %419, i64 %452
  store float %458, ptr %459, align 4, !tbaa !9
  %460 = add nuw i64 %storemerge215249, 2
  %exitcond290.not.1 = icmp eq i64 %452, %417
  br i1 %exitcond290.not.1, label %._crit_edge252, label %scalar.ph, !llvm.loop !35

._crit_edge252:                                   ; preds = %scalar.ph.prol.loopexit, %scalar.ph, %middle.block, %416
  %storemerge215.lcssa = phi i64 [ 1, %416 ], [ %420, %middle.block ], [ %420, %scalar.ph ], [ %420, %scalar.ph.prol.loopexit ]
  store i64 %storemerge215.lcssa, ptr %35, align 8, !tbaa !5
  %461 = shl i64 %417, 1
  store i64 %461, ptr %31, align 8, !tbaa !5
  %462 = shl i64 %.pre299, 1
  store i64 %462, ptr %32, align 8, !tbaa !5
  %463 = getelementptr inbounds float, ptr %70, i64 %.0179
  %464 = mul nsw i64 %349, %63
  %465 = getelementptr float, ptr %65, i64 %.0179
  %466 = getelementptr float, ptr %465, i64 %464
  %467 = getelementptr inbounds float, ptr %62, i64 %.0182256
  %468 = call i32 @smmch_(ptr noundef nonnull @.str, ptr noundef nonnull @.str, ptr noundef nonnull %42, ptr noundef nonnull @c__1, ptr noundef nonnull %31, ptr noundef nonnull %52, ptr noundef nonnull %463, ptr noundef nonnull %14, ptr noundef %25, ptr noundef nonnull %32, ptr noundef nonnull %50, ptr noundef %466, ptr noundef nonnull %14, ptr noundef %23, ptr noundef %24, ptr noundef nonnull %467, ptr noundef nonnull %48, ptr noundef %1, ptr noundef nonnull %49, ptr noundef %7, ptr noundef %3, ptr noundef nonnull @c_true, i64 noundef 1, i64 noundef 1)
  br label %469

469:                                              ; preds = %._crit_edge252, %._crit_edge244
  %470 = load i64, ptr %48, align 8, !tbaa !5
  br i1 %153, label %471, label %473

471:                                              ; preds = %469
  %472 = add nsw i64 %470, %.0182256
  br label %480

473:                                              ; preds = %469
  %474 = add i64 %.0182256, 1
  %475 = add i64 %474, %470
  switch i8 %119, label %480 [
    i8 84, label %476
    i8 67, label %476
  ]

476:                                              ; preds = %473, %473
  %477 = load i64, ptr %14, align 8, !tbaa !5
  %478 = shl i64 %477, 1
  %479 = add nsw i64 %478, %.0176257
  br label %480

480:                                              ; preds = %473, %476, %471
  %.1183 = phi i64 [ %472, %471 ], [ %475, %476 ], [ %475, %473 ]
  %.1 = phi i64 [ %.0176257, %471 ], [ %479, %476 ], [ %.0176257, %473 ]
  %481 = load float, ptr %49, align 4
  %482 = fcmp oge float %348, %481
  %483 = select i1 %482, float %348, float %481
  store float %483, ptr %56, align 4, !tbaa !9
  %484 = load i64, ptr %7, align 8, !tbaa !5
  %.not219 = icmp eq i64 %484, 0
  br i1 %.not219, label %485, label %512

485:                                              ; preds = %480
  %486 = add nuw nsw i64 %349, 1
  store i64 %486, ptr %36, align 8, !tbaa !5
  %.not213.not = icmp slt i64 %349, %347
  %indvar.next = add i64 %indvar, 1
  br i1 %.not213.not, label %.lr.ph259, label %.loopexit, !llvm.loop !36

.loopexit:                                        ; preds = %485, %346, %345
  %487 = phi float [ %165, %346 ], [ %165, %345 ], [ %483, %485 ]
  %488 = add nuw i64 %.0184261, 1
  %exitcond291.not = icmp eq i64 %.0184261, %160
  br i1 %exitcond291.not, label %._crit_edge264.loopexit, label %.lr.ph263, !llvm.loop !37

._crit_edge264.loopexit:                          ; preds = %.loopexit
  %.pre300 = load i64, ptr %30, align 8, !tbaa !5
  br label %._crit_edge264

._crit_edge264:                                   ; preds = %._crit_edge264.loopexit, %.lr.ph268.split
  %489 = phi i64 [ %.pre300, %._crit_edge264.loopexit ], [ %161, %.lr.ph268.split ]
  %490 = phi float [ %487, %._crit_edge264.loopexit ], [ %162, %.lr.ph268.split ]
  %.not199.not = icmp slt i64 %.0185266, %489
  br i1 %.not199.not, label %.lr.ph268.splitthread-pre-split, label %._crit_edge269, !llvm.loop !38

._crit_edge269:                                   ; preds = %._crit_edge264, %.lr.ph268.split.us, %148
  %491 = phi float [ %149, %.lr.ph268.split.us ], [ %149, %148 ], [ %490, %._crit_edge264 ]
  %492 = add nuw nsw i64 %.0177271, 1
  %exitcond292.not = icmp eq i64 %492, 3
  br i1 %exitcond292.not, label %.loopexit222, label %148, !llvm.loop !40

.loopexit222:                                     ; preds = %._crit_edge269, %126
  %493 = phi float [ %116, %126 ], [ %491, %._crit_edge269 ]
  %494 = add nuw nsw i64 %.0178272, 1
  %exitcond293.not = icmp eq i64 %494, 4
  br i1 %exitcond293.not, label %495, label %115, !llvm.loop !41

495:                                              ; preds = %.loopexit222
  %496 = add nuw i64 %.0181274, 1
  %exitcond294.not = icmp eq i64 %.0181274, %111
  br i1 %exitcond294.not, label %.loopexit223, label %.lr.ph276, !llvm.loop !42

.loopexit223:                                     ; preds = %495, %108, %105
  %497 = phi float [ %98, %108 ], [ %98, %105 ], [ %493, %495 ]
  %498 = add nuw i64 %.0180278, 1
  %exitcond295.not = icmp eq i64 %.0180278, %71
  br i1 %exitcond295.not, label %._crit_edge281, label %97, !llvm.loop !43

._crit_edge281:                                   ; preds = %.loopexit223, %27
  %499 = phi float [ 0.000000e+00, %27 ], [ %497, %.loopexit223 ]
  %500 = load float, ptr %2, align 4, !tbaa !9
  %501 = fcmp olt float %499, %500
  %502 = load i64, ptr %3, align 8, !tbaa !5
  br i1 %501, label %503, label %507

503:                                              ; preds = %._crit_edge281
  store i64 %502, ptr getelementptr inbounds (i8, ptr @schk5_.io___333, i64 8), align 8, !tbaa !25
  %504 = call i64 @s_wsfe(ptr noundef nonnull @schk5_.io___333) #3
  %505 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #3
  %506 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #3
  br label %538

507:                                              ; preds = %._crit_edge281
  store i64 %502, ptr getelementptr inbounds (i8, ptr @schk5_.io___334, i64 8), align 8, !tbaa !25
  %508 = call i64 @s_wsfe(ptr noundef nonnull @schk5_.io___334) #3
  %509 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #3
  %510 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #3
  %511 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %56, i64 noundef 4) #3
  br label %538

512:                                              ; preds = %480
  %513 = load i64, ptr %38, align 8, !tbaa !5
  %514 = icmp sgt i64 %513, 1
  br i1 %514, label %515, label %520

515:                                              ; preds = %512
  %516 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %516, ptr getelementptr inbounds (i8, ptr @schk5_.io___335, i64 8), align 8, !tbaa !25
  %517 = call i64 @s_wsfe(ptr noundef nonnull @schk5_.io___335) #3
  %518 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 8) #3
  %519 = call i64 @e_wsfe() #3
  br label %520

520:                                              ; preds = %512, %515, %344, %292
  %521 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %521, ptr getelementptr inbounds (i8, ptr @schk5_.io___336, i64 8), align 8, !tbaa !25
  %522 = call i64 @s_wsfe(ptr noundef nonnull @schk5_.io___336) #3
  %523 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #3
  %524 = call i64 @e_wsfe() #3
  %525 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %525, ptr getelementptr inbounds (i8, ptr @schk5_.io___337, i64 8), align 8, !tbaa !25
  %526 = call i64 @s_wsfe(ptr noundef nonnull @schk5_.io___337) #3
  %527 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #3
  %528 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #3
  %529 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %51, i64 noundef 1) #3
  %530 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %55, i64 noundef 1) #3
  %531 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %38, i64 noundef 8) #3
  %532 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %37, i64 noundef 8) #3
  %533 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %52, i64 noundef 4) #3
  %534 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %45, i64 noundef 8) #3
  %535 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %47, i64 noundef 8) #3
  %536 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %50, i64 noundef 4) #3
  %537 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %48, i64 noundef 8) #3
  br label %538

538:                                              ; preds = %503, %507, %520
  %539 = call i64 @e_wsfe() #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #3
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %53) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #3
  ret i32 0
}

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

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

declare i64 @f_rew(ptr noundef) local_unnamed_addr #1

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

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

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

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

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


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