; LLVM IR from stonne-simulator/omega :: omega-code/stonne/src/other_main (pipelining)

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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.0 }
%union.anon.0 = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%class.Config = type { i32, %class.DSNetworkConfig, %class.DSwitchConfig, %class.MSNetworkConfig, %class.MSwitchConfig, %class.ASNetworkConfig, %class.ASwitchConfig, %class.LookUpTableConfig, %class.SDMemoryConfig }
%class.DSNetworkConfig = type { i32 }
%class.DSwitchConfig = type { i32, i32, i32, i32 }
%class.MSNetworkConfig = type { i32, i32, i32, i32 }
%class.MSwitchConfig = type { i32, i32, i32, i32, i32, i32 }
%class.ASNetworkConfig = type { i32, i32 }
%class.ASwitchConfig = type { i32, i32, i32, i32, i32, i32 }
%class.LookUpTableConfig = type { i32, i32 }
%class.SDMemoryConfig = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
%class.MSNetworkStats = type { %class.Stats, i32, i32, i32, i32, i32, i32, i32, i32 }
%class.Stats = type { ptr }
%class.ASNetworkStats = type <{ %class.Stats, i32, i32, i32, i32, i32, i32, i32, [4 x i8] }>
%class.DSNetworkStats = type <{ %class.Stats, i32, i32, i32, i32, i32, [4 x i8] }>
%class.SDMemoryStats = type { %class.Stats, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@__const.main.loop_order_agg = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.loop_order_cmb = external hidden unnamed_addr constant [4 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [104 x i8], align 1
@__PRETTY_FUNCTION__.main = external hidden unnamed_addr constant [11 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [33 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca [4 x i8], align 1
  %18 = alloca [4 x i8], align 1
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca float, align 4
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca ptr, align 8
  %27 = alloca i32, align 4
  %28 = alloca ptr, align 8
  %29 = alloca %"class.std::basic_ifstream", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %35 = alloca i32, align 4
  %36 = alloca ptr, align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca i32, align 4
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca i32, align 4
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca ptr, align 8
  %49 = alloca %class.Config, align 4
  %50 = alloca %class.Config, align 4
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca ptr, align 8
  %56 = alloca %class.Config, align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca %class.MSNetworkStats, align 8
  %61 = alloca %class.ASNetworkStats, align 8
  %62 = alloca %class.DSNetworkStats, align 8
  %63 = alloca %class.SDMemoryStats, align 8
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca float, align 4
  %67 = alloca ptr, align 8
  %68 = alloca ptr, align 8
  %69 = alloca i32, align 4
  %70 = alloca ptr, align 8
  %71 = alloca ptr, align 8
  %72 = alloca i32, align 4
  %73 = alloca ptr, align 8
  %74 = alloca ptr, align 8
  %75 = alloca ptr, align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::allocator", align 1
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::allocator", align 1
  %80 = alloca ptr, align 8
  %81 = alloca %class.Config, align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca ptr, align 8
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca float, align 4
  %91 = alloca %class.MSNetworkStats, align 8
  %92 = alloca %class.ASNetworkStats, align 8
  %93 = alloca %class.DSNetworkStats, align 8
  %94 = alloca %class.SDMemoryStats, align 8
  %95 = alloca i32, align 4
  %96 = alloca ptr, align 8
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  store i32 0, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #13
  store i32 0, ptr %3, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #13
  store i32 1168, ptr %4, align 4, !tbaa !9
  store i32 28, ptr %5, align 4, !tbaa !9
  store i32 2, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #13
  store i32 18, ptr %7, align 4, !tbaa !9
  store i32 1, ptr %8, align 4, !tbaa !9
  store i32 28, ptr %9, align 4, !tbaa !9
  store i32 18, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %11, align 4, !tbaa !9
  store i32 28, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #13
  store i32 512, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #13
  store i32 512, ptr %16, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #13
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %17, ptr align 1 @__const.main.loop_order_agg, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #13
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %18, ptr align 1 @__const.main.loop_order_cmb, i64 4, i1 false)
  %115 = load i32, ptr %3, align 4, !tbaa !5
  %116 = icmp eq i32 %115, 0
  br i1 %116, label %117, label %176

117:                                              ; preds = %0
  %118 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %119 = load i8, ptr %118, align 1, !tbaa !11
  %120 = sext i8 %119 to i32
  %121 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 0
  %122 = load i8, ptr %121, align 1, !tbaa !11
  %123 = sext i8 %122 to i32
  %124 = icmp eq i32 %120, %123
  br i1 %124, label %125, label %144

125:                                              ; preds = %117
  %126 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 1
  %127 = load i8, ptr %126, align 1, !tbaa !11
  %128 = sext i8 %127 to i32
  %129 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 1
  %130 = load i8, ptr %129, align 1, !tbaa !11
  %131 = sext i8 %130 to i32
  %132 = icmp eq i32 %128, %131
  br i1 %132, label %133, label %144

133:                                              ; preds = %125
  %134 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %135 = load i8, ptr %134, align 1, !tbaa !11
  %136 = sext i8 %135 to i32
  %137 = icmp eq i32 %136, 86
  br i1 %137, label %143, label %138

138:                                              ; preds = %133
  %139 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %140 = load i8, ptr %139, align 1, !tbaa !11
  %141 = sext i8 %140 to i32
  %142 = icmp eq i32 %141, 70
  br i1 %142, label %143, label %144

143:                                              ; preds = %138, %133
  store i32 0, ptr %2, align 4, !tbaa !12
  br label %175

144:                                              ; preds = %138, %125, %117
  %145 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %146 = load i8, ptr %145, align 1, !tbaa !11
  %147 = sext i8 %146 to i32
  %148 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 0
  %149 = load i8, ptr %148, align 1, !tbaa !11
  %150 = sext i8 %149 to i32
  %151 = icmp eq i32 %147, %150
  br i1 %151, label %152, label %158

152:                                              ; preds = %144
  %153 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %154 = load i8, ptr %153, align 1, !tbaa !11
  %155 = sext i8 %154 to i32
  %156 = icmp eq i32 %155, 86
  br i1 %156, label %157, label %158

157:                                              ; preds = %152
  store i32 1, ptr %2, align 4, !tbaa !12
  br label %174

158:                                              ; preds = %152, %144
  %159 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %160 = load i8, ptr %159, align 1, !tbaa !11
  %161 = sext i8 %160 to i32
  %162 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 0
  %163 = load i8, ptr %162, align 1, !tbaa !11
  %164 = sext i8 %163 to i32
  %165 = icmp eq i32 %161, %164
  br i1 %165, label %166, label %172

166:                                              ; preds = %158
  %167 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %168 = load i8, ptr %167, align 1, !tbaa !11
  %169 = sext i8 %168 to i32
  %170 = icmp eq i32 %169, 70
  br i1 %170, label %171, label %172

171:                                              ; preds = %166
  store i32 2, ptr %2, align 4, !tbaa !12
  br label %173

172:                                              ; preds = %166, %158
  store i32 3, ptr %2, align 4, !tbaa !12
  br label %173

173:                                              ; preds = %172, %171
  br label %174

174:                                              ; preds = %173, %157
  br label %175

175:                                              ; preds = %174, %143
  br label %247

176:                                              ; preds = %0
  %177 = load i32, ptr %3, align 4, !tbaa !5
  %178 = icmp eq i32 %177, 1
  br i1 %178, label %179, label %246

179:                                              ; preds = %176
  %180 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %181 = load i8, ptr %180, align 1, !tbaa !11
  %182 = sext i8 %181 to i32
  %183 = icmp eq i32 %182, 78
  br i1 %183, label %184, label %199

184:                                              ; preds = %179
  %185 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 0
  %186 = load i8, ptr %185, align 1, !tbaa !11
  %187 = sext i8 %186 to i32
  %188 = icmp eq i32 %187, 86
  br i1 %188, label %189, label %199

189:                                              ; preds = %184
  %190 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 1
  %191 = load i8, ptr %190, align 1, !tbaa !11
  %192 = sext i8 %191 to i32
  %193 = icmp eq i32 %192, 70
  br i1 %193, label %194, label %199

194:                                              ; preds = %189
  %195 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 1
  %196 = load i8, ptr %195, align 1, !tbaa !11
  %197 = sext i8 %196 to i32
  %198 = icmp eq i32 %197, 71
  br i1 %198, label %219, label %199

199:                                              ; preds = %194, %189, %184, %179
  %200 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %201 = load i8, ptr %200, align 1, !tbaa !11
  %202 = sext i8 %201 to i32
  %203 = icmp eq i32 %202, 70
  br i1 %203, label %204, label %220

204:                                              ; preds = %199
  %205 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 0
  %206 = load i8, ptr %205, align 1, !tbaa !11
  %207 = sext i8 %206 to i32
  %208 = icmp eq i32 %207, 71
  br i1 %208, label %209, label %220

209:                                              ; preds = %204
  %210 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 1
  %211 = load i8, ptr %210, align 1, !tbaa !11
  %212 = sext i8 %211 to i32
  %213 = icmp eq i32 %212, 78
  br i1 %213, label %214, label %220

214:                                              ; preds = %209
  %215 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 1
  %216 = load i8, ptr %215, align 1, !tbaa !11
  %217 = sext i8 %216 to i32
  %218 = icmp eq i32 %217, 86
  br i1 %218, label %219, label %220

219:                                              ; preds = %214, %194
  store i32 0, ptr %2, align 4, !tbaa !12
  br label %245

220:                                              ; preds = %214, %209, %204, %199
  %221 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %222 = load i8, ptr %221, align 1, !tbaa !11
  %223 = sext i8 %222 to i32
  %224 = icmp eq i32 %223, 78
  br i1 %224, label %225, label %231

225:                                              ; preds = %220
  %226 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 0
  %227 = load i8, ptr %226, align 1, !tbaa !11
  %228 = sext i8 %227 to i32
  %229 = icmp eq i32 %228, 86
  br i1 %229, label %230, label %231

230:                                              ; preds = %225
  store i32 1, ptr %2, align 4, !tbaa !12
  br label %244

231:                                              ; preds = %225, %220
  %232 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %233 = load i8, ptr %232, align 1, !tbaa !11
  %234 = sext i8 %233 to i32
  %235 = icmp eq i32 %234, 70
  br i1 %235, label %236, label %242

236:                                              ; preds = %231
  %237 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 0
  %238 = load i8, ptr %237, align 1, !tbaa !11
  %239 = sext i8 %238 to i32
  %240 = icmp eq i32 %239, 71
  br i1 %240, label %241, label %242

241:                                              ; preds = %236
  store i32 2, ptr %2, align 4, !tbaa !12
  br label %243

242:                                              ; preds = %236, %231
  store i32 3, ptr %2, align 4, !tbaa !12
  br label %243

243:                                              ; preds = %242, %241
  br label %244

244:                                              ; preds = %243, %230
  br label %245

245:                                              ; preds = %244, %219
  br label %246

246:                                              ; preds = %245, %176
  br label %247

247:                                              ; preds = %246, %175
  %248 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str)
  %249 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  %250 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %248, ptr noundef %249)
  %251 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %250, ptr noundef @.str.1)
  %252 = getelementptr inbounds [4 x i8], ptr %18, i64 0, i64 0
  %253 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %251, ptr noundef %252)
  %254 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %253, ptr noundef @.str.1)
  %255 = load i32, ptr %2, align 4, !tbaa !12
  %256 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %254, i32 noundef %255)
  %257 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %256, ptr noundef @.str)
  %258 = load i32, ptr %2, align 4, !tbaa !12
  %259 = icmp eq i32 %258, 0
  br i1 %259, label %260, label %289

260:                                              ; preds = %247
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #13
  store i32 0, ptr %19, align 4, !tbaa !9
  %261 = load i32, ptr %7, align 4, !tbaa !9
  %262 = load i32, ptr %10, align 4, !tbaa !9
  %263 = icmp sgt i32 %261, %262
  br i1 %263, label %264, label %266

264:                                              ; preds = %260
  %265 = load i32, ptr %7, align 4, !tbaa !9
  br label %268

266:                                              ; preds = %260
  %267 = load i32, ptr %10, align 4, !tbaa !9
  br label %268

268:                                              ; preds = %266, %264
  %269 = phi i32 [ %265, %264 ], [ %267, %266 ]
  store i32 %269, ptr %13, align 4, !tbaa !9
  %270 = load i32, ptr %9, align 4, !tbaa !9
  %271 = load i32, ptr %12, align 4, !tbaa !9
  %272 = icmp sgt i32 %270, %271
  br i1 %272, label %273, label %275

273:                                              ; preds = %268
  %274 = load i32, ptr %9, align 4, !tbaa !9
  br label %277

275:                                              ; preds = %268
  %276 = load i32, ptr %12, align 4, !tbaa !9
  br label %277

277:                                              ; preds = %275, %273
  %278 = phi i32 [ %274, %273 ], [ %276, %275 ]
  store i32 %278, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #13
  %279 = load i32, ptr %13, align 4, !tbaa !9
  %280 = mul nsw i32 2, %279
  %281 = load i32, ptr %14, align 4, !tbaa !9
  %282 = mul nsw i32 %280, %281
  store i32 %282, ptr %20, align 4, !tbaa !9
  %283 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
  %284 = load i32, ptr %19, align 4, !tbaa !9
  %285 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %283, i32 noundef %284)
  %286 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %285, ptr noundef @.str.3)
  %287 = load i32, ptr %20, align 4, !tbaa !9
  %288 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %286, i32 noundef %287)
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #13
  br label %289

289:                                              ; preds = %277, %247
  %290 = load i32, ptr %2, align 4, !tbaa !12
  %291 = icmp eq i32 %290, 1
  br i1 %291, label %292, label %2799

292:                                              ; preds = %289
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #13
  store i32 0, ptr %21, align 4, !tbaa !9
  %293 = load i32, ptr %7, align 4, !tbaa !9
  %294 = load i32, ptr %10, align 4, !tbaa !9
  %295 = icmp sgt i32 %293, %294
  br i1 %295, label %296, label %298

296:                                              ; preds = %292
  %297 = load i32, ptr %7, align 4, !tbaa !9
  br label %300

298:                                              ; preds = %292
  %299 = load i32, ptr %10, align 4, !tbaa !9
  br label %300

300:                                              ; preds = %298, %296
  %301 = phi i32 [ %297, %296 ], [ %299, %298 ]
  store i32 %301, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #13
  %302 = load i32, ptr %13, align 4, !tbaa !9
  %303 = mul nsw i32 2, %302
  %304 = load i32, ptr %5, align 4, !tbaa !9
  %305 = mul nsw i32 %303, %304
  store i32 %305, ptr %22, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #13
  store float 0x3FA99999A0000000, ptr %23, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %306 unwind label %323

306:                                              ; preds = %300
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #13
  %307 = load i32, ptr %4, align 4, !tbaa !9
  %308 = load i32, ptr %4, align 4, !tbaa !9
  %309 = mul nsw i32 %307, %308
  %310 = sext i32 %309 to i64
  %311 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %310, i64 4)
  %312 = extractvalue { i64, i1 } %311, 1
  %313 = extractvalue { i64, i1 } %311, 0
  %314 = select i1 %312, i64 -1, i64 %313
  %315 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %314) #14
          to label %316 unwind label %327

316:                                              ; preds = %306
  store ptr %315, ptr %28, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 520, ptr %29) #13
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %29, ptr noundef @.str.5, i32 noundef 8)
          to label %317 unwind label %331

317:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #13
  store i32 0, ptr %32, align 4, !tbaa !9
  br label %318

318:                                              ; preds = %376, %317
  %319 = load i32, ptr %32, align 4, !tbaa !9
  %320 = load i32, ptr %4, align 4, !tbaa !9
  %321 = icmp slt i32 %319, %320
  br i1 %321, label %335, label %322

322:                                              ; preds = %318
  store i32 2, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #13
  br label %381

323:                                              ; preds = %300
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %26, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %27, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #13
  br label %2798

327:                                              ; preds = %306
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %26, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %27, align 4
  br label %2797

331:                                              ; preds = %316
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %26, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %27, align 4
  br label %2796

335:                                              ; preds = %318
  %336 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %29, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %337 unwind label %346

337:                                              ; preds = %335
  call void @llvm.lifetime.start.p0(i64 392, ptr %34) #13
  %338 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 16, i32 noundef 8)
          to label %339 unwind label %350

339:                                              ; preds = %337
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(128) %34, ptr noundef nonnull align 8 dereferenceable(32) %30, i32 noundef %338)
          to label %340 unwind label %350

340:                                              ; preds = %339
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #13
  store i32 0, ptr %35, align 4, !tbaa !9
  br label %341

341:                                              ; preds = %368, %340
  %342 = load i32, ptr %35, align 4, !tbaa !9
  %343 = load i32, ptr %4, align 4, !tbaa !9
  %344 = icmp slt i32 %342, %343
  br i1 %344, label %354, label %345

345:                                              ; preds = %341
  store i32 5, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #13
  br label %375

346:                                              ; preds = %335
  %347 = landingpad { ptr, i32 }
          cleanup
  %348 = extractvalue { ptr, i32 } %347, 0
  store ptr %348, ptr %26, align 8
  %349 = extractvalue { ptr, i32 } %347, 1
  store i32 %349, ptr %27, align 4
  br label %380

350:                                              ; preds = %339, %337
  %351 = landingpad { ptr, i32 }
          cleanup
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %26, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %27, align 4
  br label %379

354:                                              ; preds = %341
  %355 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef nonnull align 8 dereferenceable(32) %31, i8 noundef signext 44)
          to label %356 unwind label %371

356:                                              ; preds = %354
  %357 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef null, i32 noundef 10)
          to label %358 unwind label %371

358:                                              ; preds = %356
  %359 = uitofp i32 %357 to float
  %360 = load ptr, ptr %28, align 8, !tbaa !16
  %361 = load i32, ptr %32, align 4, !tbaa !9
  %362 = load i32, ptr %4, align 4, !tbaa !9
  %363 = mul nsw i32 %361, %362
  %364 = load i32, ptr %35, align 4, !tbaa !9
  %365 = add nsw i32 %363, %364
  %366 = sext i32 %365 to i64
  %367 = getelementptr inbounds float, ptr %360, i64 %366
  store float %359, ptr %367, align 4, !tbaa !14
  br label %368

368:                                              ; preds = %358
  %369 = load i32, ptr %35, align 4, !tbaa !9
  %370 = add nsw i32 %369, 1
  store i32 %370, ptr %35, align 4, !tbaa !9
  br label %341, !llvm.loop !18

371:                                              ; preds = %356, %354
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %26, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #13
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %34) #13
  br label %379

375:                                              ; preds = %345
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %34) #13
  call void @llvm.lifetime.end.p0(i64 392, ptr %34) #13
  br label %376

376:                                              ; preds = %375
  %377 = load i32, ptr %32, align 4, !tbaa !9
  %378 = add nsw i32 %377, 1
  store i32 %378, ptr %32, align 4, !tbaa !9
  br label %318, !llvm.loop !20

379:                                              ; preds = %371, %350
  call void @llvm.lifetime.end.p0(i64 392, ptr %34) #13
  br label %380

380:                                              ; preds = %379, %346
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #13
  br label %2795

381:                                              ; preds = %322
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %29)
          to label %382 unwind label %400

382:                                              ; preds = %381
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #13
  %383 = load i32, ptr %4, align 4, !tbaa !9
  %384 = load i32, ptr %4, align 4, !tbaa !9
  %385 = mul nsw i32 %383, %384
  %386 = sext i32 %385 to i64
  %387 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %386, i64 4)
  %388 = extractvalue { i64, i1 } %387, 1
  %389 = extractvalue { i64, i1 } %387, 0
  %390 = select i1 %388, i64 -1, i64 %389
  %391 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %390) #14
          to label %392 unwind label %404

392:                                              ; preds = %382
  store ptr %391, ptr %36, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #13
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %393

393:                                              ; preds = %418, %392
  %394 = load i32, ptr %37, align 4, !tbaa !9
  %395 = load i32, ptr %4, align 4, !tbaa !9
  %396 = load i32, ptr %4, align 4, !tbaa !9
  %397 = mul nsw i32 %395, %396
  %398 = icmp slt i32 %394, %397
  br i1 %398, label %408, label %399

399:                                              ; preds = %393
  store i32 8, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #13
  br label %421

400:                                              ; preds = %381
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %26, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %27, align 4
  br label %2795

404:                                              ; preds = %382
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %26, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %27, align 4
  br label %2794

408:                                              ; preds = %393
  %409 = load ptr, ptr %28, align 8, !tbaa !16
  %410 = load i32, ptr %37, align 4, !tbaa !9
  %411 = sext i32 %410 to i64
  %412 = getelementptr inbounds float, ptr %409, i64 %411
  %413 = load float, ptr %412, align 4, !tbaa !14
  %414 = load ptr, ptr %36, align 8, !tbaa !16
  %415 = load i32, ptr %37, align 4, !tbaa !9
  %416 = sext i32 %415 to i64
  %417 = getelementptr inbounds float, ptr %414, i64 %416
  store float %413, ptr %417, align 4, !tbaa !14
  br label %418

418:                                              ; preds = %408
  %419 = load i32, ptr %37, align 4, !tbaa !9
  %420 = add nsw i32 %419, 1
  store i32 %420, ptr %37, align 4, !tbaa !9
  br label %393, !llvm.loop !21

421:                                              ; preds = %399
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #13
  store i32 0, ptr %38, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #13
  %422 = load ptr, ptr %36, align 8, !tbaa !16
  %423 = load i32, ptr %4, align 4, !tbaa !9
  %424 = load i32, ptr %4, align 4, !tbaa !9
  %425 = invoke noundef ptr @_Z24generateMinorIDFromDensePfjjRi15GENERATION_TYPE(ptr noundef %422, i32 noundef %423, i32 noundef %424, ptr noundef nonnull align 4 dereferenceable(4) %38, i32 noundef 0)
          to label %426 unwind label %439

426:                                              ; preds = %421
  store ptr %425, ptr %39, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #13
  %427 = load ptr, ptr %36, align 8, !tbaa !16
  %428 = load i32, ptr %4, align 4, !tbaa !9
  %429 = load i32, ptr %4, align 4, !tbaa !9
  %430 = invoke noundef ptr @_Z29generateMajorPointerFromDensePfjj15GENERATION_TYPE(ptr noundef %427, i32 noundef %428, i32 noundef %429, i32 noundef 0)
          to label %431 unwind label %443

431:                                              ; preds = %426
  store ptr %430, ptr %40, align 8, !tbaa !16
  %432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.6)
          to label %433 unwind label %443

433:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #13
  store i32 0, ptr %41, align 4, !tbaa !9
  br label %434

434:                                              ; preds = %457, %433
  %435 = load i32, ptr %41, align 4, !tbaa !9
  %436 = load i32, ptr %4, align 4, !tbaa !9
  %437 = icmp sle i32 %435, %436
  br i1 %437, label %447, label %438

438:                                              ; preds = %434
  store i32 11, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #13
  br label %464

439:                                              ; preds = %421
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %26, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %27, align 4
  br label %2793

443:                                              ; preds = %464, %431, %426
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %26, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %27, align 4
  br label %2792

447:                                              ; preds = %434
  %448 = load ptr, ptr %40, align 8, !tbaa !16
  %449 = load i32, ptr %41, align 4, !tbaa !9
  %450 = sext i32 %449 to i64
  %451 = getelementptr inbounds i32, ptr %448, i64 %450
  %452 = load i32, ptr %451, align 4, !tbaa !9
  %453 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %452)
          to label %454 unwind label %460

454:                                              ; preds = %447
  %455 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %453, ptr noundef @.str.1)
          to label %456 unwind label %460

456:                                              ; preds = %454
  br label %457

457:                                              ; preds = %456
  %458 = load i32, ptr %41, align 4, !tbaa !9
  %459 = add nsw i32 %458, 1
  store i32 %459, ptr %41, align 4, !tbaa !9
  br label %434, !llvm.loop !22

460:                                              ; preds = %454, %447
  %461 = landingpad { ptr, i32 }
          cleanup
  %462 = extractvalue { ptr, i32 } %461, 0
  store ptr %462, ptr %26, align 8
  %463 = extractvalue { ptr, i32 } %461, 1
  store i32 %463, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #13
  br label %2792

464:                                              ; preds = %438
  %465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.7)
          to label %466 unwind label %443

466:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #13
  %467 = load ptr, ptr %36, align 8, !tbaa !16
  %468 = load i32, ptr %4, align 4, !tbaa !9
  %469 = load i32, ptr %4, align 4, !tbaa !9
  %470 = invoke noundef ptr @_Z37generateMatrixSparseFromDenseNoBitmapPfjj15GENERATION_TYPE(ptr noundef %467, i32 noundef %468, i32 noundef %469, i32 noundef 0)
          to label %471 unwind label %493

471:                                              ; preds = %466
  store ptr %470, ptr %42, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #13
  %472 = load i32, ptr %4, align 4, !tbaa !9
  %473 = load i32, ptr %5, align 4, !tbaa !9
  %474 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %472, i32 noundef %473, float noundef 0.000000e+00)
          to label %475 unwind label %497

475:                                              ; preds = %471
  store ptr %474, ptr %43, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #13
  %476 = load i32, ptr %4, align 4, !tbaa !9
  %477 = load i32, ptr %5, align 4, !tbaa !9
  %478 = mul nsw i32 %476, %477
  %479 = sext i32 %478 to i64
  %480 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %479, i64 4)
  %481 = extractvalue { i64, i1 } %480, 1
  %482 = extractvalue { i64, i1 } %480, 0
  %483 = select i1 %481, i64 -1, i64 %482
  %484 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %483) #14
          to label %485 unwind label %501

485:                                              ; preds = %475
  store ptr %484, ptr %44, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #13
  store i32 0, ptr %45, align 4, !tbaa !9
  br label %486

486:                                              ; preds = %515, %485
  %487 = load i32, ptr %45, align 4, !tbaa !9
  %488 = load i32, ptr %4, align 4, !tbaa !9
  %489 = load i32, ptr %5, align 4, !tbaa !9
  %490 = mul nsw i32 %488, %489
  %491 = icmp slt i32 %487, %490
  br i1 %491, label %505, label %492

492:                                              ; preds = %486
  store i32 14, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #13
  br label %518

493:                                              ; preds = %466
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %26, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %27, align 4
  br label %2791

497:                                              ; preds = %471
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %26, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %27, align 4
  br label %2790

501:                                              ; preds = %475
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %26, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %27, align 4
  br label %2789

505:                                              ; preds = %486
  %506 = load ptr, ptr %43, align 8, !tbaa !16
  %507 = load i32, ptr %45, align 4, !tbaa !9
  %508 = sext i32 %507 to i64
  %509 = getelementptr inbounds float, ptr %506, i64 %508
  %510 = load float, ptr %509, align 4, !tbaa !14
  %511 = load ptr, ptr %44, align 8, !tbaa !16
  %512 = load i32, ptr %45, align 4, !tbaa !9
  %513 = sext i32 %512 to i64
  %514 = getelementptr inbounds float, ptr %511, i64 %513
  store float %510, ptr %514, align 4, !tbaa !14
  br label %515

515:                                              ; preds = %505
  %516 = load i32, ptr %45, align 4, !tbaa !9
  %517 = add nsw i32 %516, 1
  store i32 %517, ptr %45, align 4, !tbaa !9
  br label %486, !llvm.loop !23

518:                                              ; preds = %492
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #13
  %519 = load i32, ptr %4, align 4, !tbaa !9
  %520 = load i32, ptr %5, align 4, !tbaa !9
  %521 = mul nsw i32 %519, %520
  %522 = sext i32 %521 to i64
  %523 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %522, i64 4)
  %524 = extractvalue { i64, i1 } %523, 1
  %525 = extractvalue { i64, i1 } %523, 0
  %526 = select i1 %524, i64 -1, i64 %525
  %527 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %526) #14
          to label %528 unwind label %573

528:                                              ; preds = %518
  store ptr %527, ptr %46, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #13
  %529 = load i32, ptr %4, align 4, !tbaa !9
  %530 = load i32, ptr %5, align 4, !tbaa !9
  %531 = mul nsw i32 %529, %530
  %532 = sext i32 %531 to i64
  %533 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %532, i64 4)
  %534 = extractvalue { i64, i1 } %533, 1
  %535 = extractvalue { i64, i1 } %533, 0
  %536 = select i1 %534, i64 -1, i64 %535
  %537 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %536) #14
          to label %538 unwind label %577

538:                                              ; preds = %528
  store ptr %537, ptr %47, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #13
  %539 = load i32, ptr %4, align 4, !tbaa !9
  %540 = load i32, ptr %5, align 4, !tbaa !9
  %541 = mul nsw i32 %539, %540
  %542 = sext i32 %541 to i64
  %543 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %542, i64 4)
  %544 = extractvalue { i64, i1 } %543, 1
  %545 = extractvalue { i64, i1 } %543, 0
  %546 = select i1 %544, i64 -1, i64 %545
  %547 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %546) #14
          to label %548 unwind label %581

548:                                              ; preds = %538
  store ptr %547, ptr %48, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 160, ptr %49) #13
  invoke void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160) %49)
          to label %549 unwind label %585

549:                                              ; preds = %548
  call void @llvm.lifetime.start.p0(i64 160, ptr %50) #13
  invoke void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160) %50)
          to label %550 unwind label %589

550:                                              ; preds = %549
  %551 = load i32, ptr %15, align 4, !tbaa !9
  %552 = getelementptr inbounds %class.Config, ptr %49, i32 0, i32 3
  %553 = getelementptr inbounds %class.MSNetworkConfig, ptr %552, i32 0, i32 1
  store i32 %551, ptr %553, align 4, !tbaa !24
  %554 = load i32, ptr %15, align 4, !tbaa !9
  %555 = getelementptr inbounds %class.Config, ptr %49, i32 0, i32 8
  %556 = getelementptr inbounds %class.SDMemoryConfig, ptr %555, i32 0, i32 2
  store i32 %554, ptr %556, align 4, !tbaa !38
  %557 = load i32, ptr %15, align 4, !tbaa !9
  %558 = getelementptr inbounds %class.Config, ptr %49, i32 0, i32 8
  %559 = getelementptr inbounds %class.SDMemoryConfig, ptr %558, i32 0, i32 3
  store i32 %557, ptr %559, align 4, !tbaa !39
  %560 = getelementptr inbounds %class.Config, ptr %49, i32 0, i32 5
  %561 = getelementptr inbounds %class.ASNetworkConfig, ptr %560, i32 0, i32 1
  store i32 1, ptr %561, align 4, !tbaa !40
  %562 = getelementptr inbounds %class.Config, ptr %49, i32 0, i32 8
  %563 = getelementptr inbounds %class.SDMemoryConfig, ptr %562, i32 0, i32 0
  store i32 2, ptr %563, align 4, !tbaa !41
  %564 = getelementptr inbounds %class.Config, ptr %49, i32 0, i32 0
  store i32 0, ptr %564, align 4, !tbaa !42
  %565 = load i32, ptr %8, align 4, !tbaa !9
  %566 = icmp sgt i32 %565, 1
  br i1 %566, label %567, label %602

567:                                              ; preds = %550
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %568 unwind label %593

568:                                              ; preds = %567
  %569 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %51)
          to label %570 unwind label %597

570:                                              ; preds = %568
  %571 = getelementptr inbounds %class.Config, ptr %49, i32 0, i32 5
  %572 = getelementptr inbounds %class.ASNetworkConfig, ptr %571, i32 0, i32 0
  store i32 %569, ptr %572, align 4, !tbaa !43
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #13
  br label %617

573:                                              ; preds = %518
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %26, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %27, align 4
  br label %2788

577:                                              ; preds = %528
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %26, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %27, align 4
  br label %2787

581:                                              ; preds = %538
  %582 = landingpad { ptr, i32 }
          cleanup
  %583 = extractvalue { ptr, i32 } %582, 0
  store ptr %583, ptr %26, align 8
  %584 = extractvalue { ptr, i32 } %582, 1
  store i32 %584, ptr %27, align 4
  br label %2786

585:                                              ; preds = %548
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %26, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %27, align 4
  br label %2785

589:                                              ; preds = %549
  %590 = landingpad { ptr, i32 }
          cleanup
  %591 = extractvalue { ptr, i32 } %590, 0
  store ptr %591, ptr %26, align 8
  %592 = extractvalue { ptr, i32 } %590, 1
  store i32 %592, ptr %27, align 4
  br label %2784

593:                                              ; preds = %567
  %594 = landingpad { ptr, i32 }
          cleanup
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %26, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %27, align 4
  br label %601

597:                                              ; preds = %568
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %26, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %27, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #13
  br label %601

601:                                              ; preds = %597, %593
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #13
  br label %2784

602:                                              ; preds = %550
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %603 unwind label %608

603:                                              ; preds = %602
  %604 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %53)
          to label %605 unwind label %612

605:                                              ; preds = %603
  %606 = getelementptr inbounds %class.Config, ptr %49, i32 0, i32 5
  %607 = getelementptr inbounds %class.ASNetworkConfig, ptr %606, i32 0, i32 0
  store i32 %604, ptr %607, align 4, !tbaa !43
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #13
  br label %617

608:                                              ; preds = %602
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %26, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %27, align 4
  br label %616

612:                                              ; preds = %603
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %26, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %27, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #13
  br label %616

616:                                              ; preds = %612, %608
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #13
  br label %2784

617:                                              ; preds = %605, %570
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #13
  %618 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 320) #14
          to label %619 unwind label %651

619:                                              ; preds = %617
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %56, ptr align 4 %49, i64 160, i1 false), !tbaa.struct !44
  invoke void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316) %618, ptr noundef byval(%class.Config) align 8 %56)
          to label %620 unwind label %655

620:                                              ; preds = %619
  store ptr %618, ptr %55, align 8, !tbaa !16
  %621 = load ptr, ptr %55, align 8, !tbaa !16
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %622 unwind label %651

622:                                              ; preds = %620
  %623 = load i32, ptr %5, align 4, !tbaa !9
  %624 = load i32, ptr %4, align 4, !tbaa !9
  %625 = load i32, ptr %4, align 4, !tbaa !9
  %626 = load ptr, ptr %42, align 8, !tbaa !16
  %627 = load ptr, ptr %44, align 8, !tbaa !16
  %628 = load ptr, ptr %39, align 8, !tbaa !16
  %629 = load ptr, ptr %40, align 8, !tbaa !16
  %630 = load ptr, ptr %48, align 8, !tbaa !16
  %631 = load i32, ptr %9, align 4, !tbaa !9
  %632 = load i32, ptr %8, align 4, !tbaa !9
  invoke void @_ZN6Stonne15loadSparseDenseENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_PjS7_S6_jj(ptr noundef nonnull align 8 dereferenceable(316) %621, ptr noundef %57, i32 noundef %623, i32 noundef %624, i32 noundef %625, ptr noundef %626, ptr noundef %627, ptr noundef %628, ptr noundef %629, ptr noundef %630, i32 noundef %631, i32 noundef %632)
          to label %633 unwind label %659

633:                                              ; preds = %622
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #13
  %634 = load ptr, ptr %55, align 8, !tbaa !16
  %635 = load ptr, ptr %46, align 8, !tbaa !16
  invoke void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316) %634, ptr noundef %635)
          to label %636 unwind label %651

636:                                              ; preds = %633
  %637 = load ptr, ptr %55, align 8, !tbaa !16
  invoke void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316) %637)
          to label %638 unwind label %651

638:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #13
  %639 = load ptr, ptr %55, align 8, !tbaa !16
  %640 = invoke noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316) %639)
          to label %641 unwind label %663

641:                                              ; preds = %638
  store i32 %640, ptr %58, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #13
  %642 = load i32, ptr %5, align 4, !tbaa !9
  %643 = sub nsw i32 %642, 1
  store i32 %643, ptr %59, align 4, !tbaa !9
  br label %644

644:                                              ; preds = %677, %641
  %645 = load i32, ptr %59, align 4, !tbaa !9
  %646 = load i32, ptr %4, align 4, !tbaa !9
  %647 = load i32, ptr %5, align 4, !tbaa !9
  %648 = mul nsw i32 %646, %647
  %649 = icmp slt i32 %645, %648
  br i1 %649, label %667, label %650

650:                                              ; preds = %644
  store i32 17, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #13
  br label %685

651:                                              ; preds = %636, %633, %620, %617
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %26, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %27, align 4
  br label %2783

655:                                              ; preds = %619
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %26, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %27, align 4
  call void @_ZdlPvm(ptr noundef %618, i64 noundef 320) #15
  br label %2783

659:                                              ; preds = %622
  %660 = landingpad { ptr, i32 }
          cleanup
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %26, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %27, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #13
  br label %2783

663:                                              ; preds = %638
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %26, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %27, align 4
  br label %2782

667:                                              ; preds = %644
  %668 = load ptr, ptr %46, align 8, !tbaa !16
  %669 = load i32, ptr %59, align 4, !tbaa !9
  %670 = sext i32 %669 to i64
  %671 = getelementptr inbounds i32, ptr %668, i64 %670
  %672 = load i32, ptr %671, align 4, !tbaa !9
  %673 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %672)
          to label %674 unwind label %681

674:                                              ; preds = %667
  %675 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %673, ptr noundef @.str.1)
          to label %676 unwind label %681

676:                                              ; preds = %674
  br label %677

677:                                              ; preds = %676
  %678 = load i32, ptr %5, align 4, !tbaa !9
  %679 = load i32, ptr %59, align 4, !tbaa !9
  %680 = add nsw i32 %679, %678
  store i32 %680, ptr %59, align 4, !tbaa !9
  br label %644, !llvm.loop !49

681:                                              ; preds = %674, %667
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %26, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #13
  br label %2782

685:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 40, ptr %60) #13
  %686 = load ptr, ptr %55, align 8, !tbaa !16
  invoke void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind writable sret(%class.MSNetworkStats) align 8 %60, ptr noundef nonnull align 8 dereferenceable(316) %686)
          to label %687 unwind label %745

687:                                              ; preds = %685
  %688 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.10)
          to label %689 unwind label %745

689:                                              ; preds = %687
  %690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.11)
          to label %691 unwind label %745

691:                                              ; preds = %689
  %692 = getelementptr inbounds %class.MSNetworkStats, ptr %60, i32 0, i32 3
  %693 = load i32, ptr %692, align 8, !tbaa !50
  %694 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %690, i32 noundef %693)
          to label %695 unwind label %745

695:                                              ; preds = %691
  %696 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %694, ptr noundef @.str)
          to label %697 unwind label %745

697:                                              ; preds = %695
  %698 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.12)
          to label %699 unwind label %745

699:                                              ; preds = %697
  %700 = getelementptr inbounds %class.MSNetworkStats, ptr %60, i32 0, i32 4
  %701 = load i32, ptr %700, align 4, !tbaa !53
  %702 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %698, i32 noundef %701)
          to label %703 unwind label %745

703:                                              ; preds = %699
  %704 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %702, ptr noundef @.str)
          to label %705 unwind label %745

705:                                              ; preds = %703
  %706 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %707 unwind label %745

707:                                              ; preds = %705
  %708 = getelementptr inbounds %class.MSNetworkStats, ptr %60, i32 0, i32 5
  %709 = load i32, ptr %708, align 8, !tbaa !54
  %710 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %706, i32 noundef %709)
          to label %711 unwind label %745

711:                                              ; preds = %707
  %712 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %710, ptr noundef @.str)
          to label %713 unwind label %745

713:                                              ; preds = %711
  %714 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.14)
          to label %715 unwind label %745

715:                                              ; preds = %713
  %716 = getelementptr inbounds %class.MSNetworkStats, ptr %60, i32 0, i32 6
  %717 = load i32, ptr %716, align 4, !tbaa !55
  %718 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %714, i32 noundef %717)
          to label %719 unwind label %745

719:                                              ; preds = %715
  %720 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %718, ptr noundef @.str)
          to label %721 unwind label %745

721:                                              ; preds = %719
  %722 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.15)
          to label %723 unwind label %745

723:                                              ; preds = %721
  %724 = getelementptr inbounds %class.MSNetworkStats, ptr %60, i32 0, i32 7
  %725 = load i32, ptr %724, align 8, !tbaa !56
  %726 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %722, i32 noundef %725)
          to label %727 unwind label %745

727:                                              ; preds = %723
  %728 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %726, ptr noundef @.str)
          to label %729 unwind label %745

729:                                              ; preds = %727
  %730 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.16)
          to label %731 unwind label %745

731:                                              ; preds = %729
  %732 = getelementptr inbounds %class.MSNetworkStats, ptr %60, i32 0, i32 8
  %733 = load i32, ptr %732, align 4, !tbaa !57
  %734 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %730, i32 noundef %733)
          to label %735 unwind label %745

735:                                              ; preds = %731
  %736 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %734, ptr noundef @.str)
          to label %737 unwind label %745

737:                                              ; preds = %735
  %738 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.17)
          to label %739 unwind label %745

739:                                              ; preds = %737
  %740 = load i32, ptr %8, align 4, !tbaa !9
  %741 = icmp eq i32 %740, 1
  br i1 %741, label %742, label %749

742:                                              ; preds = %739
  %743 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.18)
          to label %744 unwind label %745

744:                                              ; preds = %742
  br label %764

745:                                              ; preds = %742, %737, %735, %731, %729, %727, %723, %721, %719, %715, %713, %711, %707, %705, %703, %699, %697, %695, %691, %689, %687, %685
  %746 = landingpad { ptr, i32 }
          cleanup
  %747 = extractvalue { ptr, i32 } %746, 0
  store ptr %747, ptr %26, align 8
  %748 = extractvalue { ptr, i32 } %746, 1
  store i32 %748, ptr %27, align 4
  br label %2781

749:                                              ; preds = %739
  call void @llvm.lifetime.start.p0(i64 40, ptr %61) #13
  %750 = load ptr, ptr %55, align 8, !tbaa !16
  invoke void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind writable sret(%class.ASNetworkStats) align 8 %61, ptr noundef nonnull align 8 dereferenceable(316) %750)
          to label %751 unwind label %760

751:                                              ; preds = %749
  %752 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %753 unwind label %760

753:                                              ; preds = %751
  %754 = getelementptr inbounds %class.ASNetworkStats, ptr %61, i32 0, i32 6
  %755 = load i32, ptr %754, align 4, !tbaa !58
  %756 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %752, i32 noundef %755)
          to label %757 unwind label %760

757:                                              ; preds = %753
  %758 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %756, ptr noundef @.str)
          to label %759 unwind label %760

759:                                              ; preds = %757
  call void @llvm.lifetime.end.p0(i64 40, ptr %61) #13
  br label %764

760:                                              ; preds = %757, %753, %751, %749
  %761 = landingpad { ptr, i32 }
          cleanup
  %762 = extractvalue { ptr, i32 } %761, 0
  store ptr %762, ptr %26, align 8
  %763 = extractvalue { ptr, i32 } %761, 1
  store i32 %763, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 40, ptr %61) #13
  br label %2781

764:                                              ; preds = %759, %744
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #13
  %765 = load ptr, ptr %55, align 8, !tbaa !16
  invoke void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind writable sret(%class.DSNetworkStats) align 8 %62, ptr noundef nonnull align 8 dereferenceable(316) %765)
          to label %766 unwind label %829

766:                                              ; preds = %764
  %767 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.20)
          to label %768 unwind label %829

768:                                              ; preds = %766
  %769 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %770 unwind label %829

770:                                              ; preds = %768
  %771 = getelementptr inbounds %class.DSNetworkStats, ptr %62, i32 0, i32 5
  %772 = load i32, ptr %771, align 8, !tbaa !60
  %773 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %769, i32 noundef %772)
          to label %774 unwind label %829

774:                                              ; preds = %770
  %775 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %773, ptr noundef @.str)
          to label %776 unwind label %829

776:                                              ; preds = %774
  call void @llvm.lifetime.start.p0(i64 152, ptr %63) #13
  %777 = load ptr, ptr %55, align 8, !tbaa !16
  invoke void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind writable sret(%class.SDMemoryStats) align 8 %63, ptr noundef nonnull align 8 dereferenceable(316) %777)
          to label %778 unwind label %833

778:                                              ; preds = %776
  %779 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.21)
          to label %780 unwind label %837

780:                                              ; preds = %778
  %781 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.22)
          to label %782 unwind label %837

782:                                              ; preds = %780
  %783 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 2
  %784 = load i32, ptr %783, align 4, !tbaa !62
  %785 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %781, i32 noundef %784)
          to label %786 unwind label %837

786:                                              ; preds = %782
  %787 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %785, ptr noundef @.str)
          to label %788 unwind label %837

788:                                              ; preds = %786
  %789 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.23)
          to label %790 unwind label %837

790:                                              ; preds = %788
  %791 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 3
  %792 = load i32, ptr %791, align 8, !tbaa !69
  %793 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %789, i32 noundef %792)
          to label %794 unwind label %837

794:                                              ; preds = %790
  %795 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %793, ptr noundef @.str)
          to label %796 unwind label %837

796:                                              ; preds = %794
  %797 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.24)
          to label %798 unwind label %837

798:                                              ; preds = %796
  %799 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 4
  %800 = load i32, ptr %799, align 4, !tbaa !70
  %801 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %797, i32 noundef %800)
          to label %802 unwind label %837

802:                                              ; preds = %798
  %803 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %801, ptr noundef @.str)
          to label %804 unwind label %837

804:                                              ; preds = %802
  %805 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.25)
          to label %806 unwind label %837

806:                                              ; preds = %804
  %807 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 5
  %808 = load i32, ptr %807, align 8, !tbaa !71
  %809 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %805, i32 noundef %808)
          to label %810 unwind label %837

810:                                              ; preds = %806
  %811 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %809, ptr noundef @.str)
          to label %812 unwind label %837

812:                                              ; preds = %810
  %813 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.26)
          to label %814 unwind label %837

814:                                              ; preds = %812
  %815 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %813, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %816 unwind label %837

816:                                              ; preds = %814
  %817 = load ptr, ptr %28, align 8, !tbaa !16
  %818 = load ptr, ptr %43, align 8, !tbaa !16
  %819 = load ptr, ptr %47, align 8, !tbaa !16
  %820 = load i32, ptr %4, align 4, !tbaa !9
  %821 = load i32, ptr %5, align 4, !tbaa !9
  %822 = load i32, ptr %4, align 4, !tbaa !9
  invoke void @_Z8cpu_gemmPfS_S_jjj(ptr noundef %817, ptr noundef %818, ptr noundef %819, i32 noundef %820, i32 noundef %821, i32 noundef %822)
          to label %823 unwind label %837

823:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #13
  store i32 0, ptr %64, align 4, !tbaa !9
  br label %824

824:                                              ; preds = %964, %823
  %825 = load i32, ptr %64, align 4, !tbaa !9
  %826 = load i32, ptr %4, align 4, !tbaa !9
  %827 = icmp slt i32 %825, %826
  br i1 %827, label %841, label %828

828:                                              ; preds = %824
  store i32 20, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #13
  br label %967

829:                                              ; preds = %774, %770, %768, %766, %764
  %830 = landingpad { ptr, i32 }
          cleanup
  %831 = extractvalue { ptr, i32 } %830, 0
  store ptr %831, ptr %26, align 8
  %832 = extractvalue { ptr, i32 } %830, 1
  store i32 %832, ptr %27, align 4
  br label %2780

833:                                              ; preds = %776
  %834 = landingpad { ptr, i32 }
          cleanup
  %835 = extractvalue { ptr, i32 } %834, 0
  store ptr %835, ptr %26, align 8
  %836 = extractvalue { ptr, i32 } %834, 1
  store i32 %836, ptr %27, align 4
  br label %2779

837:                                              ; preds = %1013, %971, %969, %967, %816, %814, %812, %810, %806, %804, %802, %798, %796, %794, %790, %788, %786, %782, %780, %778
  %838 = landingpad { ptr, i32 }
          cleanup
  %839 = extractvalue { ptr, i32 } %838, 0
  store ptr %839, ptr %26, align 8
  %840 = extractvalue { ptr, i32 } %838, 1
  store i32 %840, ptr %27, align 4
  br label %2778

841:                                              ; preds = %824
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #13
  store i32 0, ptr %65, align 4, !tbaa !9
  br label %842

842:                                              ; preds = %960, %841
  %843 = load i32, ptr %65, align 4, !tbaa !9
  %844 = load i32, ptr %5, align 4, !tbaa !9
  %845 = icmp slt i32 %843, %844
  br i1 %845, label %847, label %846

846:                                              ; preds = %842
  store i32 23, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #13
  br label %963

847:                                              ; preds = %842
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #13
  %848 = load ptr, ptr %47, align 8, !tbaa !16
  %849 = load i32, ptr %64, align 4, !tbaa !9
  %850 = load i32, ptr %5, align 4, !tbaa !9
  %851 = mul nsw i32 %849, %850
  %852 = load i32, ptr %65, align 4, !tbaa !9
  %853 = add nsw i32 %851, %852
  %854 = sext i32 %853 to i64
  %855 = getelementptr inbounds float, ptr %848, i64 %854
  %856 = load float, ptr %855, align 4, !tbaa !14
  %857 = load ptr, ptr %48, align 8, !tbaa !16
  %858 = load i32, ptr %64, align 4, !tbaa !9
  %859 = load i32, ptr %5, align 4, !tbaa !9
  %860 = mul nsw i32 %858, %859
  %861 = load i32, ptr %65, align 4, !tbaa !9
  %862 = add nsw i32 %860, %861
  %863 = sext i32 %862 to i64
  %864 = getelementptr inbounds float, ptr %857, i64 %863
  %865 = load float, ptr %864, align 4, !tbaa !14
  %866 = fsub float %856, %865
  %867 = invoke noundef float @_ZSt4fabsf(float noundef %866)
          to label %868 unwind label %955

868:                                              ; preds = %847
  store float %867, ptr %66, align 4, !tbaa !14
  %869 = load float, ptr %66, align 4, !tbaa !14
  %870 = load float, ptr %23, align 4, !tbaa !14
  %871 = fcmp ogt float %869, %870
  br i1 %871, label %872, label %959

872:                                              ; preds = %868
  %873 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %874 unwind label %955

874:                                              ; preds = %872
  %875 = load i32, ptr %64, align 4, !tbaa !9
  %876 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %873, i32 noundef %875)
          to label %877 unwind label %955

877:                                              ; preds = %874
  %878 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %876, ptr noundef @.str.28)
          to label %879 unwind label %955

879:                                              ; preds = %877
  %880 = load i32, ptr %65, align 4, !tbaa !9
  %881 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %878, i32 noundef %880)
          to label %882 unwind label %955

882:                                              ; preds = %879
  %883 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %881, ptr noundef @.str.29)
          to label %884 unwind label %955

884:                                              ; preds = %882
  %885 = load ptr, ptr %48, align 8, !tbaa !16
  %886 = load i32, ptr %64, align 4, !tbaa !9
  %887 = load i32, ptr %5, align 4, !tbaa !9
  %888 = mul nsw i32 %886, %887
  %889 = load i32, ptr %65, align 4, !tbaa !9
  %890 = add nsw i32 %888, %889
  %891 = sext i32 %890 to i64
  %892 = getelementptr inbounds float, ptr %885, i64 %891
  %893 = load float, ptr %892, align 4, !tbaa !14
  %894 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %883, float noundef %893)
          to label %895 unwind label %955

895:                                              ; preds = %884
  %896 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %894, ptr noundef @.str.30)
          to label %897 unwind label %955

897:                                              ; preds = %895
  %898 = load ptr, ptr %47, align 8, !tbaa !16
  %899 = load i32, ptr %64, align 4, !tbaa !9
  %900 = load i32, ptr %5, align 4, !tbaa !9
  %901 = mul nsw i32 %899, %900
  %902 = load i32, ptr %65, align 4, !tbaa !9
  %903 = add nsw i32 %901, %902
  %904 = sext i32 %903 to i64
  %905 = getelementptr inbounds float, ptr %898, i64 %904
  %906 = load float, ptr %905, align 4, !tbaa !14
  %907 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %896, float noundef %906)
          to label %908 unwind label %955

908:                                              ; preds = %897
  %909 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %907, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %910 unwind label %955

910:                                              ; preds = %908
  %911 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.31)
          to label %912 unwind label %955

912:                                              ; preds = %910
  %913 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %911, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %914 unwind label %955

914:                                              ; preds = %912
  %915 = load ptr, ptr %36, align 8, !tbaa !16
  %916 = icmp eq ptr %915, null
  br i1 %916, label %918, label %917

917:                                              ; preds = %914
  call void @_ZdaPv(ptr noundef %915) #15
  br label %918

918:                                              ; preds = %917, %914
  %919 = load ptr, ptr %44, align 8, !tbaa !16
  %920 = icmp eq ptr %919, null
  br i1 %920, label %922, label %921

921:                                              ; preds = %918
  call void @_ZdaPv(ptr noundef %919) #15
  br label %922

922:                                              ; preds = %921, %918
  %923 = load ptr, ptr %28, align 8, !tbaa !16
  %924 = icmp eq ptr %923, null
  br i1 %924, label %926, label %925

925:                                              ; preds = %922
  call void @_ZdaPv(ptr noundef %923) #15
  br label %926

926:                                              ; preds = %925, %922
  %927 = load ptr, ptr %43, align 8, !tbaa !16
  %928 = icmp eq ptr %927, null
  br i1 %928, label %930, label %929

929:                                              ; preds = %926
  call void @_ZdaPv(ptr noundef %927) #15
  br label %930

930:                                              ; preds = %929, %926
  %931 = load ptr, ptr %39, align 8, !tbaa !16
  %932 = icmp eq ptr %931, null
  br i1 %932, label %934, label %933

933:                                              ; preds = %930
  call void @_ZdaPv(ptr noundef %931) #15
  br label %934

934:                                              ; preds = %933, %930
  %935 = load ptr, ptr %40, align 8, !tbaa !16
  %936 = icmp eq ptr %935, null
  br i1 %936, label %938, label %937

937:                                              ; preds = %934
  call void @_ZdaPv(ptr noundef %935) #15
  br label %938

938:                                              ; preds = %937, %934
  %939 = load ptr, ptr %42, align 8, !tbaa !16
  %940 = icmp eq ptr %939, null
  br i1 %940, label %942, label %941

941:                                              ; preds = %938
  call void @_ZdaPv(ptr noundef %939) #15
  br label %942

942:                                              ; preds = %941, %938
  %943 = load ptr, ptr %47, align 8, !tbaa !16
  %944 = icmp eq ptr %943, null
  br i1 %944, label %946, label %945

945:                                              ; preds = %942
  call void @_ZdaPv(ptr noundef %943) #15
  br label %946

946:                                              ; preds = %945, %942
  %947 = load ptr, ptr %48, align 8, !tbaa !16
  %948 = icmp eq ptr %947, null
  br i1 %948, label %950, label %949

949:                                              ; preds = %946
  call void @_ZdaPv(ptr noundef %947) #15
  br label %950

950:                                              ; preds = %949, %946
  %951 = load ptr, ptr %55, align 8, !tbaa !16
  %952 = icmp eq ptr %951, null
  br i1 %952, label %954, label %953

953:                                              ; preds = %950
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %951) #13
  call void @_ZdlPvm(ptr noundef %951, i64 noundef 320) #15
  br label %954

954:                                              ; preds = %953, %950
  br label %959

955:                                              ; preds = %912, %910, %908, %897, %895, %884, %882, %879, %877, %874, %872, %847
  %956 = landingpad { ptr, i32 }
          cleanup
  %957 = extractvalue { ptr, i32 } %956, 0
  store ptr %957, ptr %26, align 8
  %958 = extractvalue { ptr, i32 } %956, 1
  store i32 %958, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #13
  br label %2778

959:                                              ; preds = %954, %868
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #13
  br label %960

960:                                              ; preds = %959
  %961 = load i32, ptr %65, align 4, !tbaa !9
  %962 = add nsw i32 %961, 1
  store i32 %962, ptr %65, align 4, !tbaa !9
  br label %842, !llvm.loop !72

963:                                              ; preds = %846
  br label %964

964:                                              ; preds = %963
  %965 = load i32, ptr %64, align 4, !tbaa !9
  %966 = add nsw i32 %965, 1
  store i32 %966, ptr %64, align 4, !tbaa !9
  br label %824, !llvm.loop !73

967:                                              ; preds = %828
  %968 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.32)
          to label %969 unwind label %837

969:                                              ; preds = %967
  %970 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %968, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %971 unwind label %837

971:                                              ; preds = %969
  %972 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %970, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %973 unwind label %837

973:                                              ; preds = %971
  %974 = load ptr, ptr %28, align 8, !tbaa !16
  %975 = icmp eq ptr %974, null
  br i1 %975, label %977, label %976

976:                                              ; preds = %973
  call void @_ZdaPv(ptr noundef %974) #15
  br label %977

977:                                              ; preds = %976, %973
  %978 = load ptr, ptr %43, align 8, !tbaa !16
  %979 = icmp eq ptr %978, null
  br i1 %979, label %981, label %980

980:                                              ; preds = %977
  call void @_ZdaPv(ptr noundef %978) #15
  br label %981

981:                                              ; preds = %980, %977
  %982 = load ptr, ptr %36, align 8, !tbaa !16
  %983 = icmp eq ptr %982, null
  br i1 %983, label %985, label %984

984:                                              ; preds = %981
  call void @_ZdaPv(ptr noundef %982) #15
  br label %985

985:                                              ; preds = %984, %981
  %986 = load ptr, ptr %44, align 8, !tbaa !16
  %987 = icmp eq ptr %986, null
  br i1 %987, label %989, label %988

988:                                              ; preds = %985
  call void @_ZdaPv(ptr noundef %986) #15
  br label %989

989:                                              ; preds = %988, %985
  %990 = load ptr, ptr %39, align 8, !tbaa !16
  %991 = icmp eq ptr %990, null
  br i1 %991, label %993, label %992

992:                                              ; preds = %989
  call void @_ZdaPv(ptr noundef %990) #15
  br label %993

993:                                              ; preds = %992, %989
  %994 = load ptr, ptr %40, align 8, !tbaa !16
  %995 = icmp eq ptr %994, null
  br i1 %995, label %997, label %996

996:                                              ; preds = %993
  call void @_ZdaPv(ptr noundef %994) #15
  br label %997

997:                                              ; preds = %996, %993
  %998 = load ptr, ptr %42, align 8, !tbaa !16
  %999 = icmp eq ptr %998, null
  br i1 %999, label %1001, label %1000

1000:                                             ; preds = %997
  call void @_ZdaPv(ptr noundef %998) #15
  br label %1001

1001:                                             ; preds = %1000, %997
  %1002 = load ptr, ptr %47, align 8, !tbaa !16
  %1003 = icmp eq ptr %1002, null
  br i1 %1003, label %1005, label %1004

1004:                                             ; preds = %1001
  call void @_ZdaPv(ptr noundef %1002) #15
  br label %1005

1005:                                             ; preds = %1004, %1001
  %1006 = load ptr, ptr %48, align 8, !tbaa !16
  %1007 = icmp eq ptr %1006, null
  br i1 %1007, label %1009, label %1008

1008:                                             ; preds = %1005
  call void @_ZdaPv(ptr noundef %1006) #15
  br label %1009

1009:                                             ; preds = %1008, %1005
  %1010 = load ptr, ptr %55, align 8, !tbaa !16
  %1011 = icmp eq ptr %1010, null
  br i1 %1011, label %1013, label %1012

1012:                                             ; preds = %1009
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %1010) #13
  call void @_ZdlPvm(ptr noundef %1010, i64 noundef 320) #15
  br label %1013

1013:                                             ; preds = %1012, %1009
  %1014 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.33)
          to label %1015 unwind label %837

1015:                                             ; preds = %1013
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #13
  %1016 = load i32, ptr %4, align 4, !tbaa !9
  %1017 = load i32, ptr %5, align 4, !tbaa !9
  %1018 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %1016, i32 noundef %1017, float noundef 0.000000e+00)
          to label %1019 unwind label %1037

1019:                                             ; preds = %1015
  store ptr %1018, ptr %67, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #13
  %1020 = load i32, ptr %4, align 4, !tbaa !9
  %1021 = load i32, ptr %5, align 4, !tbaa !9
  %1022 = mul nsw i32 %1020, %1021
  %1023 = sext i32 %1022 to i64
  %1024 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1023, i64 4)
  %1025 = extractvalue { i64, i1 } %1024, 1
  %1026 = extractvalue { i64, i1 } %1024, 0
  %1027 = select i1 %1025, i64 -1, i64 %1026
  %1028 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1027) #14
          to label %1029 unwind label %1041

1029:                                             ; preds = %1019
  store ptr %1028, ptr %68, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #13
  store i32 0, ptr %69, align 4, !tbaa !9
  br label %1030

1030:                                             ; preds = %1055, %1029
  %1031 = load i32, ptr %69, align 4, !tbaa !9
  %1032 = load i32, ptr %4, align 4, !tbaa !9
  %1033 = load i32, ptr %5, align 4, !tbaa !9
  %1034 = mul nsw i32 %1032, %1033
  %1035 = icmp slt i32 %1031, %1034
  br i1 %1035, label %1045, label %1036

1036:                                             ; preds = %1030
  store i32 26, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #13
  br label %1058

1037:                                             ; preds = %1015
  %1038 = landingpad { ptr, i32 }
          cleanup
  %1039 = extractvalue { ptr, i32 } %1038, 0
  store ptr %1039, ptr %26, align 8
  %1040 = extractvalue { ptr, i32 } %1038, 1
  store i32 %1040, ptr %27, align 4
  br label %2777

1041:                                             ; preds = %1019
  %1042 = landingpad { ptr, i32 }
          cleanup
  %1043 = extractvalue { ptr, i32 } %1042, 0
  store ptr %1043, ptr %26, align 8
  %1044 = extractvalue { ptr, i32 } %1042, 1
  store i32 %1044, ptr %27, align 4
  br label %2776

1045:                                             ; preds = %1030
  %1046 = load ptr, ptr %67, align 8, !tbaa !16
  %1047 = load i32, ptr %69, align 4, !tbaa !9
  %1048 = sext i32 %1047 to i64
  %1049 = getelementptr inbounds float, ptr %1046, i64 %1048
  %1050 = load float, ptr %1049, align 4, !tbaa !14
  %1051 = load ptr, ptr %68, align 8, !tbaa !16
  %1052 = load i32, ptr %69, align 4, !tbaa !9
  %1053 = sext i32 %1052 to i64
  %1054 = getelementptr inbounds float, ptr %1051, i64 %1053
  store float %1050, ptr %1054, align 4, !tbaa !14
  br label %1055

1055:                                             ; preds = %1045
  %1056 = load i32, ptr %69, align 4, !tbaa !9
  %1057 = add nsw i32 %1056, 1
  store i32 %1057, ptr %69, align 4, !tbaa !9
  br label %1030, !llvm.loop !74

1058:                                             ; preds = %1036
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #13
  %1059 = load i32, ptr %5, align 4, !tbaa !9
  %1060 = load i32, ptr %6, align 4, !tbaa !9
  %1061 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %1059, i32 noundef %1060, float noundef 0.000000e+00)
          to label %1062 unwind label %1080

1062:                                             ; preds = %1058
  store ptr %1061, ptr %70, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #13
  %1063 = load i32, ptr %5, align 4, !tbaa !9
  %1064 = load i32, ptr %6, align 4, !tbaa !9
  %1065 = mul nsw i32 %1063, %1064
  %1066 = sext i32 %1065 to i64
  %1067 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1066, i64 4)
  %1068 = extractvalue { i64, i1 } %1067, 1
  %1069 = extractvalue { i64, i1 } %1067, 0
  %1070 = select i1 %1068, i64 -1, i64 %1069
  %1071 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1070) #14
          to label %1072 unwind label %1084

1072:                                             ; preds = %1062
  store ptr %1071, ptr %71, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #13
  store i32 0, ptr %72, align 4, !tbaa !9
  br label %1073

1073:                                             ; preds = %1098, %1072
  %1074 = load i32, ptr %72, align 4, !tbaa !9
  %1075 = load i32, ptr %5, align 4, !tbaa !9
  %1076 = load i32, ptr %6, align 4, !tbaa !9
  %1077 = mul nsw i32 %1075, %1076
  %1078 = icmp slt i32 %1074, %1077
  br i1 %1078, label %1088, label %1079

1079:                                             ; preds = %1073
  store i32 29, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #13
  br label %1101

1080:                                             ; preds = %1058
  %1081 = landingpad { ptr, i32 }
          cleanup
  %1082 = extractvalue { ptr, i32 } %1081, 0
  store ptr %1082, ptr %26, align 8
  %1083 = extractvalue { ptr, i32 } %1081, 1
  store i32 %1083, ptr %27, align 4
  br label %2775

1084:                                             ; preds = %1062
  %1085 = landingpad { ptr, i32 }
          cleanup
  %1086 = extractvalue { ptr, i32 } %1085, 0
  store ptr %1086, ptr %26, align 8
  %1087 = extractvalue { ptr, i32 } %1085, 1
  store i32 %1087, ptr %27, align 4
  br label %2774

1088:                                             ; preds = %1073
  %1089 = load ptr, ptr %70, align 8, !tbaa !16
  %1090 = load i32, ptr %72, align 4, !tbaa !9
  %1091 = sext i32 %1090 to i64
  %1092 = getelementptr inbounds float, ptr %1089, i64 %1091
  %1093 = load float, ptr %1092, align 4, !tbaa !14
  %1094 = load ptr, ptr %71, align 8, !tbaa !16
  %1095 = load i32, ptr %72, align 4, !tbaa !9
  %1096 = sext i32 %1095 to i64
  %1097 = getelementptr inbounds float, ptr %1094, i64 %1096
  store float %1093, ptr %1097, align 4, !tbaa !14
  br label %1098

1098:                                             ; preds = %1088
  %1099 = load i32, ptr %72, align 4, !tbaa !9
  %1100 = add nsw i32 %1099, 1
  store i32 %1100, ptr %72, align 4, !tbaa !9
  br label %1073, !llvm.loop !75

1101:                                             ; preds = %1079
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #13
  %1102 = load i32, ptr %4, align 4, !tbaa !9
  %1103 = load i32, ptr %6, align 4, !tbaa !9
  %1104 = mul nsw i32 %1102, %1103
  %1105 = sext i32 %1104 to i64
  %1106 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1105, i64 4)
  %1107 = extractvalue { i64, i1 } %1106, 1
  %1108 = extractvalue { i64, i1 } %1106, 0
  %1109 = select i1 %1107, i64 -1, i64 %1108
  %1110 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1109) #14
          to label %1111 unwind label %1154

1111:                                             ; preds = %1101
  store ptr %1110, ptr %73, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #13
  %1112 = load i32, ptr %4, align 4, !tbaa !9
  %1113 = load i32, ptr %6, align 4, !tbaa !9
  %1114 = mul nsw i32 %1112, %1113
  %1115 = sext i32 %1114 to i64
  %1116 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1115, i64 4)
  %1117 = extractvalue { i64, i1 } %1116, 1
  %1118 = extractvalue { i64, i1 } %1116, 0
  %1119 = select i1 %1117, i64 -1, i64 %1118
  %1120 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1119) #14
          to label %1121 unwind label %1158

1121:                                             ; preds = %1111
  store ptr %1120, ptr %74, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #13
  %1122 = load i32, ptr %4, align 4, !tbaa !9
  %1123 = load i32, ptr %6, align 4, !tbaa !9
  %1124 = mul nsw i32 %1122, %1123
  %1125 = sext i32 %1124 to i64
  %1126 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1125, i64 4)
  %1127 = extractvalue { i64, i1 } %1126, 1
  %1128 = extractvalue { i64, i1 } %1126, 0
  %1129 = select i1 %1127, i64 -1, i64 %1128
  %1130 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1129) #14
          to label %1131 unwind label %1162

1131:                                             ; preds = %1121
  store ptr %1130, ptr %75, align 8, !tbaa !16
  %1132 = load i32, ptr %16, align 4, !tbaa !9
  %1133 = getelementptr inbounds %class.Config, ptr %50, i32 0, i32 3
  %1134 = getelementptr inbounds %class.MSNetworkConfig, ptr %1133, i32 0, i32 1
  store i32 %1132, ptr %1134, align 4, !tbaa !24
  %1135 = load i32, ptr %16, align 4, !tbaa !9
  %1136 = getelementptr inbounds %class.Config, ptr %50, i32 0, i32 8
  %1137 = getelementptr inbounds %class.SDMemoryConfig, ptr %1136, i32 0, i32 2
  store i32 %1135, ptr %1137, align 4, !tbaa !38
  %1138 = load i32, ptr %16, align 4, !tbaa !9
  %1139 = getelementptr inbounds %class.Config, ptr %50, i32 0, i32 8
  %1140 = getelementptr inbounds %class.SDMemoryConfig, ptr %1139, i32 0, i32 3
  store i32 %1138, ptr %1140, align 4, !tbaa !39
  %1141 = getelementptr inbounds %class.Config, ptr %50, i32 0, i32 5
  %1142 = getelementptr inbounds %class.ASNetworkConfig, ptr %1141, i32 0, i32 1
  store i32 1, ptr %1142, align 4, !tbaa !40
  %1143 = getelementptr inbounds %class.Config, ptr %50, i32 0, i32 8
  %1144 = getelementptr inbounds %class.SDMemoryConfig, ptr %1143, i32 0, i32 0
  store i32 0, ptr %1144, align 4, !tbaa !41
  %1145 = getelementptr inbounds %class.Config, ptr %50, i32 0, i32 0
  store i32 0, ptr %1145, align 4, !tbaa !42
  %1146 = load i32, ptr %12, align 4, !tbaa !9
  %1147 = icmp sgt i32 %1146, 1
  br i1 %1147, label %1148, label %1175

1148:                                             ; preds = %1131
  call void @llvm.lifetime.start.p0(i64 1, ptr %77) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %77)
          to label %1149 unwind label %1166

1149:                                             ; preds = %1148
  %1150 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %76)
          to label %1151 unwind label %1170

1151:                                             ; preds = %1149
  %1152 = getelementptr inbounds %class.Config, ptr %50, i32 0, i32 5
  %1153 = getelementptr inbounds %class.ASNetworkConfig, ptr %1152, i32 0, i32 0
  store i32 %1150, ptr %1153, align 4, !tbaa !43
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #13
  br label %1190

1154:                                             ; preds = %1101
  %1155 = landingpad { ptr, i32 }
          cleanup
  %1156 = extractvalue { ptr, i32 } %1155, 0
  store ptr %1156, ptr %26, align 8
  %1157 = extractvalue { ptr, i32 } %1155, 1
  store i32 %1157, ptr %27, align 4
  br label %2773

1158:                                             ; preds = %1111
  %1159 = landingpad { ptr, i32 }
          cleanup
  %1160 = extractvalue { ptr, i32 } %1159, 0
  store ptr %1160, ptr %26, align 8
  %1161 = extractvalue { ptr, i32 } %1159, 1
  store i32 %1161, ptr %27, align 4
  br label %2772

1162:                                             ; preds = %1121
  %1163 = landingpad { ptr, i32 }
          cleanup
  %1164 = extractvalue { ptr, i32 } %1163, 0
  store ptr %1164, ptr %26, align 8
  %1165 = extractvalue { ptr, i32 } %1163, 1
  store i32 %1165, ptr %27, align 4
  br label %2771

1166:                                             ; preds = %1148
  %1167 = landingpad { ptr, i32 }
          cleanup
  %1168 = extractvalue { ptr, i32 } %1167, 0
  store ptr %1168, ptr %26, align 8
  %1169 = extractvalue { ptr, i32 } %1167, 1
  store i32 %1169, ptr %27, align 4
  br label %1174

1170:                                             ; preds = %1149
  %1171 = landingpad { ptr, i32 }
          cleanup
  %1172 = extractvalue { ptr, i32 } %1171, 0
  store ptr %1172, ptr %26, align 8
  %1173 = extractvalue { ptr, i32 } %1171, 1
  store i32 %1173, ptr %27, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #13
  br label %1174

1174:                                             ; preds = %1170, %1166
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #13
  br label %2771

1175:                                             ; preds = %1131
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %1176 unwind label %1181

1176:                                             ; preds = %1175
  %1177 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %78)
          to label %1178 unwind label %1185

1178:                                             ; preds = %1176
  %1179 = getelementptr inbounds %class.Config, ptr %50, i32 0, i32 5
  %1180 = getelementptr inbounds %class.ASNetworkConfig, ptr %1179, i32 0, i32 0
  store i32 %1177, ptr %1180, align 4, !tbaa !43
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #13
  br label %1190

1181:                                             ; preds = %1175
  %1182 = landingpad { ptr, i32 }
          cleanup
  %1183 = extractvalue { ptr, i32 } %1182, 0
  store ptr %1183, ptr %26, align 8
  %1184 = extractvalue { ptr, i32 } %1182, 1
  store i32 %1184, ptr %27, align 4
  br label %1189

1185:                                             ; preds = %1176
  %1186 = landingpad { ptr, i32 }
          cleanup
  %1187 = extractvalue { ptr, i32 } %1186, 0
  store ptr %1187, ptr %26, align 8
  %1188 = extractvalue { ptr, i32 } %1186, 1
  store i32 %1188, ptr %27, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #13
  br label %1189

1189:                                             ; preds = %1185, %1181
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #13
  br label %2771

1190:                                             ; preds = %1178, %1151
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #13
  %1191 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 320) #14
          to label %1192 unwind label %1230

1192:                                             ; preds = %1190
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %81, ptr align 4 %50, i64 160, i1 false), !tbaa.struct !44
  invoke void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316) %1191, ptr noundef byval(%class.Config) align 8 %81)
          to label %1193 unwind label %1234

1193:                                             ; preds = %1192
  store ptr %1191, ptr %80, align 8, !tbaa !16
  %1194 = load ptr, ptr %80, align 8, !tbaa !16
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %1195 unwind label %1230

1195:                                             ; preds = %1193
  %1196 = load i32, ptr %6, align 4, !tbaa !9
  %1197 = load i32, ptr %5, align 4, !tbaa !9
  %1198 = load i32, ptr %4, align 4, !tbaa !9
  %1199 = load ptr, ptr %68, align 8, !tbaa !16
  %1200 = load ptr, ptr %71, align 8, !tbaa !16
  %1201 = load ptr, ptr %75, align 8, !tbaa !16
  invoke void @_ZN6Stonne13loadDenseGEMMENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_S6_8Dataflow(ptr noundef nonnull align 8 dereferenceable(316) %1194, ptr noundef %82, i32 noundef %1196, i32 noundef %1197, i32 noundef %1198, ptr noundef %1199, ptr noundef %1200, ptr noundef %1201, i32 noundef 0)
          to label %1202 unwind label %1238

1202:                                             ; preds = %1195
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #13
  %1203 = load ptr, ptr %80, align 8, !tbaa !16
  %1204 = load ptr, ptr %73, align 8, !tbaa !16
  invoke void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316) %1203, ptr noundef %1204)
          to label %1205 unwind label %1230

1205:                                             ; preds = %1202
  %1206 = load ptr, ptr %80, align 8, !tbaa !16
  %1207 = load i32, ptr %11, align 4, !tbaa !9
  %1208 = load i32, ptr %12, align 4, !tbaa !9
  %1209 = load i32, ptr %10, align 4, !tbaa !9
  invoke void @_ZN6Stonne12loadGEMMTileEjjj(ptr noundef nonnull align 8 dereferenceable(316) %1206, i32 noundef %1207, i32 noundef %1208, i32 noundef %1209)
          to label %1210 unwind label %1230

1210:                                             ; preds = %1205
  %1211 = load ptr, ptr %80, align 8, !tbaa !16
  invoke void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316) %1211)
          to label %1212 unwind label %1230

1212:                                             ; preds = %1210
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #13
  %1213 = load i32, ptr %4, align 4, !tbaa !9
  %1214 = load i32, ptr %6, align 4, !tbaa !9
  %1215 = mul nsw i32 %1213, %1214
  %1216 = sext i32 %1215 to i64
  %1217 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1216, i64 4)
  %1218 = extractvalue { i64, i1 } %1217, 1
  %1219 = extractvalue { i64, i1 } %1217, 0
  %1220 = select i1 %1218, i64 -1, i64 %1219
  %1221 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1220) #14
          to label %1222 unwind label %1242

1222:                                             ; preds = %1212
  store ptr %1221, ptr %83, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #13
  store i32 0, ptr %84, align 4, !tbaa !9
  br label %1223

1223:                                             ; preds = %1256, %1222
  %1224 = load i32, ptr %84, align 4, !tbaa !9
  %1225 = load i32, ptr %4, align 4, !tbaa !9
  %1226 = load i32, ptr %6, align 4, !tbaa !9
  %1227 = mul nsw i32 %1225, %1226
  %1228 = icmp slt i32 %1224, %1227
  br i1 %1228, label %1246, label %1229

1229:                                             ; preds = %1223
  store i32 32, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #13
  br label %1259

1230:                                             ; preds = %1210, %1205, %1202, %1193, %1190
  %1231 = landingpad { ptr, i32 }
          cleanup
  %1232 = extractvalue { ptr, i32 } %1231, 0
  store ptr %1232, ptr %26, align 8
  %1233 = extractvalue { ptr, i32 } %1231, 1
  store i32 %1233, ptr %27, align 4
  br label %2770

1234:                                             ; preds = %1192
  %1235 = landingpad { ptr, i32 }
          cleanup
  %1236 = extractvalue { ptr, i32 } %1235, 0
  store ptr %1236, ptr %26, align 8
  %1237 = extractvalue { ptr, i32 } %1235, 1
  store i32 %1237, ptr %27, align 4
  call void @_ZdlPvm(ptr noundef %1191, i64 noundef 320) #15
  br label %2770

1238:                                             ; preds = %1195
  %1239 = landingpad { ptr, i32 }
          cleanup
  %1240 = extractvalue { ptr, i32 } %1239, 0
  store ptr %1240, ptr %26, align 8
  %1241 = extractvalue { ptr, i32 } %1239, 1
  store i32 %1241, ptr %27, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #13
  br label %2770

1242:                                             ; preds = %1212
  %1243 = landingpad { ptr, i32 }
          cleanup
  %1244 = extractvalue { ptr, i32 } %1243, 0
  store ptr %1244, ptr %26, align 8
  %1245 = extractvalue { ptr, i32 } %1243, 1
  store i32 %1245, ptr %27, align 4
  br label %2769

1246:                                             ; preds = %1223
  %1247 = load ptr, ptr %73, align 8, !tbaa !16
  %1248 = load i32, ptr %84, align 4, !tbaa !9
  %1249 = sext i32 %1248 to i64
  %1250 = getelementptr inbounds i32, ptr %1247, i64 %1249
  %1251 = load i32, ptr %1250, align 4, !tbaa !9
  %1252 = load ptr, ptr %83, align 8, !tbaa !16
  %1253 = load i32, ptr %84, align 4, !tbaa !9
  %1254 = sext i32 %1253 to i64
  %1255 = getelementptr inbounds i32, ptr %1252, i64 %1254
  store i32 %1251, ptr %1255, align 4, !tbaa !9
  br label %1256

1256:                                             ; preds = %1246
  %1257 = load i32, ptr %84, align 4, !tbaa !9
  %1258 = add nsw i32 %1257, 1
  store i32 %1258, ptr %84, align 4, !tbaa !9
  br label %1223, !llvm.loop !76

1259:                                             ; preds = %1229
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #13
  store i32 0, ptr %85, align 4, !tbaa !9
  br label %1260

1260:                                             ; preds = %1293, %1259
  %1261 = load i32, ptr %85, align 4, !tbaa !9
  %1262 = load i32, ptr %4, align 4, !tbaa !9
  %1263 = icmp slt i32 %1261, %1262
  br i1 %1263, label %1265, label %1264

1264:                                             ; preds = %1260
  store i32 35, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #13
  br label %1296

1265:                                             ; preds = %1260
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #13
  store i32 0, ptr %86, align 4, !tbaa !9
  br label %1266

1266:                                             ; preds = %1289, %1265
  %1267 = load i32, ptr %86, align 4, !tbaa !9
  %1268 = load i32, ptr %6, align 4, !tbaa !9
  %1269 = icmp slt i32 %1267, %1268
  br i1 %1269, label %1271, label %1270

1270:                                             ; preds = %1266
  store i32 38, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #13
  br label %1292

1271:                                             ; preds = %1266
  %1272 = load ptr, ptr %83, align 8, !tbaa !16
  %1273 = load i32, ptr %86, align 4, !tbaa !9
  %1274 = load i32, ptr %4, align 4, !tbaa !9
  %1275 = mul nsw i32 %1273, %1274
  %1276 = load i32, ptr %85, align 4, !tbaa !9
  %1277 = add nsw i32 %1275, %1276
  %1278 = sext i32 %1277 to i64
  %1279 = getelementptr inbounds i32, ptr %1272, i64 %1278
  %1280 = load i32, ptr %1279, align 4, !tbaa !9
  %1281 = load ptr, ptr %73, align 8, !tbaa !16
  %1282 = load i32, ptr %85, align 4, !tbaa !9
  %1283 = load i32, ptr %6, align 4, !tbaa !9
  %1284 = mul nsw i32 %1282, %1283
  %1285 = load i32, ptr %86, align 4, !tbaa !9
  %1286 = add nsw i32 %1284, %1285
  %1287 = sext i32 %1286 to i64
  %1288 = getelementptr inbounds i32, ptr %1281, i64 %1287
  store i32 %1280, ptr %1288, align 4, !tbaa !9
  br label %1289

1289:                                             ; preds = %1271
  %1290 = load i32, ptr %86, align 4, !tbaa !9
  %1291 = add nsw i32 %1290, 1
  store i32 %1291, ptr %86, align 4, !tbaa !9
  br label %1266, !llvm.loop !77

1292:                                             ; preds = %1270
  br label %1293

1293:                                             ; preds = %1292
  %1294 = load i32, ptr %85, align 4, !tbaa !9
  %1295 = add nsw i32 %1294, 1
  store i32 %1295, ptr %85, align 4, !tbaa !9
  br label %1260, !llvm.loop !78

1296:                                             ; preds = %1264
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #13
  %1297 = load ptr, ptr %80, align 8, !tbaa !16
  %1298 = invoke noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316) %1297)
          to label %1299 unwind label %1309

1299:                                             ; preds = %1296
  store i32 %1298, ptr %87, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #13
  %1300 = load i32, ptr %6, align 4, !tbaa !9
  %1301 = sub nsw i32 %1300, 1
  store i32 %1301, ptr %88, align 4, !tbaa !9
  br label %1302

1302:                                             ; preds = %1323, %1299
  %1303 = load i32, ptr %88, align 4, !tbaa !9
  %1304 = load i32, ptr %4, align 4, !tbaa !9
  %1305 = load i32, ptr %6, align 4, !tbaa !9
  %1306 = mul nsw i32 %1304, %1305
  %1307 = icmp slt i32 %1303, %1306
  br i1 %1307, label %1313, label %1308

1308:                                             ; preds = %1302
  store i32 41, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #13
  br label %1331

1309:                                             ; preds = %1430, %1428, %1426, %1335, %1333, %1331, %1296
  %1310 = landingpad { ptr, i32 }
          cleanup
  %1311 = extractvalue { ptr, i32 } %1310, 0
  store ptr %1311, ptr %26, align 8
  %1312 = extractvalue { ptr, i32 } %1310, 1
  store i32 %1312, ptr %27, align 4
  br label %2768

1313:                                             ; preds = %1302
  %1314 = load ptr, ptr %73, align 8, !tbaa !16
  %1315 = load i32, ptr %88, align 4, !tbaa !9
  %1316 = sext i32 %1315 to i64
  %1317 = getelementptr inbounds i32, ptr %1314, i64 %1316
  %1318 = load i32, ptr %1317, align 4, !tbaa !9
  %1319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %1318)
          to label %1320 unwind label %1327

1320:                                             ; preds = %1313
  %1321 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1319, ptr noundef @.str.1)
          to label %1322 unwind label %1327

1322:                                             ; preds = %1320
  br label %1323

1323:                                             ; preds = %1322
  %1324 = load i32, ptr %6, align 4, !tbaa !9
  %1325 = load i32, ptr %88, align 4, !tbaa !9
  %1326 = add nsw i32 %1325, %1324
  store i32 %1326, ptr %88, align 4, !tbaa !9
  br label %1302, !llvm.loop !79

1327:                                             ; preds = %1320, %1313
  %1328 = landingpad { ptr, i32 }
          cleanup
  %1329 = extractvalue { ptr, i32 } %1328, 0
  store ptr %1329, ptr %26, align 8
  %1330 = extractvalue { ptr, i32 } %1328, 1
  store i32 %1330, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #13
  br label %2768

1331:                                             ; preds = %1308
  %1332 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.26)
          to label %1333 unwind label %1309

1333:                                             ; preds = %1331
  %1334 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1332, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1335 unwind label %1309

1335:                                             ; preds = %1333
  %1336 = load i32, ptr %5, align 4, !tbaa !9
  %1337 = load i32, ptr %4, align 4, !tbaa !9
  %1338 = load i32, ptr %6, align 4, !tbaa !9
  %1339 = load i32, ptr %5, align 4, !tbaa !9
  %1340 = load ptr, ptr %71, align 8, !tbaa !16
  %1341 = load ptr, ptr %68, align 8, !tbaa !16
  %1342 = load ptr, ptr %74, align 8, !tbaa !16
  invoke void @_Z16sequential_layerjjjjjjjjjPfS_S_(i32 noundef 1, i32 noundef %1336, i32 noundef 1, i32 noundef %1337, i32 noundef 1, i32 noundef 1, i32 noundef %1338, i32 noundef %1339, i32 noundef 1, ptr noundef %1340, ptr noundef %1341, ptr noundef %1342)
          to label %1343 unwind label %1309

1343:                                             ; preds = %1335
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #13
  store i32 0, ptr %89, align 4, !tbaa !9
  br label %1344

1344:                                             ; preds = %1423, %1343
  %1345 = load i32, ptr %89, align 4, !tbaa !9
  %1346 = load i32, ptr %4, align 4, !tbaa !9
  %1347 = load i32, ptr %6, align 4, !tbaa !9
  %1348 = mul nsw i32 %1346, %1347
  %1349 = icmp slt i32 %1345, %1348
  br i1 %1349, label %1351, label %1350

1350:                                             ; preds = %1344
  store i32 44, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #13
  br label %1426

1351:                                             ; preds = %1344
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #13
  %1352 = load ptr, ptr %75, align 8, !tbaa !16
  %1353 = load i32, ptr %89, align 4, !tbaa !9
  %1354 = sext i32 %1353 to i64
  %1355 = getelementptr inbounds float, ptr %1352, i64 %1354
  %1356 = load float, ptr %1355, align 4, !tbaa !14
  %1357 = load ptr, ptr %74, align 8, !tbaa !16
  %1358 = load i32, ptr %89, align 4, !tbaa !9
  %1359 = sext i32 %1358 to i64
  %1360 = getelementptr inbounds float, ptr %1357, i64 %1359
  %1361 = load float, ptr %1360, align 4, !tbaa !14
  %1362 = fsub float %1356, %1361
  %1363 = invoke noundef float @_ZSt4fabsf(float noundef %1362)
          to label %1364 unwind label %1418

1364:                                             ; preds = %1351
  store float %1363, ptr %90, align 4, !tbaa !14
  %1365 = load float, ptr %90, align 4, !tbaa !14
  %1366 = load float, ptr %23, align 4, !tbaa !14
  %1367 = fcmp ogt float %1365, %1366
  br i1 %1367, label %1368, label %1422

1368:                                             ; preds = %1364
  %1369 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.34)
          to label %1370 unwind label %1418

1370:                                             ; preds = %1368
  %1371 = load i32, ptr %89, align 4, !tbaa !9
  %1372 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1369, i32 noundef %1371)
          to label %1373 unwind label %1418

1373:                                             ; preds = %1370
  %1374 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1372, ptr noundef @.str.35)
          to label %1375 unwind label %1418

1375:                                             ; preds = %1373
  %1376 = load ptr, ptr %75, align 8, !tbaa !16
  %1377 = load i32, ptr %89, align 4, !tbaa !9
  %1378 = sext i32 %1377 to i64
  %1379 = getelementptr inbounds float, ptr %1376, i64 %1378
  %1380 = load float, ptr %1379, align 4, !tbaa !14
  %1381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %1374, float noundef %1380)
          to label %1382 unwind label %1418

1382:                                             ; preds = %1375
  %1383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1381, ptr noundef @.str.36)
          to label %1384 unwind label %1418

1384:                                             ; preds = %1382
  %1385 = load ptr, ptr %74, align 8, !tbaa !16
  %1386 = load i32, ptr %89, align 4, !tbaa !9
  %1387 = sext i32 %1386 to i64
  %1388 = getelementptr inbounds float, ptr %1385, i64 %1387
  %1389 = load float, ptr %1388, align 4, !tbaa !14
  %1390 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %1383, float noundef %1389)
          to label %1391 unwind label %1418

1391:                                             ; preds = %1384
  %1392 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1390, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1393 unwind label %1418

1393:                                             ; preds = %1391
  %1394 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.31)
          to label %1395 unwind label %1418

1395:                                             ; preds = %1393
  %1396 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1394, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1397 unwind label %1418

1397:                                             ; preds = %1395
  %1398 = load ptr, ptr %68, align 8, !tbaa !16
  %1399 = icmp eq ptr %1398, null
  br i1 %1399, label %1401, label %1400

1400:                                             ; preds = %1397
  call void @_ZdaPv(ptr noundef %1398) #15
  br label %1401

1401:                                             ; preds = %1400, %1397
  %1402 = load ptr, ptr %71, align 8, !tbaa !16
  %1403 = icmp eq ptr %1402, null
  br i1 %1403, label %1405, label %1404

1404:                                             ; preds = %1401
  call void @_ZdaPv(ptr noundef %1402) #15
  br label %1405

1405:                                             ; preds = %1404, %1401
  %1406 = load ptr, ptr %75, align 8, !tbaa !16
  %1407 = icmp eq ptr %1406, null
  br i1 %1407, label %1409, label %1408

1408:                                             ; preds = %1405
  call void @_ZdaPv(ptr noundef %1406) #15
  br label %1409

1409:                                             ; preds = %1408, %1405
  %1410 = load ptr, ptr %74, align 8, !tbaa !16
  %1411 = icmp eq ptr %1410, null
  br i1 %1411, label %1413, label %1412

1412:                                             ; preds = %1409
  call void @_ZdaPv(ptr noundef %1410) #15
  br label %1413

1413:                                             ; preds = %1412, %1409
  %1414 = load ptr, ptr %55, align 8, !tbaa !16
  %1415 = icmp eq ptr %1414, null
  br i1 %1415, label %1417, label %1416

1416:                                             ; preds = %1413
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %1414) #13
  call void @_ZdlPvm(ptr noundef %1414, i64 noundef 320) #15
  br label %1417

1417:                                             ; preds = %1416, %1413
  call void @__assert_fail(ptr noundef @.str.37, ptr noundef @.str.38, i32 noundef 330, ptr noundef @__PRETTY_FUNCTION__.main) #16
  unreachable

1418:                                             ; preds = %1395, %1393, %1391, %1384, %1382, %1375, %1373, %1370, %1368, %1351
  %1419 = landingpad { ptr, i32 }
          cleanup
  %1420 = extractvalue { ptr, i32 } %1419, 0
  store ptr %1420, ptr %26, align 8
  %1421 = extractvalue { ptr, i32 } %1419, 1
  store i32 %1421, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #13
  br label %2768

1422:                                             ; preds = %1364
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #13
  br label %1423

1423:                                             ; preds = %1422
  %1424 = load i32, ptr %89, align 4, !tbaa !9
  %1425 = add nsw i32 %1424, 1
  store i32 %1425, ptr %89, align 4, !tbaa !9
  br label %1344, !llvm.loop !80

1426:                                             ; preds = %1350
  %1427 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.32)
          to label %1428 unwind label %1309

1428:                                             ; preds = %1426
  %1429 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1427, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1430 unwind label %1309

1430:                                             ; preds = %1428
  %1431 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1429, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1432 unwind label %1309

1432:                                             ; preds = %1430
  call void @llvm.lifetime.start.p0(i64 40, ptr %91) #13
  %1433 = load ptr, ptr %80, align 8, !tbaa !16
  invoke void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind writable sret(%class.MSNetworkStats) align 8 %91, ptr noundef nonnull align 8 dereferenceable(316) %1433)
          to label %1434 unwind label %1492

1434:                                             ; preds = %1432
  %1435 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.10)
          to label %1436 unwind label %1492

1436:                                             ; preds = %1434
  %1437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.11)
          to label %1438 unwind label %1492

1438:                                             ; preds = %1436
  %1439 = getelementptr inbounds %class.MSNetworkStats, ptr %91, i32 0, i32 3
  %1440 = load i32, ptr %1439, align 8, !tbaa !50
  %1441 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1437, i32 noundef %1440)
          to label %1442 unwind label %1492

1442:                                             ; preds = %1438
  %1443 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1441, ptr noundef @.str)
          to label %1444 unwind label %1492

1444:                                             ; preds = %1442
  %1445 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.12)
          to label %1446 unwind label %1492

1446:                                             ; preds = %1444
  %1447 = getelementptr inbounds %class.MSNetworkStats, ptr %91, i32 0, i32 4
  %1448 = load i32, ptr %1447, align 4, !tbaa !53
  %1449 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1445, i32 noundef %1448)
          to label %1450 unwind label %1492

1450:                                             ; preds = %1446
  %1451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1449, ptr noundef @.str)
          to label %1452 unwind label %1492

1452:                                             ; preds = %1450
  %1453 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %1454 unwind label %1492

1454:                                             ; preds = %1452
  %1455 = getelementptr inbounds %class.MSNetworkStats, ptr %91, i32 0, i32 5
  %1456 = load i32, ptr %1455, align 8, !tbaa !54
  %1457 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1453, i32 noundef %1456)
          to label %1458 unwind label %1492

1458:                                             ; preds = %1454
  %1459 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1457, ptr noundef @.str)
          to label %1460 unwind label %1492

1460:                                             ; preds = %1458
  %1461 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.14)
          to label %1462 unwind label %1492

1462:                                             ; preds = %1460
  %1463 = getelementptr inbounds %class.MSNetworkStats, ptr %91, i32 0, i32 6
  %1464 = load i32, ptr %1463, align 4, !tbaa !55
  %1465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1461, i32 noundef %1464)
          to label %1466 unwind label %1492

1466:                                             ; preds = %1462
  %1467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1465, ptr noundef @.str)
          to label %1468 unwind label %1492

1468:                                             ; preds = %1466
  %1469 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.15)
          to label %1470 unwind label %1492

1470:                                             ; preds = %1468
  %1471 = getelementptr inbounds %class.MSNetworkStats, ptr %91, i32 0, i32 7
  %1472 = load i32, ptr %1471, align 8, !tbaa !56
  %1473 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1469, i32 noundef %1472)
          to label %1474 unwind label %1492

1474:                                             ; preds = %1470
  %1475 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1473, ptr noundef @.str)
          to label %1476 unwind label %1492

1476:                                             ; preds = %1474
  %1477 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.16)
          to label %1478 unwind label %1492

1478:                                             ; preds = %1476
  %1479 = getelementptr inbounds %class.MSNetworkStats, ptr %91, i32 0, i32 8
  %1480 = load i32, ptr %1479, align 4, !tbaa !57
  %1481 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1477, i32 noundef %1480)
          to label %1482 unwind label %1492

1482:                                             ; preds = %1478
  %1483 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1481, ptr noundef @.str)
          to label %1484 unwind label %1492

1484:                                             ; preds = %1482
  %1485 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.17)
          to label %1486 unwind label %1492

1486:                                             ; preds = %1484
  %1487 = load i32, ptr %12, align 4, !tbaa !9
  %1488 = icmp eq i32 %1487, 1
  br i1 %1488, label %1489, label %1496

1489:                                             ; preds = %1486
  %1490 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.18)
          to label %1491 unwind label %1492

1491:                                             ; preds = %1489
  br label %1511

1492:                                             ; preds = %1489, %1484, %1482, %1478, %1476, %1474, %1470, %1468, %1466, %1462, %1460, %1458, %1454, %1452, %1450, %1446, %1444, %1442, %1438, %1436, %1434, %1432
  %1493 = landingpad { ptr, i32 }
          cleanup
  %1494 = extractvalue { ptr, i32 } %1493, 0
  store ptr %1494, ptr %26, align 8
  %1495 = extractvalue { ptr, i32 } %1493, 1
  store i32 %1495, ptr %27, align 4
  br label %2767

1496:                                             ; preds = %1486
  call void @llvm.lifetime.start.p0(i64 40, ptr %92) #13
  %1497 = load ptr, ptr %80, align 8, !tbaa !16
  invoke void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind writable sret(%class.ASNetworkStats) align 8 %92, ptr noundef nonnull align 8 dereferenceable(316) %1497)
          to label %1498 unwind label %1507

1498:                                             ; preds = %1496
  %1499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1500 unwind label %1507

1500:                                             ; preds = %1498
  %1501 = getelementptr inbounds %class.ASNetworkStats, ptr %92, i32 0, i32 6
  %1502 = load i32, ptr %1501, align 4, !tbaa !58
  %1503 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1499, i32 noundef %1502)
          to label %1504 unwind label %1507

1504:                                             ; preds = %1500
  %1505 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1503, ptr noundef @.str)
          to label %1506 unwind label %1507

1506:                                             ; preds = %1504
  call void @llvm.lifetime.end.p0(i64 40, ptr %92) #13
  br label %1511

1507:                                             ; preds = %1504, %1500, %1498, %1496
  %1508 = landingpad { ptr, i32 }
          cleanup
  %1509 = extractvalue { ptr, i32 } %1508, 0
  store ptr %1509, ptr %26, align 8
  %1510 = extractvalue { ptr, i32 } %1508, 1
  store i32 %1510, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 40, ptr %92) #13
  br label %2767

1511:                                             ; preds = %1506, %1491
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #13
  %1512 = load ptr, ptr %80, align 8, !tbaa !16
  invoke void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind writable sret(%class.DSNetworkStats) align 8 %93, ptr noundef nonnull align 8 dereferenceable(316) %1512)
          to label %1513 unwind label %1657

1513:                                             ; preds = %1511
  %1514 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.20)
          to label %1515 unwind label %1657

1515:                                             ; preds = %1513
  %1516 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1517 unwind label %1657

1517:                                             ; preds = %1515
  %1518 = getelementptr inbounds %class.DSNetworkStats, ptr %93, i32 0, i32 5
  %1519 = load i32, ptr %1518, align 8, !tbaa !60
  %1520 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1516, i32 noundef %1519)
          to label %1521 unwind label %1657

1521:                                             ; preds = %1517
  %1522 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1520, ptr noundef @.str)
          to label %1523 unwind label %1657

1523:                                             ; preds = %1521
  call void @llvm.lifetime.start.p0(i64 152, ptr %94) #13
  %1524 = load ptr, ptr %80, align 8, !tbaa !16
  invoke void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind writable sret(%class.SDMemoryStats) align 8 %94, ptr noundef nonnull align 8 dereferenceable(316) %1524)
          to label %1525 unwind label %1661

1525:                                             ; preds = %1523
  %1526 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.21)
          to label %1527 unwind label %1665

1527:                                             ; preds = %1525
  %1528 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.22)
          to label %1529 unwind label %1665

1529:                                             ; preds = %1527
  %1530 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 2
  %1531 = load i32, ptr %1530, align 4, !tbaa !62
  %1532 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1528, i32 noundef %1531)
          to label %1533 unwind label %1665

1533:                                             ; preds = %1529
  %1534 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1532, ptr noundef @.str)
          to label %1535 unwind label %1665

1535:                                             ; preds = %1533
  %1536 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.23)
          to label %1537 unwind label %1665

1537:                                             ; preds = %1535
  %1538 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 3
  %1539 = load i32, ptr %1538, align 8, !tbaa !69
  %1540 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1536, i32 noundef %1539)
          to label %1541 unwind label %1665

1541:                                             ; preds = %1537
  %1542 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1540, ptr noundef @.str)
          to label %1543 unwind label %1665

1543:                                             ; preds = %1541
  %1544 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.24)
          to label %1545 unwind label %1665

1545:                                             ; preds = %1543
  %1546 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 4
  %1547 = load i32, ptr %1546, align 4, !tbaa !70
  %1548 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1544, i32 noundef %1547)
          to label %1549 unwind label %1665

1549:                                             ; preds = %1545
  %1550 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1548, ptr noundef @.str)
          to label %1551 unwind label %1665

1551:                                             ; preds = %1549
  %1552 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.25)
          to label %1553 unwind label %1665

1553:                                             ; preds = %1551
  %1554 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 5
  %1555 = load i32, ptr %1554, align 8, !tbaa !71
  %1556 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1552, i32 noundef %1555)
          to label %1557 unwind label %1665

1557:                                             ; preds = %1553
  %1558 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1556, ptr noundef @.str)
          to label %1559 unwind label %1665

1559:                                             ; preds = %1557
  %1560 = load ptr, ptr %68, align 8, !tbaa !16
  %1561 = icmp eq ptr %1560, null
  br i1 %1561, label %1563, label %1562

1562:                                             ; preds = %1559
  call void @_ZdaPv(ptr noundef %1560) #15
  br label %1563

1563:                                             ; preds = %1562, %1559
  %1564 = load ptr, ptr %71, align 8, !tbaa !16
  %1565 = icmp eq ptr %1564, null
  br i1 %1565, label %1567, label %1566

1566:                                             ; preds = %1563
  call void @_ZdaPv(ptr noundef %1564) #15
  br label %1567

1567:                                             ; preds = %1566, %1563
  %1568 = load ptr, ptr %75, align 8, !tbaa !16
  %1569 = icmp eq ptr %1568, null
  br i1 %1569, label %1571, label %1570

1570:                                             ; preds = %1567
  call void @_ZdaPv(ptr noundef %1568) #15
  br label %1571

1571:                                             ; preds = %1570, %1567
  %1572 = load ptr, ptr %74, align 8, !tbaa !16
  %1573 = icmp eq ptr %1572, null
  br i1 %1573, label %1575, label %1574

1574:                                             ; preds = %1571
  call void @_ZdaPv(ptr noundef %1572) #15
  br label %1575

1575:                                             ; preds = %1574, %1571
  %1576 = load ptr, ptr %80, align 8, !tbaa !16
  %1577 = icmp eq ptr %1576, null
  br i1 %1577, label %1579, label %1578

1578:                                             ; preds = %1575
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %1576) #13
  call void @_ZdlPvm(ptr noundef %1576, i64 noundef 320) #15
  br label %1579

1579:                                             ; preds = %1578, %1575
  %1580 = load i32, ptr %7, align 4, !tbaa !9
  %1581 = icmp eq i32 %1580, 1
  br i1 %1581, label %1582, label %1951

1582:                                             ; preds = %1579
  %1583 = load ptr, ptr %46, align 8, !tbaa !16
  %1584 = load i32, ptr %13, align 4, !tbaa !9
  %1585 = load i32, ptr %5, align 4, !tbaa !9
  %1586 = mul nsw i32 %1584, %1585
  %1587 = sub nsw i32 %1586, 1
  %1588 = sext i32 %1587 to i64
  %1589 = getelementptr inbounds i32, ptr %1583, i64 %1588
  %1590 = load i32, ptr %1589, align 4, !tbaa !9
  store i32 %1590, ptr %21, align 4, !tbaa !9
  %1591 = load ptr, ptr %46, align 8, !tbaa !16
  %1592 = load i32, ptr %13, align 4, !tbaa !9
  %1593 = mul nsw i32 2, %1592
  %1594 = load i32, ptr %5, align 4, !tbaa !9
  %1595 = mul nsw i32 %1593, %1594
  %1596 = sub nsw i32 %1595, 1
  %1597 = sext i32 %1596 to i64
  %1598 = getelementptr inbounds i32, ptr %1591, i64 %1597
  %1599 = load i32, ptr %1598, align 4, !tbaa !9
  %1600 = load ptr, ptr %46, align 8, !tbaa !16
  %1601 = load i32, ptr %13, align 4, !tbaa !9
  %1602 = load i32, ptr %5, align 4, !tbaa !9
  %1603 = mul nsw i32 %1601, %1602
  %1604 = sub nsw i32 %1603, 1
  %1605 = sext i32 %1604 to i64
  %1606 = getelementptr inbounds i32, ptr %1600, i64 %1605
  %1607 = load i32, ptr %1606, align 4, !tbaa !9
  %1608 = sub i32 %1599, %1607
  %1609 = load ptr, ptr %73, align 8, !tbaa !16
  %1610 = load i32, ptr %13, align 4, !tbaa !9
  %1611 = load i32, ptr %6, align 4, !tbaa !9
  %1612 = mul nsw i32 %1610, %1611
  %1613 = sub nsw i32 %1612, 1
  %1614 = sext i32 %1613 to i64
  %1615 = getelementptr inbounds i32, ptr %1609, i64 %1614
  %1616 = load i32, ptr %1615, align 4, !tbaa !9
  %1617 = icmp ugt i32 %1608, %1616
  br i1 %1617, label %1618, label %1637

1618:                                             ; preds = %1582
  %1619 = load ptr, ptr %46, align 8, !tbaa !16
  %1620 = load i32, ptr %13, align 4, !tbaa !9
  %1621 = mul nsw i32 2, %1620
  %1622 = load i32, ptr %5, align 4, !tbaa !9
  %1623 = mul nsw i32 %1621, %1622
  %1624 = sub nsw i32 %1623, 1
  %1625 = sext i32 %1624 to i64
  %1626 = getelementptr inbounds i32, ptr %1619, i64 %1625
  %1627 = load i32, ptr %1626, align 4, !tbaa !9
  %1628 = load ptr, ptr %46, align 8, !tbaa !16
  %1629 = load i32, ptr %13, align 4, !tbaa !9
  %1630 = load i32, ptr %5, align 4, !tbaa !9
  %1631 = mul nsw i32 %1629, %1630
  %1632 = sub nsw i32 %1631, 1
  %1633 = sext i32 %1632 to i64
  %1634 = getelementptr inbounds i32, ptr %1628, i64 %1633
  %1635 = load i32, ptr %1634, align 4, !tbaa !9
  %1636 = sub i32 %1627, %1635
  br label %1646

1637:                                             ; preds = %1582
  %1638 = load ptr, ptr %73, align 8, !tbaa !16
  %1639 = load i32, ptr %13, align 4, !tbaa !9
  %1640 = load i32, ptr %6, align 4, !tbaa !9
  %1641 = mul nsw i32 %1639, %1640
  %1642 = sub nsw i32 %1641, 1
  %1643 = sext i32 %1642 to i64
  %1644 = getelementptr inbounds i32, ptr %1638, i64 %1643
  %1645 = load i32, ptr %1644, align 4, !tbaa !9
  br label %1646

1646:                                             ; preds = %1637, %1618
  %1647 = phi i32 [ %1636, %1618 ], [ %1645, %1637 ]
  %1648 = load i32, ptr %21, align 4, !tbaa !9
  %1649 = add i32 %1648, %1647
  store i32 %1649, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #13
  store i32 2, ptr %95, align 4, !tbaa !9
  br label %1650

1650:                                             ; preds = %1783, %1646
  %1651 = load i32, ptr %95, align 4, !tbaa !9
  %1652 = load i32, ptr %4, align 4, !tbaa !9
  %1653 = load i32, ptr %13, align 4, !tbaa !9
  %1654 = sdiv i32 %1652, %1653
  %1655 = icmp slt i32 %1651, %1654
  br i1 %1655, label %1669, label %1656

1656:                                             ; preds = %1650
  store i32 47, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #13
  br label %1786

1657:                                             ; preds = %1521, %1517, %1515, %1513, %1511
  %1658 = landingpad { ptr, i32 }
          cleanup
  %1659 = extractvalue { ptr, i32 } %1658, 0
  store ptr %1659, ptr %26, align 8
  %1660 = extractvalue { ptr, i32 } %1658, 1
  store i32 %1660, ptr %27, align 4
  br label %2766

1661:                                             ; preds = %1523
  %1662 = landingpad { ptr, i32 }
          cleanup
  %1663 = extractvalue { ptr, i32 } %1662, 0
  store ptr %1663, ptr %26, align 8
  %1664 = extractvalue { ptr, i32 } %1662, 1
  store i32 %1664, ptr %27, align 4
  br label %2765

1665:                                             ; preds = %1948, %1945, %1943, %1940, %1938, %1557, %1553, %1551, %1549, %1545, %1543, %1541, %1537, %1535, %1533, %1529, %1527, %1525
  %1666 = landingpad { ptr, i32 }
          cleanup
  %1667 = extractvalue { ptr, i32 } %1666, 0
  store ptr %1667, ptr %26, align 8
  %1668 = extractvalue { ptr, i32 } %1666, 1
  store i32 %1668, ptr %27, align 4
  br label %2764

1669:                                             ; preds = %1650
  %1670 = load ptr, ptr %46, align 8, !tbaa !16
  %1671 = load i32, ptr %95, align 4, !tbaa !9
  %1672 = load i32, ptr %5, align 4, !tbaa !9
  %1673 = mul nsw i32 %1671, %1672
  %1674 = load i32, ptr %5, align 4, !tbaa !9
  %1675 = add nsw i32 %1673, %1674
  %1676 = load i32, ptr %13, align 4, !tbaa !9
  %1677 = mul nsw i32 %1675, %1676
  %1678 = sub nsw i32 %1677, 1
  %1679 = sext i32 %1678 to i64
  %1680 = getelementptr inbounds i32, ptr %1670, i64 %1679
  %1681 = load i32, ptr %1680, align 4, !tbaa !9
  %1682 = load ptr, ptr %46, align 8, !tbaa !16
  %1683 = load i32, ptr %95, align 4, !tbaa !9
  %1684 = sub nsw i32 %1683, 1
  %1685 = load i32, ptr %5, align 4, !tbaa !9
  %1686 = mul nsw i32 %1684, %1685
  %1687 = load i32, ptr %5, align 4, !tbaa !9
  %1688 = add nsw i32 %1686, %1687
  %1689 = load i32, ptr %13, align 4, !tbaa !9
  %1690 = mul nsw i32 %1688, %1689
  %1691 = sub nsw i32 %1690, 1
  %1692 = sext i32 %1691 to i64
  %1693 = getelementptr inbounds i32, ptr %1682, i64 %1692
  %1694 = load i32, ptr %1693, align 4, !tbaa !9
  %1695 = sub i32 %1681, %1694
  %1696 = load ptr, ptr %73, align 8, !tbaa !16
  %1697 = load i32, ptr %95, align 4, !tbaa !9
  %1698 = sub nsw i32 %1697, 1
  %1699 = load i32, ptr %6, align 4, !tbaa !9
  %1700 = mul nsw i32 %1698, %1699
  %1701 = load i32, ptr %6, align 4, !tbaa !9
  %1702 = add nsw i32 %1700, %1701
  %1703 = load i32, ptr %13, align 4, !tbaa !9
  %1704 = mul nsw i32 %1702, %1703
  %1705 = sub nsw i32 %1704, 1
  %1706 = sext i32 %1705 to i64
  %1707 = getelementptr inbounds i32, ptr %1696, i64 %1706
  %1708 = load i32, ptr %1707, align 4, !tbaa !9
  %1709 = load ptr, ptr %73, align 8, !tbaa !16
  %1710 = load i32, ptr %95, align 4, !tbaa !9
  %1711 = sub nsw i32 %1710, 2
  %1712 = load i32, ptr %6, align 4, !tbaa !9
  %1713 = mul nsw i32 %1711, %1712
  %1714 = load i32, ptr %6, align 4, !tbaa !9
  %1715 = add nsw i32 %1713, %1714
  %1716 = load i32, ptr %13, align 4, !tbaa !9
  %1717 = mul nsw i32 %1715, %1716
  %1718 = sub nsw i32 %1717, 1
  %1719 = sext i32 %1718 to i64
  %1720 = getelementptr inbounds i32, ptr %1709, i64 %1719
  %1721 = load i32, ptr %1720, align 4, !tbaa !9
  %1722 = sub i32 %1708, %1721
  %1723 = icmp ugt i32 %1695, %1722
  br i1 %1723, label %1724, label %1751

1724:                                             ; preds = %1669
  %1725 = load ptr, ptr %46, align 8, !tbaa !16
  %1726 = load i32, ptr %13, align 4, !tbaa !9
  %1727 = load i32, ptr %95, align 4, !tbaa !9
  %1728 = load i32, ptr %5, align 4, !tbaa !9
  %1729 = mul nsw i32 %1727, %1728
  %1730 = load i32, ptr %5, align 4, !tbaa !9
  %1731 = add nsw i32 %1729, %1730
  %1732 = mul nsw i32 %1726, %1731
  %1733 = sub nsw i32 %1732, 1
  %1734 = sext i32 %1733 to i64
  %1735 = getelementptr inbounds i32, ptr %1725, i64 %1734
  %1736 = load i32, ptr %1735, align 4, !tbaa !9
  %1737 = load ptr, ptr %46, align 8, !tbaa !16
  %1738 = load i32, ptr %95, align 4, !tbaa !9
  %1739 = sub nsw i32 %1738, 1
  %1740 = load i32, ptr %5, align 4, !tbaa !9
  %1741 = mul nsw i32 %1739, %1740
  %1742 = load i32, ptr %5, align 4, !tbaa !9
  %1743 = add nsw i32 %1741, %1742
  %1744 = load i32, ptr %13, align 4, !tbaa !9
  %1745 = mul nsw i32 %1743, %1744
  %1746 = sub nsw i32 %1745, 1
  %1747 = sext i32 %1746 to i64
  %1748 = getelementptr inbounds i32, ptr %1737, i64 %1747
  %1749 = load i32, ptr %1748, align 4, !tbaa !9
  %1750 = sub i32 %1736, %1749
  br label %1779

1751:                                             ; preds = %1669
  %1752 = load ptr, ptr %73, align 8, !tbaa !16
  %1753 = load i32, ptr %95, align 4, !tbaa !9
  %1754 = sub nsw i32 %1753, 1
  %1755 = load i32, ptr %6, align 4, !tbaa !9
  %1756 = mul nsw i32 %1754, %1755
  %1757 = load i32, ptr %6, align 4, !tbaa !9
  %1758 = add nsw i32 %1756, %1757
  %1759 = load i32, ptr %13, align 4, !tbaa !9
  %1760 = mul nsw i32 %1758, %1759
  %1761 = sub nsw i32 %1760, 1
  %1762 = sext i32 %1761 to i64
  %1763 = getelementptr inbounds i32, ptr %1752, i64 %1762
  %1764 = load i32, ptr %1763, align 4, !tbaa !9
  %1765 = load ptr, ptr %73, align 8, !tbaa !16
  %1766 = load i32, ptr %95, align 4, !tbaa !9
  %1767 = sub nsw i32 %1766, 2
  %1768 = load i32, ptr %6, align 4, !tbaa !9
  %1769 = mul nsw i32 %1767, %1768
  %1770 = load i32, ptr %6, align 4, !tbaa !9
  %1771 = add nsw i32 %1769, %1770
  %1772 = load i32, ptr %13, align 4, !tbaa !9
  %1773 = mul nsw i32 %1771, %1772
  %1774 = sub nsw i32 %1773, 1
  %1775 = sext i32 %1774 to i64
  %1776 = getelementptr inbounds i32, ptr %1765, i64 %1775
  %1777 = load i32, ptr %1776, align 4, !tbaa !9
  %1778 = sub i32 %1764, %1777
  br label %1779

1779:                                             ; preds = %1751, %1724
  %1780 = phi i32 [ %1750, %1724 ], [ %1778, %1751 ]
  %1781 = load i32, ptr %21, align 4, !tbaa !9
  %1782 = add i32 %1781, %1780
  store i32 %1782, ptr %21, align 4, !tbaa !9
  br label %1783

1783:                                             ; preds = %1779
  %1784 = load i32, ptr %95, align 4, !tbaa !9
  %1785 = add nsw i32 %1784, 1
  store i32 %1785, ptr %95, align 4, !tbaa !9
  br label %1650, !llvm.loop !81

1786:                                             ; preds = %1656
  %1787 = load i32, ptr %4, align 4, !tbaa !9
  %1788 = load i32, ptr %13, align 4, !tbaa !9
  %1789 = srem i32 %1787, %1788
  %1790 = icmp ne i32 %1789, 0
  br i1 %1790, label %1791, label %1916

1791:                                             ; preds = %1786
  %1792 = load ptr, ptr %46, align 8, !tbaa !16
  %1793 = load i32, ptr %4, align 4, !tbaa !9
  %1794 = load i32, ptr %5, align 4, !tbaa !9
  %1795 = mul nsw i32 %1793, %1794
  %1796 = sub nsw i32 %1795, 1
  %1797 = sext i32 %1796 to i64
  %1798 = getelementptr inbounds i32, ptr %1792, i64 %1797
  %1799 = load i32, ptr %1798, align 4, !tbaa !9
  %1800 = load ptr, ptr %46, align 8, !tbaa !16
  %1801 = load i32, ptr %4, align 4, !tbaa !9
  %1802 = load i32, ptr %13, align 4, !tbaa !9
  %1803 = sdiv i32 %1801, %1802
  %1804 = load i32, ptr %13, align 4, !tbaa !9
  %1805 = mul nsw i32 %1803, %1804
  %1806 = load i32, ptr %5, align 4, !tbaa !9
  %1807 = mul nsw i32 %1805, %1806
  %1808 = sub nsw i32 %1807, 1
  %1809 = sext i32 %1808 to i64
  %1810 = getelementptr inbounds i32, ptr %1800, i64 %1809
  %1811 = load i32, ptr %1810, align 4, !tbaa !9
  %1812 = sub i32 %1799, %1811
  %1813 = load ptr, ptr %73, align 8, !tbaa !16
  %1814 = load i32, ptr %4, align 4, !tbaa !9
  %1815 = load i32, ptr %13, align 4, !tbaa !9
  %1816 = sdiv i32 %1814, %1815
  %1817 = load i32, ptr %13, align 4, !tbaa !9
  %1818 = mul nsw i32 %1816, %1817
  %1819 = load i32, ptr %6, align 4, !tbaa !9
  %1820 = mul nsw i32 %1818, %1819
  %1821 = sub nsw i32 %1820, 1
  %1822 = sext i32 %1821 to i64
  %1823 = getelementptr inbounds i32, ptr %1813, i64 %1822
  %1824 = load i32, ptr %1823, align 4, !tbaa !9
  %1825 = load ptr, ptr %73, align 8, !tbaa !16
  %1826 = load i32, ptr %4, align 4, !tbaa !9
  %1827 = load i32, ptr %13, align 4, !tbaa !9
  %1828 = sdiv i32 %1826, %1827
  %1829 = sub nsw i32 %1828, 1
  %1830 = load i32, ptr %13, align 4, !tbaa !9
  %1831 = mul nsw i32 %1829, %1830
  %1832 = load i32, ptr %6, align 4, !tbaa !9
  %1833 = mul nsw i32 %1831, %1832
  %1834 = sub nsw i32 %1833, 1
  %1835 = sext i32 %1834 to i64
  %1836 = getelementptr inbounds i32, ptr %1825, i64 %1835
  %1837 = load i32, ptr %1836, align 4, !tbaa !9
  %1838 = sub i32 %1824, %1837
  %1839 = icmp ugt i32 %1812, %1838
  br i1 %1839, label %1840, label %1862

1840:                                             ; preds = %1791
  %1841 = load ptr, ptr %46, align 8, !tbaa !16
  %1842 = load i32, ptr %4, align 4, !tbaa !9
  %1843 = load i32, ptr %5, align 4, !tbaa !9
  %1844 = mul nsw i32 %1842, %1843
  %1845 = sub nsw i32 %1844, 1
  %1846 = sext i32 %1845 to i64
  %1847 = getelementptr inbounds i32, ptr %1841, i64 %1846
  %1848 = load i32, ptr %1847, align 4, !tbaa !9
  %1849 = load ptr, ptr %46, align 8, !tbaa !16
  %1850 = load i32, ptr %4, align 4, !tbaa !9
  %1851 = load i32, ptr %13, align 4, !tbaa !9
  %1852 = sdiv i32 %1850, %1851
  %1853 = load i32, ptr %13, align 4, !tbaa !9
  %1854 = mul nsw i32 %1852, %1853
  %1855 = load i32, ptr %5, align 4, !tbaa !9
  %1856 = mul nsw i32 %1854, %1855
  %1857 = sub nsw i32 %1856, 1
  %1858 = sext i32 %1857 to i64
  %1859 = getelementptr inbounds i32, ptr %1849, i64 %1858
  %1860 = load i32, ptr %1859, align 4, !tbaa !9
  %1861 = sub i32 %1848, %1860
  br label %1889

1862:                                             ; preds = %1791
  %1863 = load ptr, ptr %73, align 8, !tbaa !16
  %1864 = load i32, ptr %4, align 4, !tbaa !9
  %1865 = load i32, ptr %13, align 4, !tbaa !9
  %1866 = sdiv i32 %1864, %1865
  %1867 = load i32, ptr %13, align 4, !tbaa !9
  %1868 = mul nsw i32 %1866, %1867
  %1869 = load i32, ptr %6, align 4, !tbaa !9
  %1870 = mul nsw i32 %1868, %1869
  %1871 = sub nsw i32 %1870, 1
  %1872 = sext i32 %1871 to i64
  %1873 = getelementptr inbounds i32, ptr %1863, i64 %1872
  %1874 = load i32, ptr %1873, align 4, !tbaa !9
  %1875 = load ptr, ptr %73, align 8, !tbaa !16
  %1876 = load i32, ptr %4, align 4, !tbaa !9
  %1877 = load i32, ptr %13, align 4, !tbaa !9
  %1878 = sdiv i32 %1876, %1877
  %1879 = sub nsw i32 %1878, 1
  %1880 = load i32, ptr %13, align 4, !tbaa !9
  %1881 = mul nsw i32 %1879, %1880
  %1882 = load i32, ptr %6, align 4, !tbaa !9
  %1883 = mul nsw i32 %1881, %1882
  %1884 = sub nsw i32 %1883, 1
  %1885 = sext i32 %1884 to i64
  %1886 = getelementptr inbounds i32, ptr %1875, i64 %1885
  %1887 = load i32, ptr %1886, align 4, !tbaa !9
  %1888 = sub i32 %1874, %1887
  br label %1889

1889:                                             ; preds = %1862, %1840
  %1890 = phi i32 [ %1861, %1840 ], [ %1888, %1862 ]
  %1891 = load i32, ptr %21, align 4, !tbaa !9
  %1892 = add i32 %1891, %1890
  store i32 %1892, ptr %21, align 4, !tbaa !9
  %1893 = load ptr, ptr %73, align 8, !tbaa !16
  %1894 = load i32, ptr %4, align 4, !tbaa !9
  %1895 = load i32, ptr %6, align 4, !tbaa !9
  %1896 = mul nsw i32 %1894, %1895
  %1897 = sub nsw i32 %1896, 1
  %1898 = sext i32 %1897 to i64
  %1899 = getelementptr inbounds i32, ptr %1893, i64 %1898
  %1900 = load i32, ptr %1899, align 4, !tbaa !9
  %1901 = load ptr, ptr %73, align 8, !tbaa !16
  %1902 = load i32, ptr %4, align 4, !tbaa !9
  %1903 = load i32, ptr %13, align 4, !tbaa !9
  %1904 = sdiv i32 %1902, %1903
  %1905 = load i32, ptr %13, align 4, !tbaa !9
  %1906 = mul nsw i32 %1904, %1905
  %1907 = load i32, ptr %6, align 4, !tbaa !9
  %1908 = mul nsw i32 %1906, %1907
  %1909 = sub nsw i32 %1908, 1
  %1910 = sext i32 %1909 to i64
  %1911 = getelementptr inbounds i32, ptr %1901, i64 %1910
  %1912 = load i32, ptr %1911, align 4, !tbaa !9
  %1913 = sub i32 %1900, %1912
  %1914 = load i32, ptr %21, align 4, !tbaa !9
  %1915 = add i32 %1914, %1913
  store i32 %1915, ptr %21, align 4, !tbaa !9
  br label %1938

1916:                                             ; preds = %1786
  %1917 = load ptr, ptr %73, align 8, !tbaa !16
  %1918 = load i32, ptr %4, align 4, !tbaa !9
  %1919 = load i32, ptr %6, align 4, !tbaa !9
  %1920 = mul nsw i32 %1918, %1919
  %1921 = sub nsw i32 %1920, 1
  %1922 = sext i32 %1921 to i64
  %1923 = getelementptr inbounds i32, ptr %1917, i64 %1922
  %1924 = load i32, ptr %1923, align 4, !tbaa !9
  %1925 = load ptr, ptr %73, align 8, !tbaa !16
  %1926 = load i32, ptr %4, align 4, !tbaa !9
  %1927 = load i32, ptr %13, align 4, !tbaa !9
  %1928 = sub nsw i32 %1926, %1927
  %1929 = load i32, ptr %6, align 4, !tbaa !9
  %1930 = mul nsw i32 %1928, %1929
  %1931 = sub nsw i32 %1930, 1
  %1932 = sext i32 %1931 to i64
  %1933 = getelementptr inbounds i32, ptr %1925, i64 %1932
  %1934 = load i32, ptr %1933, align 4, !tbaa !9
  %1935 = sub i32 %1924, %1934
  %1936 = load i32, ptr %21, align 4, !tbaa !9
  %1937 = add i32 %1936, %1935
  store i32 %1937, ptr %21, align 4, !tbaa !9
  br label %1938

1938:                                             ; preds = %1916, %1889
  %1939 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.39)
          to label %1940 unwind label %1665

1940:                                             ; preds = %1938
  %1941 = load i32, ptr %21, align 4, !tbaa !9
  %1942 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1939, i32 noundef %1941)
          to label %1943 unwind label %1665

1943:                                             ; preds = %1940
  %1944 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1942, ptr noundef @.str.40)
          to label %1945 unwind label %1665

1945:                                             ; preds = %1943
  %1946 = load i32, ptr %22, align 4, !tbaa !9
  %1947 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1944, i32 noundef %1946)
          to label %1948 unwind label %1665

1948:                                             ; preds = %1945
  %1949 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1947, ptr noundef @.str.41)
          to label %1950 unwind label %1665

1950:                                             ; preds = %1948
  br label %1951

1951:                                             ; preds = %1950, %1579
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #13
  %1952 = load i32, ptr %4, align 4, !tbaa !9
  %1953 = load i32, ptr %7, align 4, !tbaa !9
  %1954 = sdiv i32 %1952, %1953
  %1955 = load i32, ptr %4, align 4, !tbaa !9
  %1956 = load i32, ptr %7, align 4, !tbaa !9
  %1957 = srem i32 %1955, %1956
  %1958 = icmp ne i32 %1957, 0
  %1959 = zext i1 %1958 to i32
  %1960 = add nsw i32 %1954, %1959
  %1961 = sext i32 %1960 to i64
  %1962 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1961, i64 4)
  %1963 = extractvalue { i64, i1 } %1962, 1
  %1964 = extractvalue { i64, i1 } %1962, 0
  %1965 = select i1 %1963, i64 -1, i64 %1964
  %1966 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1965) #14
          to label %1967 unwind label %1975

1967:                                             ; preds = %1951
  store ptr %1966, ptr %96, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #13
  store i32 0, ptr %98, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #13
  store i32 0, ptr %99, align 4, !tbaa !9
  br label %1968

1968:                                             ; preds = %2067, %1967
  %1969 = load i32, ptr %99, align 4, !tbaa !9
  %1970 = load i32, ptr %4, align 4, !tbaa !9
  %1971 = load i32, ptr %7, align 4, !tbaa !9
  %1972 = sdiv i32 %1970, %1971
  %1973 = icmp slt i32 %1969, %1972
  br i1 %1973, label %1979, label %1974

1974:                                             ; preds = %1968
  store i32 50, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #13
  br label %2074

1975:                                             ; preds = %1951
  %1976 = landingpad { ptr, i32 }
          cleanup
  %1977 = extractvalue { ptr, i32 } %1976, 0
  store ptr %1977, ptr %26, align 8
  %1978 = extractvalue { ptr, i32 } %1976, 1
  store i32 %1978, ptr %27, align 4
  br label %2763

1979:                                             ; preds = %1968
  store i32 0, ptr %97, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #13
  store i32 0, ptr %100, align 4, !tbaa !9
  br label %1980

1980:                                             ; preds = %2050, %1979
  %1981 = load i32, ptr %100, align 4, !tbaa !9
  %1982 = load i32, ptr %7, align 4, !tbaa !9
  %1983 = icmp slt i32 %1981, %1982
  br i1 %1983, label %1985, label %1984

1984:                                             ; preds = %1980
  store i32 53, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #13
  br label %2053

1985:                                             ; preds = %1980
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #13
  %1986 = load i32, ptr %99, align 4, !tbaa !9
  %1987 = load i32, ptr %7, align 4, !tbaa !9
  %1988 = mul nsw i32 %1986, %1987
  %1989 = load i32, ptr %100, align 4, !tbaa !9
  %1990 = add nsw i32 %1988, %1989
  store i32 %1990, ptr %101, align 4, !tbaa !9
  %1991 = load i32, ptr %101, align 4, !tbaa !9
  %1992 = icmp eq i32 %1991, 0
  br i1 %1992, label %1993, label %2000

1993:                                             ; preds = %1985
  %1994 = load ptr, ptr %46, align 8, !tbaa !16
  %1995 = load i32, ptr %5, align 4, !tbaa !9
  %1996 = sub nsw i32 %1995, 1
  %1997 = sext i32 %1996 to i64
  %1998 = getelementptr inbounds i32, ptr %1994, i64 %1997
  %1999 = load i32, ptr %1998, align 4, !tbaa !9
  store i32 %1999, ptr %97, align 4, !tbaa !9
  br label %2049

2000:                                             ; preds = %1985
  %2001 = load ptr, ptr %46, align 8, !tbaa !16
  %2002 = load i32, ptr %101, align 4, !tbaa !9
  %2003 = load i32, ptr %5, align 4, !tbaa !9
  %2004 = mul nsw i32 %2002, %2003
  %2005 = load i32, ptr %5, align 4, !tbaa !9
  %2006 = add nsw i32 %2004, %2005
  %2007 = sub nsw i32 %2006, 1
  %2008 = sext i32 %2007 to i64
  %2009 = getelementptr inbounds i32, ptr %2001, i64 %2008
  %2010 = load i32, ptr %2009, align 4, !tbaa !9
  %2011 = load ptr, ptr %46, align 8, !tbaa !16
  %2012 = load i32, ptr %101, align 4, !tbaa !9
  %2013 = sub nsw i32 %2012, 1
  %2014 = load i32, ptr %5, align 4, !tbaa !9
  %2015 = mul nsw i32 %2013, %2014
  %2016 = load i32, ptr %5, align 4, !tbaa !9
  %2017 = add nsw i32 %2015, %2016
  %2018 = sub nsw i32 %2017, 1
  %2019 = sext i32 %2018 to i64
  %2020 = getelementptr inbounds i32, ptr %2011, i64 %2019
  %2021 = load i32, ptr %2020, align 4, !tbaa !9
  %2022 = sub i32 %2010, %2021
  %2023 = load i32, ptr %97, align 4, !tbaa !9
  %2024 = icmp ugt i32 %2022, %2023
  br i1 %2024, label %2025, label %2048

2025:                                             ; preds = %2000
  %2026 = load ptr, ptr %46, align 8, !tbaa !16
  %2027 = load i32, ptr %101, align 4, !tbaa !9
  %2028 = load i32, ptr %5, align 4, !tbaa !9
  %2029 = mul nsw i32 %2027, %2028
  %2030 = load i32, ptr %5, align 4, !tbaa !9
  %2031 = add nsw i32 %2029, %2030
  %2032 = sub nsw i32 %2031, 1
  %2033 = sext i32 %2032 to i64
  %2034 = getelementptr inbounds i32, ptr %2026, i64 %2033
  %2035 = load i32, ptr %2034, align 4, !tbaa !9
  %2036 = load ptr, ptr %46, align 8, !tbaa !16
  %2037 = load i32, ptr %101, align 4, !tbaa !9
  %2038 = sub nsw i32 %2037, 1
  %2039 = load i32, ptr %5, align 4, !tbaa !9
  %2040 = mul nsw i32 %2038, %2039
  %2041 = load i32, ptr %5, align 4, !tbaa !9
  %2042 = add nsw i32 %2040, %2041
  %2043 = sub nsw i32 %2042, 1
  %2044 = sext i32 %2043 to i64
  %2045 = getelementptr inbounds i32, ptr %2036, i64 %2044
  %2046 = load i32, ptr %2045, align 4, !tbaa !9
  %2047 = sub i32 %2035, %2046
  store i32 %2047, ptr %97, align 4, !tbaa !9
  br label %2048

2048:                                             ; preds = %2025, %2000
  br label %2049

2049:                                             ; preds = %2048, %1993
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #13
  br label %2050

2050:                                             ; preds = %2049
  %2051 = load i32, ptr %100, align 4, !tbaa !9
  %2052 = add nsw i32 %2051, 1
  store i32 %2052, ptr %100, align 4, !tbaa !9
  br label %1980, !llvm.loop !82

2053:                                             ; preds = %1984
  %2054 = load i32, ptr %97, align 4, !tbaa !9
  %2055 = load i32, ptr %98, align 4, !tbaa !9
  %2056 = add nsw i32 %2055, %2054
  store i32 %2056, ptr %98, align 4, !tbaa !9
  %2057 = load i32, ptr %98, align 4, !tbaa !9
  %2058 = load ptr, ptr %96, align 8, !tbaa !16
  %2059 = load i32, ptr %99, align 4, !tbaa !9
  %2060 = sext i32 %2059 to i64
  %2061 = getelementptr inbounds i32, ptr %2058, i64 %2060
  store i32 %2057, ptr %2061, align 4, !tbaa !9
  %2062 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.1)
          to label %2063 unwind label %2070

2063:                                             ; preds = %2053
  %2064 = load i32, ptr %97, align 4, !tbaa !9
  %2065 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2062, i32 noundef %2064)
          to label %2066 unwind label %2070

2066:                                             ; preds = %2063
  br label %2067

2067:                                             ; preds = %2066
  %2068 = load i32, ptr %99, align 4, !tbaa !9
  %2069 = add nsw i32 %2068, 1
  store i32 %2069, ptr %99, align 4, !tbaa !9
  br label %1968, !llvm.loop !83

2070:                                             ; preds = %2063, %2053
  %2071 = landingpad { ptr, i32 }
          cleanup
  %2072 = extractvalue { ptr, i32 } %2071, 0
  store ptr %2072, ptr %26, align 8
  %2073 = extractvalue { ptr, i32 } %2071, 1
  store i32 %2073, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #13
  br label %2762

2074:                                             ; preds = %1974
  %2075 = load i32, ptr %4, align 4, !tbaa !9
  %2076 = load i32, ptr %7, align 4, !tbaa !9
  %2077 = srem i32 %2075, %2076
  %2078 = icmp ne i32 %2077, 0
  br i1 %2078, label %2079, label %2162

2079:                                             ; preds = %2074
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #13
  %2080 = load i32, ptr %7, align 4, !tbaa !9
  %2081 = load i32, ptr %4, align 4, !tbaa !9
  %2082 = load i32, ptr %7, align 4, !tbaa !9
  %2083 = sdiv i32 %2081, %2082
  %2084 = mul nsw i32 %2080, %2083
  store i32 %2084, ptr %102, align 4, !tbaa !9
  br label %2085

2085:                                             ; preds = %2139, %2079
  %2086 = load i32, ptr %102, align 4, !tbaa !9
  %2087 = load i32, ptr %4, align 4, !tbaa !9
  %2088 = icmp slt i32 %2086, %2087
  br i1 %2088, label %2090, label %2089

2089:                                             ; preds = %2085
  store i32 56, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #13
  br label %2142

2090:                                             ; preds = %2085
  store i32 0, ptr %97, align 4, !tbaa !9
  %2091 = load ptr, ptr %46, align 8, !tbaa !16
  %2092 = load i32, ptr %102, align 4, !tbaa !9
  %2093 = load i32, ptr %5, align 4, !tbaa !9
  %2094 = mul nsw i32 %2092, %2093
  %2095 = load i32, ptr %5, align 4, !tbaa !9
  %2096 = add nsw i32 %2094, %2095
  %2097 = sub nsw i32 %2096, 1
  %2098 = sext i32 %2097 to i64
  %2099 = getelementptr inbounds i32, ptr %2091, i64 %2098
  %2100 = load i32, ptr %2099, align 4, !tbaa !9
  %2101 = load ptr, ptr %46, align 8, !tbaa !16
  %2102 = load i32, ptr %102, align 4, !tbaa !9
  %2103 = sub nsw i32 %2102, 1
  %2104 = load i32, ptr %5, align 4, !tbaa !9
  %2105 = mul nsw i32 %2103, %2104
  %2106 = load i32, ptr %5, align 4, !tbaa !9
  %2107 = add nsw i32 %2105, %2106
  %2108 = sub nsw i32 %2107, 1
  %2109 = sext i32 %2108 to i64
  %2110 = getelementptr inbounds i32, ptr %2101, i64 %2109
  %2111 = load i32, ptr %2110, align 4, !tbaa !9
  %2112 = sub i32 %2100, %2111
  %2113 = load i32, ptr %97, align 4, !tbaa !9
  %2114 = icmp ugt i32 %2112, %2113
  br i1 %2114, label %2115, label %2138

2115:                                             ; preds = %2090
  %2116 = load ptr, ptr %46, align 8, !tbaa !16
  %2117 = load i32, ptr %102, align 4, !tbaa !9
  %2118 = load i32, ptr %5, align 4, !tbaa !9
  %2119 = mul nsw i32 %2117, %2118
  %2120 = load i32, ptr %5, align 4, !tbaa !9
  %2121 = add nsw i32 %2119, %2120
  %2122 = sub nsw i32 %2121, 1
  %2123 = sext i32 %2122 to i64
  %2124 = getelementptr inbounds i32, ptr %2116, i64 %2123
  %2125 = load i32, ptr %2124, align 4, !tbaa !9
  %2126 = load ptr, ptr %46, align 8, !tbaa !16
  %2127 = load i32, ptr %102, align 4, !tbaa !9
  %2128 = sub nsw i32 %2127, 1
  %2129 = load i32, ptr %5, align 4, !tbaa !9
  %2130 = mul nsw i32 %2128, %2129
  %2131 = load i32, ptr %5, align 4, !tbaa !9
  %2132 = add nsw i32 %2130, %2131
  %2133 = sub nsw i32 %2132, 1
  %2134 = sext i32 %2133 to i64
  %2135 = getelementptr inbounds i32, ptr %2126, i64 %2134
  %2136 = load i32, ptr %2135, align 4, !tbaa !9
  %2137 = sub i32 %2125, %2136
  store i32 %2137, ptr %97, align 4, !tbaa !9
  br label %2138

2138:                                             ; preds = %2115, %2090
  br label %2139

2139:                                             ; preds = %2138
  %2140 = load i32, ptr %102, align 4, !tbaa !9
  %2141 = add nsw i32 %2140, 1
  store i32 %2141, ptr %102, align 4, !tbaa !9
  br label %2085, !llvm.loop !84

2142:                                             ; preds = %2089
  %2143 = load i32, ptr %97, align 4, !tbaa !9
  %2144 = load i32, ptr %98, align 4, !tbaa !9
  %2145 = add nsw i32 %2144, %2143
  store i32 %2145, ptr %98, align 4, !tbaa !9
  %2146 = load i32, ptr %98, align 4, !tbaa !9
  %2147 = load ptr, ptr %96, align 8, !tbaa !16
  %2148 = load i32, ptr %4, align 4, !tbaa !9
  %2149 = load i32, ptr %7, align 4, !tbaa !9
  %2150 = sdiv i32 %2148, %2149
  %2151 = sext i32 %2150 to i64
  %2152 = getelementptr inbounds i32, ptr %2147, i64 %2151
  store i32 %2146, ptr %2152, align 4, !tbaa !9
  %2153 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.42)
          to label %2154 unwind label %2158

2154:                                             ; preds = %2142
  %2155 = load i32, ptr %97, align 4, !tbaa !9
  %2156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2153, i32 noundef %2155)
          to label %2157 unwind label %2158

2157:                                             ; preds = %2154
  br label %2162

2158:                                             ; preds = %2545, %2542, %2540, %2538, %2535, %2533, %2531, %2528, %2526, %2523, %2520, %2518, %2515, %2513, %2154, %2142
  %2159 = landingpad { ptr, i32 }
          cleanup
  %2160 = extractvalue { ptr, i32 } %2159, 0
  store ptr %2160, ptr %26, align 8
  %2161 = extractvalue { ptr, i32 } %2159, 1
  store i32 %2161, ptr %27, align 4
  br label %2762

2162:                                             ; preds = %2157, %2074
  %2163 = load i32, ptr %7, align 4, !tbaa !9
  %2164 = icmp ne i32 %2163, 1
  br i1 %2164, label %2165, label %2526

2165:                                             ; preds = %2162
  %2166 = load ptr, ptr %96, align 8, !tbaa !16
  %2167 = load i32, ptr %13, align 4, !tbaa !9
  %2168 = load i32, ptr %7, align 4, !tbaa !9
  %2169 = sdiv i32 %2167, %2168
  %2170 = sub nsw i32 %2169, 1
  %2171 = sext i32 %2170 to i64
  %2172 = getelementptr inbounds i32, ptr %2166, i64 %2171
  %2173 = load i32, ptr %2172, align 4, !tbaa !9
  store i32 %2173, ptr %21, align 4, !tbaa !9
  %2174 = load ptr, ptr %96, align 8, !tbaa !16
  %2175 = load i32, ptr %13, align 4, !tbaa !9
  %2176 = mul nsw i32 2, %2175
  %2177 = load i32, ptr %7, align 4, !tbaa !9
  %2178 = sdiv i32 %2176, %2177
  %2179 = sub nsw i32 %2178, 1
  %2180 = sext i32 %2179 to i64
  %2181 = getelementptr inbounds i32, ptr %2174, i64 %2180
  %2182 = load i32, ptr %2181, align 4, !tbaa !9
  %2183 = load ptr, ptr %96, align 8, !tbaa !16
  %2184 = load i32, ptr %13, align 4, !tbaa !9
  %2185 = load i32, ptr %7, align 4, !tbaa !9
  %2186 = sdiv i32 %2184, %2185
  %2187 = sub nsw i32 %2186, 1
  %2188 = sext i32 %2187 to i64
  %2189 = getelementptr inbounds i32, ptr %2183, i64 %2188
  %2190 = load i32, ptr %2189, align 4, !tbaa !9
  %2191 = sub nsw i32 %2182, %2190
  %2192 = load ptr, ptr %73, align 8, !tbaa !16
  %2193 = load i32, ptr %13, align 4, !tbaa !9
  %2194 = load i32, ptr %6, align 4, !tbaa !9
  %2195 = mul nsw i32 %2193, %2194
  %2196 = sub nsw i32 %2195, 1
  %2197 = sext i32 %2196 to i64
  %2198 = getelementptr inbounds i32, ptr %2192, i64 %2197
  %2199 = load i32, ptr %2198, align 4, !tbaa !9
  %2200 = icmp ugt i32 %2191, %2199
  br i1 %2200, label %2201, label %2220

2201:                                             ; preds = %2165
  %2202 = load ptr, ptr %96, align 8, !tbaa !16
  %2203 = load i32, ptr %13, align 4, !tbaa !9
  %2204 = mul nsw i32 2, %2203
  %2205 = load i32, ptr %7, align 4, !tbaa !9
  %2206 = sdiv i32 %2204, %2205
  %2207 = sub nsw i32 %2206, 1
  %2208 = sext i32 %2207 to i64
  %2209 = getelementptr inbounds i32, ptr %2202, i64 %2208
  %2210 = load i32, ptr %2209, align 4, !tbaa !9
  %2211 = load ptr, ptr %96, align 8, !tbaa !16
  %2212 = load i32, ptr %13, align 4, !tbaa !9
  %2213 = load i32, ptr %7, align 4, !tbaa !9
  %2214 = sdiv i32 %2212, %2213
  %2215 = sub nsw i32 %2214, 1
  %2216 = sext i32 %2215 to i64
  %2217 = getelementptr inbounds i32, ptr %2211, i64 %2216
  %2218 = load i32, ptr %2217, align 4, !tbaa !9
  %2219 = sub nsw i32 %2210, %2218
  br label %2229

2220:                                             ; preds = %2165
  %2221 = load ptr, ptr %73, align 8, !tbaa !16
  %2222 = load i32, ptr %13, align 4, !tbaa !9
  %2223 = load i32, ptr %6, align 4, !tbaa !9
  %2224 = mul nsw i32 %2222, %2223
  %2225 = sub nsw i32 %2224, 1
  %2226 = sext i32 %2225 to i64
  %2227 = getelementptr inbounds i32, ptr %2221, i64 %2226
  %2228 = load i32, ptr %2227, align 4, !tbaa !9
  br label %2229

2229:                                             ; preds = %2220, %2201
  %2230 = phi i32 [ %2219, %2201 ], [ %2228, %2220 ]
  %2231 = load i32, ptr %21, align 4, !tbaa !9
  %2232 = add i32 %2231, %2230
  store i32 %2232, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #13
  store i32 2, ptr %103, align 4, !tbaa !9
  br label %2233

2233:                                             ; preds = %2346, %2229
  %2234 = load i32, ptr %103, align 4, !tbaa !9
  %2235 = load i32, ptr %4, align 4, !tbaa !9
  %2236 = load i32, ptr %13, align 4, !tbaa !9
  %2237 = sdiv i32 %2235, %2236
  %2238 = icmp slt i32 %2234, %2237
  br i1 %2238, label %2240, label %2239

2239:                                             ; preds = %2233
  store i32 59, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #13
  br label %2349

2240:                                             ; preds = %2233
  %2241 = load ptr, ptr %96, align 8, !tbaa !16
  %2242 = load i32, ptr %103, align 4, !tbaa !9
  %2243 = add nsw i32 %2242, 1
  %2244 = load i32, ptr %13, align 4, !tbaa !9
  %2245 = mul nsw i32 %2243, %2244
  %2246 = load i32, ptr %7, align 4, !tbaa !9
  %2247 = sdiv i32 %2245, %2246
  %2248 = sub nsw i32 %2247, 1
  %2249 = sext i32 %2248 to i64
  %2250 = getelementptr inbounds i32, ptr %2241, i64 %2249
  %2251 = load i32, ptr %2250, align 4, !tbaa !9
  %2252 = load ptr, ptr %96, align 8, !tbaa !16
  %2253 = load i32, ptr %103, align 4, !tbaa !9
  %2254 = load i32, ptr %13, align 4, !tbaa !9
  %2255 = mul nsw i32 %2253, %2254
  %2256 = load i32, ptr %7, align 4, !tbaa !9
  %2257 = sdiv i32 %2255, %2256
  %2258 = sub nsw i32 %2257, 1
  %2259 = sext i32 %2258 to i64
  %2260 = getelementptr inbounds i32, ptr %2252, i64 %2259
  %2261 = load i32, ptr %2260, align 4, !tbaa !9
  %2262 = sub nsw i32 %2251, %2261
  %2263 = load ptr, ptr %73, align 8, !tbaa !16
  %2264 = load i32, ptr %103, align 4, !tbaa !9
  %2265 = sub nsw i32 %2264, 1
  %2266 = load i32, ptr %6, align 4, !tbaa !9
  %2267 = mul nsw i32 %2265, %2266
  %2268 = load i32, ptr %6, align 4, !tbaa !9
  %2269 = add nsw i32 %2267, %2268
  %2270 = load i32, ptr %13, align 4, !tbaa !9
  %2271 = mul nsw i32 %2269, %2270
  %2272 = sub nsw i32 %2271, 1
  %2273 = sext i32 %2272 to i64
  %2274 = getelementptr inbounds i32, ptr %2263, i64 %2273
  %2275 = load i32, ptr %2274, align 4, !tbaa !9
  %2276 = load ptr, ptr %73, align 8, !tbaa !16
  %2277 = load i32, ptr %103, align 4, !tbaa !9
  %2278 = sub nsw i32 %2277, 2
  %2279 = load i32, ptr %6, align 4, !tbaa !9
  %2280 = mul nsw i32 %2278, %2279
  %2281 = load i32, ptr %6, align 4, !tbaa !9
  %2282 = add nsw i32 %2280, %2281
  %2283 = load i32, ptr %13, align 4, !tbaa !9
  %2284 = mul nsw i32 %2282, %2283
  %2285 = sub nsw i32 %2284, 1
  %2286 = sext i32 %2285 to i64
  %2287 = getelementptr inbounds i32, ptr %2276, i64 %2286
  %2288 = load i32, ptr %2287, align 4, !tbaa !9
  %2289 = sub i32 %2275, %2288
  %2290 = icmp ugt i32 %2262, %2289
  br i1 %2290, label %2291, label %2314

2291:                                             ; preds = %2240
  %2292 = load ptr, ptr %96, align 8, !tbaa !16
  %2293 = load i32, ptr %103, align 4, !tbaa !9
  %2294 = add nsw i32 %2293, 1
  %2295 = load i32, ptr %13, align 4, !tbaa !9
  %2296 = mul nsw i32 %2294, %2295
  %2297 = load i32, ptr %7, align 4, !tbaa !9
  %2298 = sdiv i32 %2296, %2297
  %2299 = sub nsw i32 %2298, 1
  %2300 = sext i32 %2299 to i64
  %2301 = getelementptr inbounds i32, ptr %2292, i64 %2300
  %2302 = load i32, ptr %2301, align 4, !tbaa !9
  %2303 = load ptr, ptr %96, align 8, !tbaa !16
  %2304 = load i32, ptr %103, align 4, !tbaa !9
  %2305 = load i32, ptr %13, align 4, !tbaa !9
  %2306 = mul nsw i32 %2304, %2305
  %2307 = load i32, ptr %7, align 4, !tbaa !9
  %2308 = sdiv i32 %2306, %2307
  %2309 = sub nsw i32 %2308, 1
  %2310 = sext i32 %2309 to i64
  %2311 = getelementptr inbounds i32, ptr %2303, i64 %2310
  %2312 = load i32, ptr %2311, align 4, !tbaa !9
  %2313 = sub nsw i32 %2302, %2312
  br label %2342

2314:                                             ; preds = %2240
  %2315 = load ptr, ptr %73, align 8, !tbaa !16
  %2316 = load i32, ptr %103, align 4, !tbaa !9
  %2317 = sub nsw i32 %2316, 1
  %2318 = load i32, ptr %6, align 4, !tbaa !9
  %2319 = mul nsw i32 %2317, %2318
  %2320 = load i32, ptr %6, align 4, !tbaa !9
  %2321 = add nsw i32 %2319, %2320
  %2322 = load i32, ptr %13, align 4, !tbaa !9
  %2323 = mul nsw i32 %2321, %2322
  %2324 = sub nsw i32 %2323, 1
  %2325 = sext i32 %2324 to i64
  %2326 = getelementptr inbounds i32, ptr %2315, i64 %2325
  %2327 = load i32, ptr %2326, align 4, !tbaa !9
  %2328 = load ptr, ptr %73, align 8, !tbaa !16
  %2329 = load i32, ptr %103, align 4, !tbaa !9
  %2330 = sub nsw i32 %2329, 2
  %2331 = load i32, ptr %6, align 4, !tbaa !9
  %2332 = mul nsw i32 %2330, %2331
  %2333 = load i32, ptr %6, align 4, !tbaa !9
  %2334 = add nsw i32 %2332, %2333
  %2335 = load i32, ptr %13, align 4, !tbaa !9
  %2336 = mul nsw i32 %2334, %2335
  %2337 = sub nsw i32 %2336, 1
  %2338 = sext i32 %2337 to i64
  %2339 = getelementptr inbounds i32, ptr %2328, i64 %2338
  %2340 = load i32, ptr %2339, align 4, !tbaa !9
  %2341 = sub i32 %2327, %2340
  br label %2342

2342:                                             ; preds = %2314, %2291
  %2343 = phi i32 [ %2313, %2291 ], [ %2341, %2314 ]
  %2344 = load i32, ptr %21, align 4, !tbaa !9
  %2345 = add i32 %2344, %2343
  store i32 %2345, ptr %21, align 4, !tbaa !9
  br label %2346

2346:                                             ; preds = %2342
  %2347 = load i32, ptr %103, align 4, !tbaa !9
  %2348 = add nsw i32 %2347, 1
  store i32 %2348, ptr %103, align 4, !tbaa !9
  br label %2233, !llvm.loop !85

2349:                                             ; preds = %2239
  %2350 = load i32, ptr %4, align 4, !tbaa !9
  %2351 = load i32, ptr %13, align 4, !tbaa !9
  %2352 = srem i32 %2350, %2351
  %2353 = icmp ne i32 %2352, 0
  br i1 %2353, label %2354, label %2491

2354:                                             ; preds = %2349
  %2355 = load ptr, ptr %96, align 8, !tbaa !16
  %2356 = load i32, ptr %4, align 4, !tbaa !9
  %2357 = load i32, ptr %7, align 4, !tbaa !9
  %2358 = sdiv i32 %2356, %2357
  %2359 = sub nsw i32 %2358, 1
  %2360 = load i32, ptr %4, align 4, !tbaa !9
  %2361 = load i32, ptr %7, align 4, !tbaa !9
  %2362 = srem i32 %2360, %2361
  %2363 = icmp ne i32 %2362, 0
  %2364 = zext i1 %2363 to i32
  %2365 = add nsw i32 %2359, %2364
  %2366 = sext i32 %2365 to i64
  %2367 = getelementptr inbounds i32, ptr %2355, i64 %2366
  %2368 = load i32, ptr %2367, align 4, !tbaa !9
  %2369 = load ptr, ptr %96, align 8, !tbaa !16
  %2370 = load i32, ptr %4, align 4, !tbaa !9
  %2371 = load i32, ptr %13, align 4, !tbaa !9
  %2372 = sdiv i32 %2370, %2371
  %2373 = load i32, ptr %13, align 4, !tbaa !9
  %2374 = mul nsw i32 %2372, %2373
  %2375 = load i32, ptr %7, align 4, !tbaa !9
  %2376 = sdiv i32 %2374, %2375
  %2377 = sub nsw i32 %2376, 1
  %2378 = sext i32 %2377 to i64
  %2379 = getelementptr inbounds i32, ptr %2369, i64 %2378
  %2380 = load i32, ptr %2379, align 4, !tbaa !9
  %2381 = sub nsw i32 %2368, %2380
  %2382 = load ptr, ptr %73, align 8, !tbaa !16
  %2383 = load i32, ptr %4, align 4, !tbaa !9
  %2384 = load i32, ptr %13, align 4, !tbaa !9
  %2385 = sdiv i32 %2383, %2384
  %2386 = load i32, ptr %13, align 4, !tbaa !9
  %2387 = mul nsw i32 %2385, %2386
  %2388 = load i32, ptr %6, align 4, !tbaa !9
  %2389 = mul nsw i32 %2387, %2388
  %2390 = sub nsw i32 %2389, 1
  %2391 = sext i32 %2390 to i64
  %2392 = getelementptr inbounds i32, ptr %2382, i64 %2391
  %2393 = load i32, ptr %2392, align 4, !tbaa !9
  %2394 = load ptr, ptr %73, align 8, !tbaa !16
  %2395 = load i32, ptr %4, align 4, !tbaa !9
  %2396 = load i32, ptr %13, align 4, !tbaa !9
  %2397 = sdiv i32 %2395, %2396
  %2398 = sub nsw i32 %2397, 1
  %2399 = load i32, ptr %6, align 4, !tbaa !9
  %2400 = mul nsw i32 %2398, %2399
  %2401 = load i32, ptr %13, align 4, !tbaa !9
  %2402 = mul nsw i32 %2400, %2401
  %2403 = sub nsw i32 %2402, 1
  %2404 = sext i32 %2403 to i64
  %2405 = getelementptr inbounds i32, ptr %2394, i64 %2404
  %2406 = load i32, ptr %2405, align 4, !tbaa !9
  %2407 = sub i32 %2393, %2406
  %2408 = icmp ugt i32 %2381, %2407
  br i1 %2408, label %2409, label %2437

2409:                                             ; preds = %2354
  %2410 = load ptr, ptr %96, align 8, !tbaa !16
  %2411 = load i32, ptr %4, align 4, !tbaa !9
  %2412 = load i32, ptr %7, align 4, !tbaa !9
  %2413 = sdiv i32 %2411, %2412
  %2414 = sub nsw i32 %2413, 1
  %2415 = load i32, ptr %4, align 4, !tbaa !9
  %2416 = load i32, ptr %7, align 4, !tbaa !9
  %2417 = srem i32 %2415, %2416
  %2418 = icmp ne i32 %2417, 0
  %2419 = zext i1 %2418 to i32
  %2420 = add nsw i32 %2414, %2419
  %2421 = sext i32 %2420 to i64
  %2422 = getelementptr inbounds i32, ptr %2410, i64 %2421
  %2423 = load i32, ptr %2422, align 4, !tbaa !9
  %2424 = load ptr, ptr %96, align 8, !tbaa !16
  %2425 = load i32, ptr %4, align 4, !tbaa !9
  %2426 = load i32, ptr %13, align 4, !tbaa !9
  %2427 = sdiv i32 %2425, %2426
  %2428 = load i32, ptr %13, align 4, !tbaa !9
  %2429 = mul nsw i32 %2427, %2428
  %2430 = load i32, ptr %7, align 4, !tbaa !9
  %2431 = sdiv i32 %2429, %2430
  %2432 = sub nsw i32 %2431, 1
  %2433 = sext i32 %2432 to i64
  %2434 = getelementptr inbounds i32, ptr %2424, i64 %2433
  %2435 = load i32, ptr %2434, align 4, !tbaa !9
  %2436 = sub nsw i32 %2423, %2435
  br label %2464

2437:                                             ; preds = %2354
  %2438 = load ptr, ptr %73, align 8, !tbaa !16
  %2439 = load i32, ptr %4, align 4, !tbaa !9
  %2440 = load i32, ptr %13, align 4, !tbaa !9
  %2441 = sdiv i32 %2439, %2440
  %2442 = load i32, ptr %13, align 4, !tbaa !9
  %2443 = mul nsw i32 %2441, %2442
  %2444 = load i32, ptr %6, align 4, !tbaa !9
  %2445 = mul nsw i32 %2443, %2444
  %2446 = sub nsw i32 %2445, 1
  %2447 = sext i32 %2446 to i64
  %2448 = getelementptr inbounds i32, ptr %2438, i64 %2447
  %2449 = load i32, ptr %2448, align 4, !tbaa !9
  %2450 = load ptr, ptr %73, align 8, !tbaa !16
  %2451 = load i32, ptr %4, align 4, !tbaa !9
  %2452 = load i32, ptr %13, align 4, !tbaa !9
  %2453 = sdiv i32 %2451, %2452
  %2454 = sub nsw i32 %2453, 1
  %2455 = load i32, ptr %6, align 4, !tbaa !9
  %2456 = mul nsw i32 %2454, %2455
  %2457 = load i32, ptr %13, align 4, !tbaa !9
  %2458 = mul nsw i32 %2456, %2457
  %2459 = sub nsw i32 %2458, 1
  %2460 = sext i32 %2459 to i64
  %2461 = getelementptr inbounds i32, ptr %2450, i64 %2460
  %2462 = load i32, ptr %2461, align 4, !tbaa !9
  %2463 = sub i32 %2449, %2462
  br label %2464

2464:                                             ; preds = %2437, %2409
  %2465 = phi i32 [ %2436, %2409 ], [ %2463, %2437 ]
  %2466 = load i32, ptr %21, align 4, !tbaa !9
  %2467 = add i32 %2466, %2465
  store i32 %2467, ptr %21, align 4, !tbaa !9
  %2468 = load ptr, ptr %73, align 8, !tbaa !16
  %2469 = load i32, ptr %4, align 4, !tbaa !9
  %2470 = load i32, ptr %6, align 4, !tbaa !9
  %2471 = mul nsw i32 %2469, %2470
  %2472 = sub nsw i32 %2471, 1
  %2473 = sext i32 %2472 to i64
  %2474 = getelementptr inbounds i32, ptr %2468, i64 %2473
  %2475 = load i32, ptr %2474, align 4, !tbaa !9
  %2476 = load ptr, ptr %73, align 8, !tbaa !16
  %2477 = load i32, ptr %4, align 4, !tbaa !9
  %2478 = load i32, ptr %13, align 4, !tbaa !9
  %2479 = sdiv i32 %2477, %2478
  %2480 = load i32, ptr %13, align 4, !tbaa !9
  %2481 = mul nsw i32 %2479, %2480
  %2482 = load i32, ptr %6, align 4, !tbaa !9
  %2483 = mul nsw i32 %2481, %2482
  %2484 = sub nsw i32 %2483, 1
  %2485 = sext i32 %2484 to i64
  %2486 = getelementptr inbounds i32, ptr %2476, i64 %2485
  %2487 = load i32, ptr %2486, align 4, !tbaa !9
  %2488 = sub i32 %2475, %2487
  %2489 = load i32, ptr %21, align 4, !tbaa !9
  %2490 = add i32 %2489, %2488
  store i32 %2490, ptr %21, align 4, !tbaa !9
  br label %2513

2491:                                             ; preds = %2349
  %2492 = load ptr, ptr %73, align 8, !tbaa !16
  %2493 = load i32, ptr %4, align 4, !tbaa !9
  %2494 = load i32, ptr %6, align 4, !tbaa !9
  %2495 = mul nsw i32 %2493, %2494
  %2496 = sub nsw i32 %2495, 1
  %2497 = sext i32 %2496 to i64
  %2498 = getelementptr inbounds i32, ptr %2492, i64 %2497
  %2499 = load i32, ptr %2498, align 4, !tbaa !9
  %2500 = load ptr, ptr %73, align 8, !tbaa !16
  %2501 = load i32, ptr %4, align 4, !tbaa !9
  %2502 = load i32, ptr %13, align 4, !tbaa !9
  %2503 = sub nsw i32 %2501, %2502
  %2504 = load i32, ptr %6, align 4, !tbaa !9
  %2505 = mul nsw i32 %2503, %2504
  %2506 = sub nsw i32 %2505, 1
  %2507 = sext i32 %2506 to i64
  %2508 = getelementptr inbounds i32, ptr %2500, i64 %2507
  %2509 = load i32, ptr %2508, align 4, !tbaa !9
  %2510 = sub i32 %2499, %2509
  %2511 = load i32, ptr %21, align 4, !tbaa !9
  %2512 = add i32 %2511, %2510
  store i32 %2512, ptr %21, align 4, !tbaa !9
  br label %2513

2513:                                             ; preds = %2491, %2464
  %2514 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.39)
          to label %2515 unwind label %2158

2515:                                             ; preds = %2513
  %2516 = load i32, ptr %21, align 4, !tbaa !9
  %2517 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2514, i32 noundef %2516)
          to label %2518 unwind label %2158

2518:                                             ; preds = %2515
  %2519 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2517, ptr noundef @.str.40)
          to label %2520 unwind label %2158

2520:                                             ; preds = %2518
  %2521 = load i32, ptr %22, align 4, !tbaa !9
  %2522 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2519, i32 noundef %2521)
          to label %2523 unwind label %2158

2523:                                             ; preds = %2520
  %2524 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2522, ptr noundef @.str.41)
          to label %2525 unwind label %2158

2525:                                             ; preds = %2523
  br label %2526

2526:                                             ; preds = %2525, %2162
  %2527 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.43)
          to label %2528 unwind label %2158

2528:                                             ; preds = %2526
  %2529 = load i32, ptr %58, align 4, !tbaa !9
  %2530 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %2527, i32 noundef %2529)
          to label %2531 unwind label %2158

2531:                                             ; preds = %2528
  %2532 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2530, ptr noundef @.str.7)
          to label %2533 unwind label %2158

2533:                                             ; preds = %2531
  %2534 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.44)
          to label %2535 unwind label %2158

2535:                                             ; preds = %2533
  %2536 = load i32, ptr %87, align 4, !tbaa !9
  %2537 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %2534, i32 noundef %2536)
          to label %2538 unwind label %2158

2538:                                             ; preds = %2535
  %2539 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2537, ptr noundef @.str.7)
          to label %2540 unwind label %2158

2540:                                             ; preds = %2538
  %2541 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.45)
          to label %2542 unwind label %2158

2542:                                             ; preds = %2540
  %2543 = load i32, ptr %98, align 4, !tbaa !9
  %2544 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2541, i32 noundef %2543)
          to label %2545 unwind label %2158

2545:                                             ; preds = %2542
  %2546 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2544, ptr noundef @.str.7)
          to label %2547 unwind label %2158

2547:                                             ; preds = %2545
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #13
  %2548 = load i32, ptr %98, align 4, !tbaa !9
  %2549 = load i32, ptr %87, align 4, !tbaa !9
  %2550 = add i32 %2548, %2549
  store i32 %2550, ptr %104, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #13
  %2551 = load i32, ptr %4, align 4, !tbaa !9
  %2552 = load i32, ptr %5, align 4, !tbaa !9
  %2553 = mul nsw i32 %2551, %2552
  store i32 %2553, ptr %105, align 4, !tbaa !9
  %2554 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.46)
          to label %2555 unwind label %2628

2555:                                             ; preds = %2547
  %2556 = load i32, ptr %104, align 4, !tbaa !9
  %2557 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2554, i32 noundef %2556)
          to label %2558 unwind label %2628

2558:                                             ; preds = %2555
  %2559 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2557, ptr noundef @.str.47)
          to label %2560 unwind label %2628

2560:                                             ; preds = %2558
  %2561 = load i32, ptr %105, align 4, !tbaa !9
  %2562 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2559, i32 noundef %2561)
          to label %2563 unwind label %2628

2563:                                             ; preds = %2560
  %2564 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2562, ptr noundef @.str.7)
          to label %2565 unwind label %2628

2565:                                             ; preds = %2563
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #13
  %2566 = load i32, ptr %4, align 4, !tbaa !9
  %2567 = load i32, ptr %10, align 4, !tbaa !9
  %2568 = sdiv i32 %2566, %2567
  %2569 = load i32, ptr %4, align 4, !tbaa !9
  %2570 = load i32, ptr %10, align 4, !tbaa !9
  %2571 = srem i32 %2569, %2570
  %2572 = icmp ne i32 %2571, 0
  %2573 = zext i1 %2572 to i32
  %2574 = add nsw i32 %2568, %2573
  %2575 = load i32, ptr %5, align 4, !tbaa !9
  %2576 = load i32, ptr %12, align 4, !tbaa !9
  %2577 = sdiv i32 %2575, %2576
  %2578 = load i32, ptr %5, align 4, !tbaa !9
  %2579 = load i32, ptr %12, align 4, !tbaa !9
  %2580 = srem i32 %2578, %2579
  %2581 = icmp ne i32 %2580, 0
  %2582 = zext i1 %2581 to i32
  %2583 = add nsw i32 %2577, %2582
  %2584 = mul nsw i32 %2574, %2583
  store i32 %2584, ptr %106, align 4, !tbaa !9
  %2585 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.48)
          to label %2586 unwind label %2632

2586:                                             ; preds = %2565
  %2587 = load i32, ptr %106, align 4, !tbaa !9
  %2588 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2585, i32 noundef %2587)
          to label %2589 unwind label %2632

2589:                                             ; preds = %2586
  %2590 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2588, ptr noundef @.str.7)
          to label %2591 unwind label %2632

2591:                                             ; preds = %2589
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #13
  %2592 = load i32, ptr %6, align 4, !tbaa !9
  %2593 = load i32, ptr %10, align 4, !tbaa !9
  %2594 = mul nsw i32 %2592, %2593
  %2595 = load i32, ptr %5, align 4, !tbaa !9
  %2596 = load i32, ptr %12, align 4, !tbaa !9
  %2597 = sdiv i32 %2595, %2596
  %2598 = load i32, ptr %5, align 4, !tbaa !9
  %2599 = load i32, ptr %12, align 4, !tbaa !9
  %2600 = srem i32 %2598, %2599
  %2601 = icmp ne i32 %2600, 0
  %2602 = zext i1 %2601 to i32
  %2603 = add nsw i32 %2597, %2602
  %2604 = mul nsw i32 %2594, %2603
  store i32 %2604, ptr %107, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #13
  %2605 = load i32, ptr %107, align 4, !tbaa !9
  %2606 = load i32, ptr %16, align 4, !tbaa !9
  %2607 = sdiv i32 %2605, %2606
  %2608 = load i32, ptr %107, align 4, !tbaa !9
  %2609 = load i32, ptr %16, align 4, !tbaa !9
  %2610 = srem i32 %2608, %2609
  %2611 = icmp ne i32 %2610, 0
  %2612 = zext i1 %2611 to i32
  %2613 = add nsw i32 %2607, %2612
  %2614 = load i32, ptr %4, align 4, !tbaa !9
  %2615 = load i32, ptr %10, align 4, !tbaa !9
  %2616 = sdiv i32 %2614, %2615
  %2617 = load i32, ptr %4, align 4, !tbaa !9
  %2618 = load i32, ptr %10, align 4, !tbaa !9
  %2619 = srem i32 %2617, %2618
  %2620 = icmp ne i32 %2619, 0
  %2621 = zext i1 %2620 to i32
  %2622 = add nsw i32 %2616, %2621
  %2623 = mul nsw i32 %2613, %2622
  store i32 %2623, ptr %108, align 4, !tbaa !9
  %2624 = load i32, ptr %5, align 4, !tbaa !9
  %2625 = load i32, ptr %12, align 4, !tbaa !9
  %2626 = icmp eq i32 %2624, %2625
  br i1 %2626, label %2627, label %2636

2627:                                             ; preds = %2591
  store i32 0, ptr %108, align 4, !tbaa !9
  br label %2636

2628:                                             ; preds = %2563, %2560, %2558, %2555, %2547
  %2629 = landingpad { ptr, i32 }
          cleanup
  %2630 = extractvalue { ptr, i32 } %2629, 0
  store ptr %2630, ptr %26, align 8
  %2631 = extractvalue { ptr, i32 } %2629, 1
  store i32 %2631, ptr %27, align 4
  br label %2761

2632:                                             ; preds = %2589, %2586, %2565
  %2633 = landingpad { ptr, i32 }
          cleanup
  %2634 = extractvalue { ptr, i32 } %2633, 0
  store ptr %2634, ptr %26, align 8
  %2635 = extractvalue { ptr, i32 } %2633, 1
  store i32 %2635, ptr %27, align 4
  br label %2760

2636:                                             ; preds = %2627, %2591
  %2637 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.49)
          to label %2638 unwind label %2681

2638:                                             ; preds = %2636
  %2639 = load i32, ptr %108, align 4, !tbaa !9
  %2640 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2637, i32 noundef %2639)
          to label %2641 unwind label %2681

2641:                                             ; preds = %2638
  %2642 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2640, ptr noundef @.str.7)
          to label %2643 unwind label %2681

2643:                                             ; preds = %2641
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #13
  %2644 = load i32, ptr %104, align 4, !tbaa !9
  %2645 = load i32, ptr %106, align 4, !tbaa !9
  %2646 = sub nsw i32 %2644, %2645
  %2647 = load i32, ptr %108, align 4, !tbaa !9
  %2648 = add nsw i32 %2646, %2647
  store i32 %2648, ptr %109, align 4, !tbaa !9
  %2649 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.50)
          to label %2650 unwind label %2685

2650:                                             ; preds = %2643
  %2651 = load i32, ptr %109, align 4, !tbaa !9
  %2652 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2649, i32 noundef %2651)
          to label %2653 unwind label %2685

2653:                                             ; preds = %2650
  %2654 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2652, ptr noundef @.str.51)
          to label %2655 unwind label %2685

2655:                                             ; preds = %2653
  %2656 = load i32, ptr %107, align 4, !tbaa !9
  %2657 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2654, i32 noundef %2656)
          to label %2658 unwind label %2685

2658:                                             ; preds = %2655
  %2659 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2657, ptr noundef @.str.7)
          to label %2660 unwind label %2685

2660:                                             ; preds = %2658
  %2661 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.52)
          to label %2662 unwind label %2685

2662:                                             ; preds = %2660
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #13
  %2663 = load i32, ptr %6, align 4, !tbaa !9
  %2664 = mul nsw i32 2, %2663
  %2665 = load i32, ptr %4, align 4, !tbaa !9
  %2666 = mul nsw i32 %2664, %2665
  %2667 = load i32, ptr %5, align 4, !tbaa !9
  %2668 = load i32, ptr %12, align 4, !tbaa !9
  %2669 = sdiv i32 %2667, %2668
  %2670 = load i32, ptr %5, align 4, !tbaa !9
  %2671 = load i32, ptr %12, align 4, !tbaa !9
  %2672 = srem i32 %2670, %2671
  %2673 = icmp ne i32 %2672, 0
  %2674 = zext i1 %2673 to i32
  %2675 = add nsw i32 %2669, %2674
  %2676 = mul nsw i32 %2666, %2675
  store i32 %2676, ptr %110, align 4, !tbaa !9
  %2677 = load i32, ptr %5, align 4, !tbaa !9
  %2678 = load i32, ptr %12, align 4, !tbaa !9
  %2679 = icmp eq i32 %2677, %2678
  br i1 %2679, label %2680, label %2689

2680:                                             ; preds = %2662
  store i32 0, ptr %110, align 4, !tbaa !9
  br label %2689

2681:                                             ; preds = %2641, %2638, %2636
  %2682 = landingpad { ptr, i32 }
          cleanup
  %2683 = extractvalue { ptr, i32 } %2682, 0
  store ptr %2683, ptr %26, align 8
  %2684 = extractvalue { ptr, i32 } %2682, 1
  store i32 %2684, ptr %27, align 4
  br label %2759

2685:                                             ; preds = %2660, %2658, %2655, %2653, %2650, %2643
  %2686 = landingpad { ptr, i32 }
          cleanup
  %2687 = extractvalue { ptr, i32 } %2686, 0
  store ptr %2687, ptr %26, align 8
  %2688 = extractvalue { ptr, i32 } %2686, 1
  store i32 %2688, ptr %27, align 4
  br label %2758

2689:                                             ; preds = %2680, %2662
  %2690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.53)
          to label %2691 unwind label %2744

2691:                                             ; preds = %2689
  %2692 = load i32, ptr %110, align 4, !tbaa !9
  %2693 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2690, i32 noundef %2692)
          to label %2694 unwind label %2744

2694:                                             ; preds = %2691
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #13
  %2695 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 2
  %2696 = load i32, ptr %2695, align 4, !tbaa !62
  %2697 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 3
  %2698 = load i32, ptr %2697, align 8, !tbaa !69
  %2699 = add i32 %2696, %2698
  %2700 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 4
  %2701 = load i32, ptr %2700, align 4, !tbaa !70
  %2702 = add i32 %2699, %2701
  %2703 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 5
  %2704 = load i32, ptr %2703, align 8, !tbaa !71
  %2705 = add i32 %2702, %2704
  %2706 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 2
  %2707 = load i32, ptr %2706, align 4, !tbaa !62
  %2708 = add i32 %2705, %2707
  %2709 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 3
  %2710 = load i32, ptr %2709, align 8, !tbaa !69
  %2711 = add i32 %2708, %2710
  %2712 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 4
  %2713 = load i32, ptr %2712, align 4, !tbaa !70
  %2714 = add i32 %2711, %2713
  %2715 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 5
  %2716 = load i32, ptr %2715, align 8, !tbaa !71
  %2717 = add i32 %2714, %2716
  store i32 %2717, ptr %111, align 4, !tbaa !9
  %2718 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.54)
          to label %2719 unwind label %2748

2719:                                             ; preds = %2694
  %2720 = load i32, ptr %111, align 4, !tbaa !9
  %2721 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2718, i32 noundef %2720)
          to label %2722 unwind label %2748

2722:                                             ; preds = %2719
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #13
  %2723 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 3
  %2724 = load i32, ptr %2723, align 8, !tbaa !69
  %2725 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 4
  %2726 = load i32, ptr %2725, align 4, !tbaa !70
  %2727 = add i32 %2724, %2726
  %2728 = getelementptr inbounds %class.SDMemoryStats, ptr %94, i32 0, i32 5
  %2729 = load i32, ptr %2728, align 8, !tbaa !71
  %2730 = add i32 %2727, %2729
  %2731 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 2
  %2732 = load i32, ptr %2731, align 4, !tbaa !62
  %2733 = add i32 %2730, %2732
  %2734 = getelementptr inbounds %class.SDMemoryStats, ptr %63, i32 0, i32 3
  %2735 = load i32, ptr %2734, align 8, !tbaa !69
  %2736 = add i32 %2733, %2735
  %2737 = load i32, ptr %110, align 4, !tbaa !9
  %2738 = add i32 %2736, %2737
  store i32 %2738, ptr %112, align 4, !tbaa !9
  %2739 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.55)
          to label %2740 unwind label %2752

2740:                                             ; preds = %2722
  %2741 = load i32, ptr %112, align 4, !tbaa !9
  %2742 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2739, i32 noundef %2741)
          to label %2743 unwind label %2752

2743:                                             ; preds = %2740
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #13
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %94) #13
  call void @llvm.lifetime.end.p0(i64 152, ptr %94) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr %91) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #13
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %63) #13
  call void @llvm.lifetime.end.p0(i64 152, ptr %63) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr %60) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #13
  call void @llvm.lifetime.end.p0(i64 160, ptr %50) #13
  call void @llvm.lifetime.end.p0(i64 160, ptr %49) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #13
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %29) #13
  call void @llvm.lifetime.end.p0(i64 520, ptr %29) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #13
  br label %2799

2744:                                             ; preds = %2691, %2689
  %2745 = landingpad { ptr, i32 }
          cleanup
  %2746 = extractvalue { ptr, i32 } %2745, 0
  store ptr %2746, ptr %26, align 8
  %2747 = extractvalue { ptr, i32 } %2745, 1
  store i32 %2747, ptr %27, align 4
  br label %2757

2748:                                             ; preds = %2719, %2694
  %2749 = landingpad { ptr, i32 }
          cleanup
  %2750 = extractvalue { ptr, i32 } %2749, 0
  store ptr %2750, ptr %26, align 8
  %2751 = extractvalue { ptr, i32 } %2749, 1
  store i32 %2751, ptr %27, align 4
  br label %2756

2752:                                             ; preds = %2740, %2722
  %2753 = landingpad { ptr, i32 }
          cleanup
  %2754 = extractvalue { ptr, i32 } %2753, 0
  store ptr %2754, ptr %26, align 8
  %2755 = extractvalue { ptr, i32 } %2753, 1
  store i32 %2755, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #13
  br label %2756

2756:                                             ; preds = %2752, %2748
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #13
  br label %2757

2757:                                             ; preds = %2756, %2744
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #13
  br label %2758

2758:                                             ; preds = %2757, %2685
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #13
  br label %2759

2759:                                             ; preds = %2758, %2681
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #13
  br label %2760

2760:                                             ; preds = %2759, %2632
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #13
  br label %2761

2761:                                             ; preds = %2760, %2628
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #13
  br label %2762

2762:                                             ; preds = %2761, %2158, %2070
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #13
  br label %2763

2763:                                             ; preds = %2762, %1975
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #13
  br label %2764

2764:                                             ; preds = %2763, %1665
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %94) #13
  br label %2765

2765:                                             ; preds = %2764, %1661
  call void @llvm.lifetime.end.p0(i64 152, ptr %94) #13
  br label %2766

2766:                                             ; preds = %2765, %1657
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #13
  br label %2767

2767:                                             ; preds = %2766, %1507, %1492
  call void @llvm.lifetime.end.p0(i64 40, ptr %91) #13
  br label %2768

2768:                                             ; preds = %2767, %1418, %1327, %1309
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #13
  br label %2769

2769:                                             ; preds = %2768, %1242
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #13
  br label %2770

2770:                                             ; preds = %2769, %1238, %1234, %1230
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #13
  br label %2771

2771:                                             ; preds = %2770, %1189, %1174, %1162
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #13
  br label %2772

2772:                                             ; preds = %2771, %1158
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #13
  br label %2773

2773:                                             ; preds = %2772, %1154
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #13
  br label %2774

2774:                                             ; preds = %2773, %1084
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #13
  br label %2775

2775:                                             ; preds = %2774, %1080
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #13
  br label %2776

2776:                                             ; preds = %2775, %1041
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #13
  br label %2777

2777:                                             ; preds = %2776, %1037
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #13
  br label %2778

2778:                                             ; preds = %2777, %955, %837
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %63) #13
  br label %2779

2779:                                             ; preds = %2778, %833
  call void @llvm.lifetime.end.p0(i64 152, ptr %63) #13
  br label %2780

2780:                                             ; preds = %2779, %829
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #13
  br label %2781

2781:                                             ; preds = %2780, %760, %745
  call void @llvm.lifetime.end.p0(i64 40, ptr %60) #13
  br label %2782

2782:                                             ; preds = %2781, %681, %663
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #13
  br label %2783

2783:                                             ; preds = %2782, %659, %655, %651
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #13
  br label %2784

2784:                                             ; preds = %2783, %616, %601, %589
  call void @llvm.lifetime.end.p0(i64 160, ptr %50) #13
  br label %2785

2785:                                             ; preds = %2784, %585
  call void @llvm.lifetime.end.p0(i64 160, ptr %49) #13
  br label %2786

2786:                                             ; preds = %2785, %581
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #13
  br label %2787

2787:                                             ; preds = %2786, %577
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #13
  br label %2788

2788:                                             ; preds = %2787, %573
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #13
  br label %2789

2789:                                             ; preds = %2788, %501
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #13
  br label %2790

2790:                                             ; preds = %2789, %497
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #13
  br label %2791

2791:                                             ; preds = %2790, %493
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #13
  br label %2792

2792:                                             ; preds = %2791, %460, %443
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #13
  br label %2793

2793:                                             ; preds = %2792, %439
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #13
  br label %2794

2794:                                             ; preds = %2793, %404
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #13
  br label %2795

2795:                                             ; preds = %2794, %400, %380
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #13
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %29) #13
  br label %2796

2796:                                             ; preds = %2795, %331
  call void @llvm.lifetime.end.p0(i64 520, ptr %29) #13
  br label %2797

2797:                                             ; preds = %2796, %327
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #13
  br label %2798

2798:                                             ; preds = %2797, %323
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #13
  br label %2824

2799:                                             ; preds = %2743, %289
  %2800 = load i32, ptr %2, align 4, !tbaa !12
  %2801 = icmp eq i32 %2800, 2
  br i1 %2801, label %2802, label %2822

2802:                                             ; preds = %2799
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #13
  store i32 0, ptr %113, align 4, !tbaa !9
  %2803 = load i32, ptr %9, align 4, !tbaa !9
  %2804 = load i32, ptr %12, align 4, !tbaa !9
  %2805 = icmp sgt i32 %2803, %2804
  br i1 %2805, label %2806, label %2808

2806:                                             ; preds = %2802
  %2807 = load i32, ptr %9, align 4, !tbaa !9
  br label %2810

2808:                                             ; preds = %2802
  %2809 = load i32, ptr %12, align 4, !tbaa !9
  br label %2810

2810:                                             ; preds = %2808, %2806
  %2811 = phi i32 [ %2807, %2806 ], [ %2809, %2808 ]
  store i32 %2811, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #13
  %2812 = load i32, ptr %4, align 4, !tbaa !9
  %2813 = mul nsw i32 2, %2812
  %2814 = load i32, ptr %14, align 4, !tbaa !9
  %2815 = mul nsw i32 %2813, %2814
  store i32 %2815, ptr %114, align 4, !tbaa !9
  %2816 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
  %2817 = load i32, ptr %113, align 4, !tbaa !9
  %2818 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2816, i32 noundef %2817)
  %2819 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2818, ptr noundef @.str.3)
  %2820 = load i32, ptr %114, align 4, !tbaa !9
  %2821 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2819, i32 noundef %2820)
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #13
  br label %2822

2822:                                             ; preds = %2810, %2799
  store i32 0, ptr %1, align 4
  store i32 1, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #13
  %2823 = load i32, ptr %1, align 4
  ret i32 %2823

2824:                                             ; preds = %2798
  %2825 = load ptr, ptr %26, align 8
  %2826 = load i32, ptr %27, align 4
  %2827 = insertvalue { ptr, i32 } poison, ptr %2825, 0
  %2828 = insertvalue { ptr, i32 } %2827, i32 %2826, 1
  resume { ptr, i32 } %2828
}

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #3

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #4

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #6 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare { i64, i1 } @llvm.umul.with.overflow.i64(i64, i64) #7

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znam(i64 noundef) #8

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef, i32 noundef) unnamed_addr #6 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef, i32 noundef) #9

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #6 align 2

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i32 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) #6 align 2

declare noundef ptr @_Z24generateMinorIDFromDensePfjjRi15GENERATION_TYPE(ptr noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) #4

declare noundef ptr @_Z29generateMajorPointerFromDensePfjj15GENERATION_TYPE(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare noundef ptr @_Z37generateMatrixSparseFromDenseNoBitmapPfjj15GENERATION_TYPE(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare noundef ptr @_Z19generateMatrixDensejjf(i32 noundef, i32 noundef, float noundef) #4

declare void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160)) unnamed_addr #4

declare noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) #4

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #8

declare void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316), ptr noundef byval(%class.Config) align 8) unnamed_addr #4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #10

declare void @_ZN6Stonne15loadSparseDenseENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_PjS7_S6_jj(ptr noundef nonnull align 8 dereferenceable(316), ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) #4

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #6 align 2

declare void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316), ptr noundef) #4

declare void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316)) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316)) #5 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #6 align 2

declare void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind writable sret(%class.MSNetworkStats) align 8, ptr noundef nonnull align 8 dereferenceable(316)) #4

declare void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind writable sret(%class.ASNetworkStats) align 8, ptr noundef nonnull align 8 dereferenceable(316)) #4

declare void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind writable sret(%class.DSNetworkStats) align 8, ptr noundef nonnull align 8 dereferenceable(316)) #4

declare void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind writable sret(%class.SDMemoryStats) align 8, ptr noundef nonnull align 8 dereferenceable(316)) #4

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #3

declare void @_Z8cpu_gemmPfS_S_jjj(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt4fabsf(float noundef) #9

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8), float noundef) #6 align 2

; Function Attrs: nobuiltin nounwind
declare void @_ZdaPv(ptr noundef) #10

; Function Attrs: nounwind
declare void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316)) unnamed_addr #11

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #6 align 2

declare void @_ZN6Stonne13loadDenseGEMMENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_S6_8Dataflow(ptr noundef nonnull align 8 dereferenceable(316), ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) #4

declare void @_ZN6Stonne12loadGEMMTileEjjj(ptr noundef nonnull align 8 dereferenceable(316), i32 noundef, i32 noundef, i32 noundef) #4

declare void @_Z16sequential_layerjjjjjjjjjPfS_S_(i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) #4

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #12

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152)) unnamed_addr #9 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #5 align 2

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { inlinehint mustprogress 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 #4 = { "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 #5 = { mustprogress 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 #6 = { mustprogress 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 #7 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #8 = { nobuiltin allocsize(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 #9 = { inlinehint mustprogress 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 #10 = { nobuiltin nounwind "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 #11 = { nounwind "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 #12 = { noreturn nounwind "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 #13 = { nounwind }
attributes #14 = { builtin allocsize(0) }
attributes #15 = { builtin nounwind }
attributes #16 = { noreturn 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 = !{!"_ZTS11KERNELORDER", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!13, !13, i64 0}
!13 = !{!"_ZTS4GRAN", !7, i64 0}
!14 = !{!15, !15, i64 0}
!15 = !{!"float", !7, i64 0}
!16 = !{!17, !17, i64 0}
!17 = !{!"any pointer", !7, i64 0}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = distinct !{!20, !19}
!21 = distinct !{!21, !19}
!22 = distinct !{!22, !19}
!23 = distinct !{!23, !19}
!24 = !{!25, !10, i64 28}
!25 = !{!"_ZTS6Config", !10, i64 0, !26, i64 4, !27, i64 8, !28, i64 24, !30, i64 40, !31, i64 64, !33, i64 72, !34, i64 96, !35, i64 104}
!26 = !{!"_ZTS15DSNetworkConfig", !10, i64 0}
!27 = !{!"_ZTS13DSwitchConfig", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12}
!28 = !{!"_ZTS15MSNetworkConfig", !29, i64 0, !10, i64 4, !10, i64 8, !10, i64 12}
!29 = !{!"_ZTS19MultiplierNetwork_t", !7, i64 0}
!30 = !{!"_ZTS13MSwitchConfig", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20}
!31 = !{!"_ZTS15ASNetworkConfig", !32, i64 0, !10, i64 4}
!32 = !{!"_ZTS15ReduceNetwork_t", !7, i64 0}
!33 = !{!"_ZTS13ASwitchConfig", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20}
!34 = !{!"_ZTS17LookUpTableConfig", !10, i64 0, !10, i64 4}
!35 = !{!"_ZTS14SDMemoryConfig", !36, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24, !37, i64 28, !10, i64 32, !10, i64 36, !10, i64 40, !10, i64 44, !10, i64 48, !10, i64 52}
!36 = !{!"_ZTS18MemoryController_t", !7, i64 0}
!37 = !{!"_ZTS17MemoryHierarchy_t", !7, i64 0}
!38 = !{!25, !10, i64 112}
!39 = !{!25, !10, i64 116}
!40 = !{!25, !10, i64 68}
!41 = !{!25, !36, i64 104}
!42 = !{!25, !10, i64 0}
!43 = !{!25, !32, i64 64}
!44 = !{i64 0, i64 4, !9, i64 4, i64 4, !9, i64 8, i64 4, !9, i64 12, i64 4, !9, i64 16, i64 4, !9, i64 20, i64 4, !9, i64 24, i64 4, !45, i64 28, i64 4, !9, i64 32, i64 4, !9, i64 36, i64 4, !9, i64 40, i64 4, !9, i64 44, i64 4, !9, i64 48, i64 4, !9, i64 52, i64 4, !9, i64 56, i64 4, !9, i64 60, i64 4, !9, i64 64, i64 4, !46, i64 68, i64 4, !9, i64 72, i64 4, !9, i64 76, i64 4, !9, i64 80, i64 4, !9, i64 84, i64 4, !9, i64 88, i64 4, !9, i64 92, i64 4, !9, i64 96, i64 4, !9, i64 100, i64 4, !9, i64 104, i64 4, !47, i64 108, i64 4, !9, i64 112, i64 4, !9, i64 116, i64 4, !9, i64 120, i64 4, !9, i64 124, i64 4, !9, i64 128, i64 4, !9, i64 132, i64 4, !48, i64 136, i64 4, !9, i64 140, i64 4, !9, i64 144, i64 4, !9, i64 148, i64 4, !9, i64 152, i64 4, !9, i64 156, i64 4, !9}
!45 = !{!29, !29, i64 0}
!46 = !{!32, !32, i64 0}
!47 = !{!36, !36, i64 0}
!48 = !{!37, !37, i64 0}
!49 = distinct !{!49, !19}
!50 = !{!51, !10, i64 16}
!51 = !{!"_ZTS14MSNetworkStats", !52, i64 0, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24, !10, i64 28, !10, i64 32, !10, i64 36}
!52 = !{!"_ZTS5Stats"}
!53 = !{!51, !10, i64 20}
!54 = !{!51, !10, i64 24}
!55 = !{!51, !10, i64 28}
!56 = !{!51, !10, i64 32}
!57 = !{!51, !10, i64 36}
!58 = !{!59, !10, i64 28}
!59 = !{!"_ZTS14ASNetworkStats", !52, i64 0, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24, !10, i64 28, !10, i64 32}
!60 = !{!61, !10, i64 24}
!61 = !{!"_ZTS14DSNetworkStats", !52, i64 0, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24}
!62 = !{!63, !10, i64 12}
!63 = !{!"_ZTS13SDMemoryStats", !52, i64 0, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24, !10, i64 28, !10, i64 32, !10, i64 36, !10, i64 40, !10, i64 44, !64, i64 48, !65, i64 56, !65, i64 80, !65, i64 104, !65, i64 128}
!64 = !{!"_ZTS8Dataflow", !7, i64 0}
!65 = !{!"_ZTSSt6vectorIjSaIjEE", !66, i64 0}
!66 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !17, i64 0, !17, i64 8, !17, i64 16}
!69 = !{!63, !10, i64 16}
!70 = !{!63, !10, i64 20}
!71 = !{!63, !10, i64 24}
!72 = distinct !{!72, !19}
!73 = distinct !{!73, !19}
!74 = distinct !{!74, !19}
!75 = distinct !{!75, !19}
!76 = distinct !{!76, !19}
!77 = distinct !{!77, !19}
!78 = distinct !{!78, !19}
!79 = distinct !{!79, !19}
!80 = distinct !{!80, !19}
!81 = distinct !{!81, !19}
!82 = distinct !{!82, !19}
!83 = distinct !{!83, !19}
!84 = distinct !{!84, !19}
!85 = distinct !{!85, !19}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.0 }
%union.anon.0 = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%class.Config = type { i32, %class.DSNetworkConfig, %class.DSwitchConfig, %class.MSNetworkConfig, %class.MSwitchConfig, %class.ASNetworkConfig, %class.ASwitchConfig, %class.LookUpTableConfig, %class.SDMemoryConfig }
%class.DSNetworkConfig = type { i32 }
%class.DSwitchConfig = type { i32, i32, i32, i32 }
%class.MSNetworkConfig = type { i32, i32, i32, i32 }
%class.MSwitchConfig = type { i32, i32, i32, i32, i32, i32 }
%class.ASNetworkConfig = type { i32, i32 }
%class.ASwitchConfig = type { i32, i32, i32, i32, i32, i32 }
%class.LookUpTableConfig = type { i32, i32 }
%class.SDMemoryConfig = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
%class.MSNetworkStats = type { %class.Stats, i32, i32, i32, i32, i32, i32, i32, i32 }
%class.Stats = type { ptr }
%class.DSNetworkStats = type <{ %class.Stats, i32, i32, i32, i32, i32, [4 x i8] }>
%class.SDMemoryStats = type { %class.Stats, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.ASNetworkStats = type <{ %class.Stats, i32, i32, i32, i32, i32, i32, i32, [4 x i8] }>

@__const.main.loop_order_agg = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.loop_order_cmb = external hidden unnamed_addr constant [4 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [104 x i8], align 1
@__PRETTY_FUNCTION__.main = external hidden unnamed_addr constant [11 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [33 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca [4 x i8], align 4
  %2 = alloca [4 x i8], align 4
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::allocator", align 1
  %5 = alloca %"class.std::basic_ifstream", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %9 = alloca i32, align 4
  %10 = alloca %class.Config, align 8
  %11 = alloca %class.Config, align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %class.MSNetworkStats, align 8
  %16 = alloca %class.DSNetworkStats, align 8
  %17 = alloca %class.SDMemoryStats, align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %class.MSNetworkStats, align 8
  %22 = alloca %class.ASNetworkStats, align 8
  %23 = alloca %class.DSNetworkStats, align 8
  %24 = alloca %class.SDMemoryStats, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %1) #13
  %25 = load i32, ptr @__const.main.loop_order_agg, align 1
  store i32 %25, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #13
  %26 = load i32, ptr @__const.main.loop_order_cmb, align 1
  store i32 %26, ptr %2, align 4
  %27 = trunc i32 %25 to i8
  %28 = trunc i32 %26 to i8
  %29 = icmp eq i8 %27, %28
  br i1 %29, label %30, label %.thread

30:                                               ; preds = %0
  %31 = lshr i32 %26, 8
  %32 = trunc i32 %31 to i8
  %33 = lshr i32 %25, 8
  %34 = trunc i32 %33 to i8
  %35 = icmp eq i8 %34, %32
  %36 = and i8 %27, -17
  %or.cond = icmp eq i8 %36, 70
  %or.cond870 = and i1 %or.cond, %35
  br i1 %or.cond870, label %40, label %37

37:                                               ; preds = %30
  %38 = icmp eq i8 %27, 86
  br i1 %38, label %40, label %.thread

.thread:                                          ; preds = %0, %37
  %39 = icmp eq i8 %27, 70
  %or.cond11 = and i1 %39, %29
  %.871 = select i1 %or.cond11, i32 2, i32 3
  br label %40

40:                                               ; preds = %.thread, %37, %30
  %41 = phi i1 [ true, %30 ], [ false, %37 ], [ false, %.thread ]
  %42 = phi i1 [ false, %30 ], [ true, %37 ], [ false, %.thread ]
  %43 = phi i1 [ false, %30 ], [ false, %37 ], [ %or.cond11, %.thread ]
  %.0 = phi i32 [ 0, %30 ], [ 1, %37 ], [ %.871, %.thread ]
  %44 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str)
  %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull %1)
  %46 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull @.str.1)
  %47 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull %2)
  %48 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull @.str.1)
  %49 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %48, i32 noundef %.0)
  %50 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull @.str)
  br i1 %41, label %51, label %56

51:                                               ; preds = %40
  %52 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.2)
  %53 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %52, i32 noundef 0)
  %54 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull @.str.3)
  %55 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %54, i32 noundef 1008)
  br label %56

56:                                               ; preds = %51, %40
  br i1 %42, label %57, label %1222

57:                                               ; preds = %56
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %58 unwind label %63

58:                                               ; preds = %57
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #13
  %59 = invoke noalias noundef nonnull dereferenceable(5456896) ptr @_Znam(i64 noundef 5456896) #14
          to label %60 unwind label %65

60:                                               ; preds = %58
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %5) #13
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %5, ptr noundef nonnull @.str.5, i32 noundef 8)
          to label %61 unwind label %67

61:                                               ; preds = %60
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #13
  br label %69

62:                                               ; preds = %73
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %5)
          to label %87 unwind label %90

63:                                               ; preds = %57
  %64 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #13
  br label %1221

65:                                               ; preds = %58
  %66 = landingpad { ptr, i32 }
          cleanup
  br label %1220

67:                                               ; preds = %60
  %68 = landingpad { ptr, i32 }
          cleanup
  br label %1219

69:                                               ; preds = %61, %73
  %indvars.iv934 = phi i64 [ 0, %61 ], [ %indvars.iv.next935, %73 ]
  %70 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %71 unwind label %74

71:                                               ; preds = %69
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %8) #13
  %72 = call noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 16, i32 noundef 8)
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(128) %8, ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %72)
          to label %.preheader890 unwind label %76

.preheader890:                                    ; preds = %71
  %.idx = mul i64 %indvars.iv934, 4672
  %invariant.gep = getelementptr i8, ptr %59, i64 %.idx
  br label %78

73:                                               ; preds = %82
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #13
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %8) #13
  %indvars.iv.next935 = add nuw nsw i64 %indvars.iv934, 1
  %exitcond937.not = icmp eq i64 %indvars.iv.next935, 1168
  br i1 %exitcond937.not, label %62, label %69, !llvm.loop !5

74:                                               ; preds = %69
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %1218

76:                                               ; preds = %71
  %77 = landingpad { ptr, i32 }
          cleanup
  br label %86

78:                                               ; preds = %.preheader890, %82
  %indvars.iv = phi i64 [ 0, %.preheader890 ], [ %indvars.iv.next, %82 ]
  %79 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef nonnull align 8 dereferenceable(32) %7, i8 noundef signext 44)
          to label %80 unwind label %84

80:                                               ; preds = %78
  %81 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef null, i32 noundef 10)
          to label %82 unwind label %84

82:                                               ; preds = %80
  %83 = uitofp i32 %81 to float
  %gep1023 = getelementptr float, ptr %invariant.gep, i64 %indvars.iv
  store float %83, ptr %gep1023, align 4, !tbaa !7
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 1168
  br i1 %exitcond.not, label %73, label %78, !llvm.loop !11

84:                                               ; preds = %80, %78
  %85 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #13
  br label %86

86:                                               ; preds = %84, %76
  %.pn863 = phi { ptr, i32 } [ %85, %84 ], [ %77, %76 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %8) #13
  br label %1218

87:                                               ; preds = %62
  %88 = invoke noalias noundef nonnull dereferenceable(5456896) ptr @_Znam(i64 noundef 5456896) #14
          to label %.preheader889.preheader unwind label %92

.preheader889.preheader:                          ; preds = %87
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(5456896) %88, ptr noundef nonnull align 4 dereferenceable(5456896) %59, i64 5456896, i1 false), !tbaa !7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #13
  store i32 0, ptr %9, align 4, !tbaa !12
  %89 = invoke noundef ptr @_Z24generateMinorIDFromDensePfjjRi15GENERATION_TYPE(ptr noundef nonnull %88, i32 noundef 1168, i32 noundef 1168, ptr noundef nonnull align 4 dereferenceable(4) %9, i32 noundef 0)
          to label %94 unwind label %100

90:                                               ; preds = %62
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %1218

92:                                               ; preds = %87
  %93 = landingpad { ptr, i32 }
          cleanup
  br label %1218

94:                                               ; preds = %.preheader889.preheader
  %95 = invoke noundef ptr @_Z29generateMajorPointerFromDensePfjj15GENERATION_TYPE(ptr noundef nonnull %88, i32 noundef 1168, i32 noundef 1168, i32 noundef 0)
          to label %96 unwind label %102

96:                                               ; preds = %94
  %97 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.6)
          to label %.preheader888 unwind label %102

98:                                               ; preds = %109
  %99 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.7)
          to label %112 unwind label %102

100:                                              ; preds = %.preheader889.preheader
  %101 = landingpad { ptr, i32 }
          cleanup
  br label %1217

102:                                              ; preds = %98, %96, %94
  %103 = landingpad { ptr, i32 }
          cleanup
  br label %1217

.preheader888:                                    ; preds = %96, %109
  %indvars.iv941 = phi i64 [ %indvars.iv.next942, %109 ], [ 0, %96 ]
  %104 = getelementptr inbounds i32, ptr %95, i64 %indvars.iv941
  %105 = load i32, ptr %104, align 4, !tbaa !12
  %106 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %105)
          to label %107 unwind label %110

107:                                              ; preds = %.preheader888
  %108 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef nonnull @.str.1)
          to label %109 unwind label %110

109:                                              ; preds = %107
  %indvars.iv.next942 = add nuw nsw i64 %indvars.iv941, 1
  %exitcond944.not = icmp eq i64 %indvars.iv.next942, 1169
  br i1 %exitcond944.not, label %98, label %.preheader888, !llvm.loop !14

110:                                              ; preds = %107, %.preheader888
  %111 = landingpad { ptr, i32 }
          cleanup
  br label %1217

112:                                              ; preds = %98
  %113 = invoke noundef ptr @_Z37generateMatrixSparseFromDenseNoBitmapPfjj15GENERATION_TYPE(ptr noundef nonnull %88, i32 noundef 1168, i32 noundef 1168, i32 noundef 0)
          to label %114 unwind label %139

114:                                              ; preds = %112
  %115 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef 1168, i32 noundef 28, float noundef 0.000000e+00)
          to label %116 unwind label %141

116:                                              ; preds = %114
  %117 = invoke noalias noundef nonnull dereferenceable(130816) ptr @_Znam(i64 noundef 130816) #14
          to label %vector.memcheck unwind label %143

vector.memcheck:                                  ; preds = %116
  %118 = ptrtoint ptr %115 to i64
  %119 = ptrtoint ptr %117 to i64
  %120 = sub i64 %119, %118
  %diff.check = icmp ult i64 %120, 32
  br i1 %diff.check, label %.preheader887, label %vector.body

vector.body:                                      ; preds = %vector.memcheck, %vector.body
  %index = phi i64 [ %index.next.3, %vector.body ], [ 0, %vector.memcheck ]
  %121 = getelementptr inbounds float, ptr %115, i64 %index
  %122 = getelementptr inbounds i8, ptr %121, i64 16
  %wide.load = load <4 x float>, ptr %121, align 4, !tbaa !7
  %wide.load1033 = load <4 x float>, ptr %122, align 4, !tbaa !7
  %123 = getelementptr inbounds float, ptr %117, i64 %index
  %124 = getelementptr inbounds i8, ptr %123, i64 16
  store <4 x float> %wide.load, ptr %123, align 4, !tbaa !7
  store <4 x float> %wide.load1033, ptr %124, align 4, !tbaa !7
  %index.next = or disjoint i64 %index, 8
  %125 = getelementptr inbounds float, ptr %115, i64 %index.next
  %126 = getelementptr inbounds i8, ptr %125, i64 16
  %wide.load.1 = load <4 x float>, ptr %125, align 4, !tbaa !7
  %wide.load1033.1 = load <4 x float>, ptr %126, align 4, !tbaa !7
  %127 = getelementptr inbounds float, ptr %117, i64 %index.next
  %128 = getelementptr inbounds i8, ptr %127, i64 16
  store <4 x float> %wide.load.1, ptr %127, align 4, !tbaa !7
  store <4 x float> %wide.load1033.1, ptr %128, align 4, !tbaa !7
  %index.next.1 = or disjoint i64 %index, 16
  %129 = getelementptr inbounds float, ptr %115, i64 %index.next.1
  %130 = getelementptr inbounds i8, ptr %129, i64 16
  %wide.load.2 = load <4 x float>, ptr %129, align 4, !tbaa !7
  %wide.load1033.2 = load <4 x float>, ptr %130, align 4, !tbaa !7
  %131 = getelementptr inbounds float, ptr %117, i64 %index.next.1
  %132 = getelementptr inbounds i8, ptr %131, i64 16
  store <4 x float> %wide.load.2, ptr %131, align 4, !tbaa !7
  store <4 x float> %wide.load1033.2, ptr %132, align 4, !tbaa !7
  %index.next.2 = or disjoint i64 %index, 24
  %133 = getelementptr inbounds float, ptr %115, i64 %index.next.2
  %134 = getelementptr inbounds i8, ptr %133, i64 16
  %wide.load.3 = load <4 x float>, ptr %133, align 4, !tbaa !7
  %wide.load1033.3 = load <4 x float>, ptr %134, align 4, !tbaa !7
  %135 = getelementptr inbounds float, ptr %117, i64 %index.next.2
  %136 = getelementptr inbounds i8, ptr %135, i64 16
  store <4 x float> %wide.load.3, ptr %135, align 4, !tbaa !7
  store <4 x float> %wide.load1033.3, ptr %136, align 4, !tbaa !7
  %index.next.3 = add nuw nsw i64 %index, 32
  %137 = icmp eq i64 %index.next.3, 32704
  br i1 %137, label %middle.block, label %vector.body, !llvm.loop !15

middle.block:                                     ; preds = %vector.body, %.preheader887
  %138 = invoke noalias noundef nonnull dereferenceable(130816) ptr @_Znam(i64 noundef 130816) #14
          to label %157 unwind label %170

139:                                              ; preds = %112
  %140 = landingpad { ptr, i32 }
          cleanup
  br label %1217

141:                                              ; preds = %114
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %1217

143:                                              ; preds = %116
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %1217

.preheader887:                                    ; preds = %vector.memcheck, %.preheader887
  %indvars.iv945 = phi i64 [ %indvars.iv.next946.3, %.preheader887 ], [ 0, %vector.memcheck ]
  %145 = getelementptr inbounds float, ptr %115, i64 %indvars.iv945
  %146 = load float, ptr %145, align 4, !tbaa !7
  %147 = getelementptr inbounds float, ptr %117, i64 %indvars.iv945
  store float %146, ptr %147, align 4, !tbaa !7
  %indvars.iv.next946 = or disjoint i64 %indvars.iv945, 1
  %148 = getelementptr inbounds float, ptr %115, i64 %indvars.iv.next946
  %149 = load float, ptr %148, align 4, !tbaa !7
  %150 = getelementptr inbounds float, ptr %117, i64 %indvars.iv.next946
  store float %149, ptr %150, align 4, !tbaa !7
  %indvars.iv.next946.1 = or disjoint i64 %indvars.iv945, 2
  %151 = getelementptr inbounds float, ptr %115, i64 %indvars.iv.next946.1
  %152 = load float, ptr %151, align 4, !tbaa !7
  %153 = getelementptr inbounds float, ptr %117, i64 %indvars.iv.next946.1
  store float %152, ptr %153, align 4, !tbaa !7
  %indvars.iv.next946.2 = or disjoint i64 %indvars.iv945, 3
  %154 = getelementptr inbounds float, ptr %115, i64 %indvars.iv.next946.2
  %155 = load float, ptr %154, align 4, !tbaa !7
  %156 = getelementptr inbounds float, ptr %117, i64 %indvars.iv.next946.2
  store float %155, ptr %156, align 4, !tbaa !7
  %indvars.iv.next946.3 = add nuw nsw i64 %indvars.iv945, 4
  %exitcond948.not.3 = icmp eq i64 %indvars.iv.next946.3, 32704
  br i1 %exitcond948.not.3, label %middle.block, label %.preheader887, !llvm.loop !18

157:                                              ; preds = %middle.block
  %158 = invoke noalias noundef nonnull dereferenceable(130816) ptr @_Znam(i64 noundef 130816) #14
          to label %159 unwind label %172

159:                                              ; preds = %157
  %160 = invoke noalias noundef nonnull dereferenceable(130816) ptr @_Znam(i64 noundef 130816) #14
          to label %161 unwind label %174

161:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %10) #13
  invoke void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160) %10)
          to label %162 unwind label %176

162:                                              ; preds = %161
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %11) #13
  invoke void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160) %11)
          to label %163 unwind label %178

163:                                              ; preds = %162
  %164 = getelementptr inbounds i8, ptr %10, i64 28
  store i32 512, ptr %164, align 4, !tbaa !19
  %165 = getelementptr inbounds i8, ptr %10, i64 104
  %166 = getelementptr inbounds i8, ptr %10, i64 112
  store i32 512, ptr %166, align 8, !tbaa !33
  %167 = getelementptr inbounds i8, ptr %10, i64 116
  store i32 512, ptr %167, align 4, !tbaa !34
  %168 = getelementptr inbounds i8, ptr %10, i64 64
  %169 = getelementptr inbounds i8, ptr %10, i64 68
  store i32 1, ptr %169, align 4, !tbaa !35
  store i32 2, ptr %165, align 8, !tbaa !36
  store i32 0, ptr %10, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %180 unwind label %184

170:                                              ; preds = %middle.block
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %1217

172:                                              ; preds = %157
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %1217

174:                                              ; preds = %159
  %175 = landingpad { ptr, i32 }
          cleanup
  br label %1217

176:                                              ; preds = %161
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %1216

178:                                              ; preds = %162
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %1215

180:                                              ; preds = %163
  %181 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %12)
          to label %182 unwind label %186

182:                                              ; preds = %180
  store i32 %181, ptr %168, align 8, !tbaa !38
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #13
  %183 = invoke noalias noundef nonnull dereferenceable(320) ptr @_Znwm(i64 noundef 320) #14
          to label %189 unwind label %197

184:                                              ; preds = %163
  %185 = landingpad { ptr, i32 }
          cleanup
  br label %188

186:                                              ; preds = %180
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #13
  br label %188

188:                                              ; preds = %186, %184
  %.pn = phi { ptr, i32 } [ %187, %186 ], [ %185, %184 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #13
  br label %1215

189:                                              ; preds = %182
  invoke void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316) %183, ptr noundef nonnull byval(%class.Config) align 8 %10)
          to label %190 unwind label %199

190:                                              ; preds = %189
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %191 unwind label %197

191:                                              ; preds = %190
  invoke void @_ZN6Stonne15loadSparseDenseENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_PjS7_S6_jj(ptr noundef nonnull align 8 dereferenceable(316) %183, ptr noundef nonnull %14, i32 noundef 28, i32 noundef 1168, i32 noundef 1168, ptr noundef %113, ptr noundef nonnull %117, ptr noundef %89, ptr noundef %95, ptr noundef nonnull %160, i32 noundef 28, i32 noundef 1)
          to label %192 unwind label %201

192:                                              ; preds = %191
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #13
  invoke void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316) %183, ptr noundef nonnull %138)
          to label %193 unwind label %197

193:                                              ; preds = %192
  invoke void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316) %183)
          to label %194 unwind label %197

194:                                              ; preds = %193
  %195 = call noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316) %183)
  br label %203

196:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #13
  invoke void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.MSNetworkStats) align 8 %15, ptr noundef nonnull align 8 dereferenceable(316) %183)
          to label %213 unwind label %267

197:                                              ; preds = %193, %192, %190, %182
  %198 = landingpad { ptr, i32 }
          cleanup
  br label %1215

199:                                              ; preds = %189
  %200 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %183, i64 noundef 320) #15
  br label %1215

201:                                              ; preds = %191
  %202 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #13
  br label %1215

203:                                              ; preds = %194, %209
  %indvars.iv949 = phi i64 [ 27, %194 ], [ %indvars.iv.next950, %209 ]
  %204 = getelementptr inbounds i32, ptr %138, i64 %indvars.iv949
  %205 = load i32, ptr %204, align 4, !tbaa !12
  %206 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %205)
          to label %207 unwind label %211

207:                                              ; preds = %203
  %208 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %206, ptr noundef nonnull @.str.1)
          to label %209 unwind label %211

209:                                              ; preds = %207
  %indvars.iv.next950 = add nuw nsw i64 %indvars.iv949, 28
  %210 = icmp ult i64 %indvars.iv949, 32676
  br i1 %210, label %203, label %196, !llvm.loop !39

211:                                              ; preds = %207, %203
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %1215

213:                                              ; preds = %196
  %214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.10)
          to label %215 unwind label %267

215:                                              ; preds = %213
  %216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.11)
          to label %217 unwind label %267

217:                                              ; preds = %215
  %218 = getelementptr inbounds i8, ptr %15, i64 16
  %219 = load i32, ptr %218, align 8, !tbaa !40
  %220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %216, i32 noundef %219)
          to label %221 unwind label %267

221:                                              ; preds = %217
  %222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %220, ptr noundef nonnull @.str)
          to label %223 unwind label %267

223:                                              ; preds = %221
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.12)
          to label %225 unwind label %267

225:                                              ; preds = %223
  %226 = getelementptr inbounds i8, ptr %15, i64 20
  %227 = load i32, ptr %226, align 4, !tbaa !43
  %228 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %224, i32 noundef %227)
          to label %229 unwind label %267

229:                                              ; preds = %225
  %230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %228, ptr noundef nonnull @.str)
          to label %231 unwind label %267

231:                                              ; preds = %229
  %232 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.13)
          to label %233 unwind label %267

233:                                              ; preds = %231
  %234 = getelementptr inbounds i8, ptr %15, i64 24
  %235 = load i32, ptr %234, align 8, !tbaa !44
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %232, i32 noundef %235)
          to label %237 unwind label %267

237:                                              ; preds = %233
  %238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef nonnull @.str)
          to label %239 unwind label %267

239:                                              ; preds = %237
  %240 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.14)
          to label %241 unwind label %267

241:                                              ; preds = %239
  %242 = getelementptr inbounds i8, ptr %15, i64 28
  %243 = load i32, ptr %242, align 4, !tbaa !45
  %244 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %240, i32 noundef %243)
          to label %245 unwind label %267

245:                                              ; preds = %241
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef nonnull @.str)
          to label %247 unwind label %267

247:                                              ; preds = %245
  %248 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.15)
          to label %249 unwind label %267

249:                                              ; preds = %247
  %250 = getelementptr inbounds i8, ptr %15, i64 32
  %251 = load i32, ptr %250, align 8, !tbaa !46
  %252 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %248, i32 noundef %251)
          to label %253 unwind label %267

253:                                              ; preds = %249
  %254 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %252, ptr noundef nonnull @.str)
          to label %255 unwind label %267

255:                                              ; preds = %253
  %256 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.16)
          to label %257 unwind label %267

257:                                              ; preds = %255
  %258 = getelementptr inbounds i8, ptr %15, i64 36
  %259 = load i32, ptr %258, align 4, !tbaa !47
  %260 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %256, i32 noundef %259)
          to label %261 unwind label %267

261:                                              ; preds = %257
  %262 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %260, ptr noundef nonnull @.str)
          to label %263 unwind label %267

263:                                              ; preds = %261
  %264 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.17)
          to label %265 unwind label %267

265:                                              ; preds = %263
  %266 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.18)
          to label %269 unwind label %267

267:                                              ; preds = %265, %263, %261, %257, %255, %253, %249, %247, %245, %241, %239, %237, %233, %231, %229, %225, %223, %221, %217, %215, %213, %196
  %268 = landingpad { ptr, i32 }
          cleanup
  br label %1214

269:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #13
  invoke void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.DSNetworkStats) align 8 %16, ptr noundef nonnull align 8 dereferenceable(316) %183)
          to label %270 unwind label %328

270:                                              ; preds = %269
  %271 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.20)
          to label %272 unwind label %328

272:                                              ; preds = %270
  %273 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %274 unwind label %328

274:                                              ; preds = %272
  %275 = getelementptr inbounds i8, ptr %16, i64 24
  %276 = load i32, ptr %275, align 8, !tbaa !48
  %277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %273, i32 noundef %276)
          to label %278 unwind label %328

278:                                              ; preds = %274
  %279 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %277, ptr noundef nonnull @.str)
          to label %280 unwind label %328

280:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %17) #13
  invoke void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind nonnull writable sret(%class.SDMemoryStats) align 8 %17, ptr noundef nonnull align 8 dereferenceable(316) %183)
          to label %281 unwind label %330

281:                                              ; preds = %280
  %282 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.21)
          to label %283 unwind label %332

283:                                              ; preds = %281
  %284 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.22)
          to label %285 unwind label %332

285:                                              ; preds = %283
  %286 = getelementptr inbounds i8, ptr %17, i64 12
  %287 = load i32, ptr %286, align 4, !tbaa !50
  %288 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %284, i32 noundef %287)
          to label %289 unwind label %332

289:                                              ; preds = %285
  %290 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %288, ptr noundef nonnull @.str)
          to label %291 unwind label %332

291:                                              ; preds = %289
  %292 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.23)
          to label %293 unwind label %332

293:                                              ; preds = %291
  %294 = getelementptr inbounds i8, ptr %17, i64 16
  %295 = load i32, ptr %294, align 8, !tbaa !58
  %296 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %292, i32 noundef %295)
          to label %297 unwind label %332

297:                                              ; preds = %293
  %298 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull @.str)
          to label %299 unwind label %332

299:                                              ; preds = %297
  %300 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.24)
          to label %301 unwind label %332

301:                                              ; preds = %299
  %302 = getelementptr inbounds i8, ptr %17, i64 20
  %303 = load i32, ptr %302, align 4, !tbaa !59
  %304 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %300, i32 noundef %303)
          to label %305 unwind label %332

305:                                              ; preds = %301
  %306 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %304, ptr noundef nonnull @.str)
          to label %307 unwind label %332

307:                                              ; preds = %305
  %308 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.25)
          to label %309 unwind label %332

309:                                              ; preds = %307
  %310 = getelementptr inbounds i8, ptr %17, i64 24
  %311 = load i32, ptr %310, align 8, !tbaa !60
  %312 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %308, i32 noundef %311)
          to label %313 unwind label %332

313:                                              ; preds = %309
  %314 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %312, ptr noundef nonnull @.str)
          to label %315 unwind label %332

315:                                              ; preds = %313
  %316 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.26)
          to label %317 unwind label %332

317:                                              ; preds = %315
  %318 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %316, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %319 unwind label %332

319:                                              ; preds = %317
  invoke void @_Z8cpu_gemmPfS_S_jjj(ptr noundef nonnull %59, ptr noundef %115, ptr noundef nonnull %158, i32 noundef 1168, i32 noundef 28, i32 noundef 1168)
          to label %.preheader886 unwind label %332

.preheader886:                                    ; preds = %319
  %320 = icmp eq ptr %115, null
  %321 = icmp eq ptr %89, null
  %322 = icmp eq ptr %95, null
  %323 = icmp eq ptr %113, null
  br label %.preheader885

.preheader885:                                    ; preds = %.preheader886, %334
  %indvars.iv956 = phi i64 [ 0, %.preheader886 ], [ %indvars.iv.next957, %334 ]
  %324 = mul nuw nsw i64 %indvars.iv956, 28
  %325 = trunc nuw nsw i64 %indvars.iv956 to i32
  br label %335

326:                                              ; preds = %334
  %327 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.32)
          to label %381 unwind label %332

328:                                              ; preds = %278, %274, %272, %270, %269
  %329 = landingpad { ptr, i32 }
          cleanup
  br label %1213

330:                                              ; preds = %280
  %331 = landingpad { ptr, i32 }
          cleanup
  br label %1212

332:                                              ; preds = %393, %383, %381, %326, %319, %317, %315, %313, %309, %307, %305, %301, %299, %297, %293, %291, %289, %285, %283, %281
  %333 = landingpad { ptr, i32 }
          cleanup
  br label %1211

334:                                              ; preds = %380
  %indvars.iv.next957 = add nuw nsw i64 %indvars.iv956, 1
  %exitcond959.not = icmp eq i64 %indvars.iv.next957, 1168
  br i1 %exitcond959.not, label %326, label %.preheader885, !llvm.loop !61

335:                                              ; preds = %.preheader885, %380
  %indvars.iv952 = phi i64 [ 0, %.preheader885 ], [ %indvars.iv.next953, %380 ]
  %336 = add nuw nsw i64 %indvars.iv952, %324
  %337 = getelementptr inbounds float, ptr %158, i64 %336
  %338 = load float, ptr %337, align 4, !tbaa !7
  %339 = getelementptr inbounds float, ptr %160, i64 %336
  %340 = load float, ptr %339, align 4, !tbaa !7
  %341 = fsub float %338, %340
  %342 = call noundef float @_ZSt4fabsf(float noundef %341)
  %343 = fcmp ogt float %342, 0x3FA99999A0000000
  br i1 %343, label %344, label %380

344:                                              ; preds = %335
  %345 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %346 unwind label %378

346:                                              ; preds = %344
  %347 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %345, i32 noundef %325)
          to label %348 unwind label %378

348:                                              ; preds = %346
  %349 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %347, ptr noundef nonnull @.str.28)
          to label %350 unwind label %378

350:                                              ; preds = %348
  %351 = trunc nuw nsw i64 %indvars.iv952 to i32
  %352 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %349, i32 noundef %351)
          to label %353 unwind label %378

353:                                              ; preds = %350
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %352, ptr noundef nonnull @.str.29)
          to label %355 unwind label %378

355:                                              ; preds = %353
  %356 = load float, ptr %339, align 4, !tbaa !7
  %357 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %354, float noundef %356)
          to label %358 unwind label %378

358:                                              ; preds = %355
  %359 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %357, ptr noundef nonnull @.str.30)
          to label %360 unwind label %378

360:                                              ; preds = %358
  %361 = load float, ptr %337, align 4, !tbaa !7
  %362 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %359, float noundef %361)
          to label %363 unwind label %378

363:                                              ; preds = %360
  %364 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %362, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %365 unwind label %378

365:                                              ; preds = %363
  %366 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.31)
          to label %367 unwind label %378

367:                                              ; preds = %365
  %368 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %366, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %369 unwind label %378

369:                                              ; preds = %367
  call void @_ZdaPv(ptr noundef nonnull %88) #15
  call void @_ZdaPv(ptr noundef nonnull %117) #15
  call void @_ZdaPv(ptr noundef nonnull %59) #15
  br i1 %320, label %371, label %370

370:                                              ; preds = %369
  call void @_ZdaPv(ptr noundef nonnull %115) #15
  br label %371

371:                                              ; preds = %370, %369
  br i1 %321, label %373, label %372

372:                                              ; preds = %371
  call void @_ZdaPv(ptr noundef nonnull %89) #15
  br label %373

373:                                              ; preds = %372, %371
  br i1 %322, label %375, label %374

374:                                              ; preds = %373
  call void @_ZdaPv(ptr noundef nonnull %95) #15
  br label %375

375:                                              ; preds = %374, %373
  br i1 %323, label %377, label %376

376:                                              ; preds = %375
  call void @_ZdaPv(ptr noundef nonnull %113) #15
  br label %377

377:                                              ; preds = %375, %376
  call void @_ZdaPv(ptr noundef nonnull %158) #15
  call void @_ZdaPv(ptr noundef nonnull %160) #15
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %183) #13
  call void @_ZdlPvm(ptr noundef nonnull %183, i64 noundef 320) #15
  br label %380

378:                                              ; preds = %367, %365, %363, %360, %358, %355, %353, %350, %348, %346, %344
  %379 = landingpad { ptr, i32 }
          cleanup
  br label %1211

380:                                              ; preds = %377, %335
  %indvars.iv.next953 = add nuw nsw i64 %indvars.iv952, 1
  %exitcond955.not = icmp eq i64 %indvars.iv.next953, 28
  br i1 %exitcond955.not, label %334, label %335, !llvm.loop !62

381:                                              ; preds = %326
  %382 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %327, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %383 unwind label %332

383:                                              ; preds = %381
  %384 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %382, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %385 unwind label %332

385:                                              ; preds = %383
  call void @_ZdaPv(ptr noundef nonnull %59) #15
  br i1 %320, label %387, label %386

386:                                              ; preds = %385
  call void @_ZdaPv(ptr noundef nonnull %115) #15
  br label %387

387:                                              ; preds = %385, %386
  call void @_ZdaPv(ptr noundef nonnull %88) #15
  call void @_ZdaPv(ptr noundef nonnull %117) #15
  br i1 %321, label %389, label %388

388:                                              ; preds = %387
  call void @_ZdaPv(ptr noundef nonnull %89) #15
  br label %389

389:                                              ; preds = %388, %387
  br i1 %322, label %391, label %390

390:                                              ; preds = %389
  call void @_ZdaPv(ptr noundef nonnull %95) #15
  br label %391

391:                                              ; preds = %390, %389
  br i1 %323, label %393, label %392

392:                                              ; preds = %391
  call void @_ZdaPv(ptr noundef nonnull %113) #15
  br label %393

393:                                              ; preds = %391, %392
  call void @_ZdaPv(ptr noundef nonnull %158) #15
  call void @_ZdaPv(ptr noundef nonnull %160) #15
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %183) #13
  call void @_ZdlPvm(ptr noundef nonnull %183, i64 noundef 320) #15
  %394 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.33)
          to label %395 unwind label %332

395:                                              ; preds = %393
  %396 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef 1168, i32 noundef 28, float noundef 0.000000e+00)
          to label %397 unwind label %420

397:                                              ; preds = %395
  %398 = invoke noalias noundef nonnull dereferenceable(130816) ptr @_Znam(i64 noundef 130816) #14
          to label %vector.memcheck1034 unwind label %422

vector.memcheck1034:                              ; preds = %397
  %399 = ptrtoint ptr %396 to i64
  %400 = ptrtoint ptr %398 to i64
  %401 = sub i64 %400, %399
  %diff.check1035 = icmp ult i64 %401, 32
  br i1 %diff.check1035, label %.preheader884, label %vector.body1040

vector.body1040:                                  ; preds = %vector.memcheck1034, %vector.body1040
  %index1041 = phi i64 [ %index.next1044.3, %vector.body1040 ], [ 0, %vector.memcheck1034 ]
  %402 = getelementptr inbounds float, ptr %396, i64 %index1041
  %403 = getelementptr inbounds i8, ptr %402, i64 16
  %wide.load1042 = load <4 x float>, ptr %402, align 4, !tbaa !7
  %wide.load1043 = load <4 x float>, ptr %403, align 4, !tbaa !7
  %404 = getelementptr inbounds float, ptr %398, i64 %index1041
  %405 = getelementptr inbounds i8, ptr %404, i64 16
  store <4 x float> %wide.load1042, ptr %404, align 4, !tbaa !7
  store <4 x float> %wide.load1043, ptr %405, align 4, !tbaa !7
  %index.next1044 = or disjoint i64 %index1041, 8
  %406 = getelementptr inbounds float, ptr %396, i64 %index.next1044
  %407 = getelementptr inbounds i8, ptr %406, i64 16
  %wide.load1042.1 = load <4 x float>, ptr %406, align 4, !tbaa !7
  %wide.load1043.1 = load <4 x float>, ptr %407, align 4, !tbaa !7
  %408 = getelementptr inbounds float, ptr %398, i64 %index.next1044
  %409 = getelementptr inbounds i8, ptr %408, i64 16
  store <4 x float> %wide.load1042.1, ptr %408, align 4, !tbaa !7
  store <4 x float> %wide.load1043.1, ptr %409, align 4, !tbaa !7
  %index.next1044.1 = or disjoint i64 %index1041, 16
  %410 = getelementptr inbounds float, ptr %396, i64 %index.next1044.1
  %411 = getelementptr inbounds i8, ptr %410, i64 16
  %wide.load1042.2 = load <4 x float>, ptr %410, align 4, !tbaa !7
  %wide.load1043.2 = load <4 x float>, ptr %411, align 4, !tbaa !7
  %412 = getelementptr inbounds float, ptr %398, i64 %index.next1044.1
  %413 = getelementptr inbounds i8, ptr %412, i64 16
  store <4 x float> %wide.load1042.2, ptr %412, align 4, !tbaa !7
  store <4 x float> %wide.load1043.2, ptr %413, align 4, !tbaa !7
  %index.next1044.2 = or disjoint i64 %index1041, 24
  %414 = getelementptr inbounds float, ptr %396, i64 %index.next1044.2
  %415 = getelementptr inbounds i8, ptr %414, i64 16
  %wide.load1042.3 = load <4 x float>, ptr %414, align 4, !tbaa !7
  %wide.load1043.3 = load <4 x float>, ptr %415, align 4, !tbaa !7
  %416 = getelementptr inbounds float, ptr %398, i64 %index.next1044.2
  %417 = getelementptr inbounds i8, ptr %416, i64 16
  store <4 x float> %wide.load1042.3, ptr %416, align 4, !tbaa !7
  store <4 x float> %wide.load1043.3, ptr %417, align 4, !tbaa !7
  %index.next1044.3 = add nuw nsw i64 %index1041, 32
  %418 = icmp eq i64 %index.next1044.3, 32704
  br i1 %418, label %middle.block1036, label %vector.body1040, !llvm.loop !63

middle.block1036:                                 ; preds = %vector.body1040, %.preheader884
  %419 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef 28, i32 noundef 2, float noundef 0.000000e+00)
          to label %436 unwind label %605

420:                                              ; preds = %395
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %1211

422:                                              ; preds = %397
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %1211

.preheader884:                                    ; preds = %vector.memcheck1034, %.preheader884
  %indvars.iv960 = phi i64 [ %indvars.iv.next961.3, %.preheader884 ], [ 0, %vector.memcheck1034 ]
  %424 = getelementptr inbounds float, ptr %396, i64 %indvars.iv960
  %425 = load float, ptr %424, align 4, !tbaa !7
  %426 = getelementptr inbounds float, ptr %398, i64 %indvars.iv960
  store float %425, ptr %426, align 4, !tbaa !7
  %indvars.iv.next961 = or disjoint i64 %indvars.iv960, 1
  %427 = getelementptr inbounds float, ptr %396, i64 %indvars.iv.next961
  %428 = load float, ptr %427, align 4, !tbaa !7
  %429 = getelementptr inbounds float, ptr %398, i64 %indvars.iv.next961
  store float %428, ptr %429, align 4, !tbaa !7
  %indvars.iv.next961.1 = or disjoint i64 %indvars.iv960, 2
  %430 = getelementptr inbounds float, ptr %396, i64 %indvars.iv.next961.1
  %431 = load float, ptr %430, align 4, !tbaa !7
  %432 = getelementptr inbounds float, ptr %398, i64 %indvars.iv.next961.1
  store float %431, ptr %432, align 4, !tbaa !7
  %indvars.iv.next961.2 = or disjoint i64 %indvars.iv960, 3
  %433 = getelementptr inbounds float, ptr %396, i64 %indvars.iv.next961.2
  %434 = load float, ptr %433, align 4, !tbaa !7
  %435 = getelementptr inbounds float, ptr %398, i64 %indvars.iv.next961.2
  store float %434, ptr %435, align 4, !tbaa !7
  %indvars.iv.next961.3 = add nuw nsw i64 %indvars.iv960, 4
  %exitcond963.not.3 = icmp eq i64 %indvars.iv.next961.3, 32704
  br i1 %exitcond963.not.3, label %middle.block1036, label %.preheader884, !llvm.loop !64

436:                                              ; preds = %middle.block1036
  %437 = invoke noalias noundef nonnull dereferenceable(224) ptr @_Znam(i64 noundef 224) #14
          to label %.preheader883.preheader unwind label %607

.preheader883.preheader:                          ; preds = %436
  %438 = load float, ptr %419, align 4, !tbaa !7
  store float %438, ptr %437, align 4, !tbaa !7
  %439 = getelementptr inbounds i8, ptr %419, i64 4
  %440 = load float, ptr %439, align 4, !tbaa !7
  %441 = getelementptr inbounds i8, ptr %437, i64 4
  store float %440, ptr %441, align 4, !tbaa !7
  %442 = getelementptr inbounds i8, ptr %419, i64 8
  %443 = load float, ptr %442, align 4, !tbaa !7
  %444 = getelementptr inbounds i8, ptr %437, i64 8
  store float %443, ptr %444, align 4, !tbaa !7
  %445 = getelementptr inbounds i8, ptr %419, i64 12
  %446 = load float, ptr %445, align 4, !tbaa !7
  %447 = getelementptr inbounds i8, ptr %437, i64 12
  store float %446, ptr %447, align 4, !tbaa !7
  %448 = getelementptr inbounds i8, ptr %419, i64 16
  %449 = load float, ptr %448, align 4, !tbaa !7
  %450 = getelementptr inbounds i8, ptr %437, i64 16
  store float %449, ptr %450, align 4, !tbaa !7
  %451 = getelementptr inbounds i8, ptr %419, i64 20
  %452 = load float, ptr %451, align 4, !tbaa !7
  %453 = getelementptr inbounds i8, ptr %437, i64 20
  store float %452, ptr %453, align 4, !tbaa !7
  %454 = getelementptr inbounds i8, ptr %419, i64 24
  %455 = load float, ptr %454, align 4, !tbaa !7
  %456 = getelementptr inbounds i8, ptr %437, i64 24
  store float %455, ptr %456, align 4, !tbaa !7
  %457 = getelementptr inbounds i8, ptr %419, i64 28
  %458 = load float, ptr %457, align 4, !tbaa !7
  %459 = getelementptr inbounds i8, ptr %437, i64 28
  store float %458, ptr %459, align 4, !tbaa !7
  %460 = getelementptr inbounds i8, ptr %419, i64 32
  %461 = load float, ptr %460, align 4, !tbaa !7
  %462 = getelementptr inbounds i8, ptr %437, i64 32
  store float %461, ptr %462, align 4, !tbaa !7
  %463 = getelementptr inbounds i8, ptr %419, i64 36
  %464 = load float, ptr %463, align 4, !tbaa !7
  %465 = getelementptr inbounds i8, ptr %437, i64 36
  store float %464, ptr %465, align 4, !tbaa !7
  %466 = getelementptr inbounds i8, ptr %419, i64 40
  %467 = load float, ptr %466, align 4, !tbaa !7
  %468 = getelementptr inbounds i8, ptr %437, i64 40
  store float %467, ptr %468, align 4, !tbaa !7
  %469 = getelementptr inbounds i8, ptr %419, i64 44
  %470 = load float, ptr %469, align 4, !tbaa !7
  %471 = getelementptr inbounds i8, ptr %437, i64 44
  store float %470, ptr %471, align 4, !tbaa !7
  %472 = getelementptr inbounds i8, ptr %419, i64 48
  %473 = load float, ptr %472, align 4, !tbaa !7
  %474 = getelementptr inbounds i8, ptr %437, i64 48
  store float %473, ptr %474, align 4, !tbaa !7
  %475 = getelementptr inbounds i8, ptr %419, i64 52
  %476 = load float, ptr %475, align 4, !tbaa !7
  %477 = getelementptr inbounds i8, ptr %437, i64 52
  store float %476, ptr %477, align 4, !tbaa !7
  %478 = getelementptr inbounds i8, ptr %419, i64 56
  %479 = load float, ptr %478, align 4, !tbaa !7
  %480 = getelementptr inbounds i8, ptr %437, i64 56
  store float %479, ptr %480, align 4, !tbaa !7
  %481 = getelementptr inbounds i8, ptr %419, i64 60
  %482 = load float, ptr %481, align 4, !tbaa !7
  %483 = getelementptr inbounds i8, ptr %437, i64 60
  store float %482, ptr %483, align 4, !tbaa !7
  %484 = getelementptr inbounds i8, ptr %419, i64 64
  %485 = load float, ptr %484, align 4, !tbaa !7
  %486 = getelementptr inbounds i8, ptr %437, i64 64
  store float %485, ptr %486, align 4, !tbaa !7
  %487 = getelementptr inbounds i8, ptr %419, i64 68
  %488 = load float, ptr %487, align 4, !tbaa !7
  %489 = getelementptr inbounds i8, ptr %437, i64 68
  store float %488, ptr %489, align 4, !tbaa !7
  %490 = getelementptr inbounds i8, ptr %419, i64 72
  %491 = load float, ptr %490, align 4, !tbaa !7
  %492 = getelementptr inbounds i8, ptr %437, i64 72
  store float %491, ptr %492, align 4, !tbaa !7
  %493 = getelementptr inbounds i8, ptr %419, i64 76
  %494 = load float, ptr %493, align 4, !tbaa !7
  %495 = getelementptr inbounds i8, ptr %437, i64 76
  store float %494, ptr %495, align 4, !tbaa !7
  %496 = getelementptr inbounds i8, ptr %419, i64 80
  %497 = load float, ptr %496, align 4, !tbaa !7
  %498 = getelementptr inbounds i8, ptr %437, i64 80
  store float %497, ptr %498, align 4, !tbaa !7
  %499 = getelementptr inbounds i8, ptr %419, i64 84
  %500 = load float, ptr %499, align 4, !tbaa !7
  %501 = getelementptr inbounds i8, ptr %437, i64 84
  store float %500, ptr %501, align 4, !tbaa !7
  %502 = getelementptr inbounds i8, ptr %419, i64 88
  %503 = load float, ptr %502, align 4, !tbaa !7
  %504 = getelementptr inbounds i8, ptr %437, i64 88
  store float %503, ptr %504, align 4, !tbaa !7
  %505 = getelementptr inbounds i8, ptr %419, i64 92
  %506 = load float, ptr %505, align 4, !tbaa !7
  %507 = getelementptr inbounds i8, ptr %437, i64 92
  store float %506, ptr %507, align 4, !tbaa !7
  %508 = getelementptr inbounds i8, ptr %419, i64 96
  %509 = load float, ptr %508, align 4, !tbaa !7
  %510 = getelementptr inbounds i8, ptr %437, i64 96
  store float %509, ptr %510, align 4, !tbaa !7
  %511 = getelementptr inbounds i8, ptr %419, i64 100
  %512 = load float, ptr %511, align 4, !tbaa !7
  %513 = getelementptr inbounds i8, ptr %437, i64 100
  store float %512, ptr %513, align 4, !tbaa !7
  %514 = getelementptr inbounds i8, ptr %419, i64 104
  %515 = load float, ptr %514, align 4, !tbaa !7
  %516 = getelementptr inbounds i8, ptr %437, i64 104
  store float %515, ptr %516, align 4, !tbaa !7
  %517 = getelementptr inbounds i8, ptr %419, i64 108
  %518 = load float, ptr %517, align 4, !tbaa !7
  %519 = getelementptr inbounds i8, ptr %437, i64 108
  store float %518, ptr %519, align 4, !tbaa !7
  %520 = getelementptr inbounds i8, ptr %419, i64 112
  %521 = load float, ptr %520, align 4, !tbaa !7
  %522 = getelementptr inbounds i8, ptr %437, i64 112
  store float %521, ptr %522, align 4, !tbaa !7
  %523 = getelementptr inbounds i8, ptr %419, i64 116
  %524 = load float, ptr %523, align 4, !tbaa !7
  %525 = getelementptr inbounds i8, ptr %437, i64 116
  store float %524, ptr %525, align 4, !tbaa !7
  %526 = getelementptr inbounds i8, ptr %419, i64 120
  %527 = load float, ptr %526, align 4, !tbaa !7
  %528 = getelementptr inbounds i8, ptr %437, i64 120
  store float %527, ptr %528, align 4, !tbaa !7
  %529 = getelementptr inbounds i8, ptr %419, i64 124
  %530 = load float, ptr %529, align 4, !tbaa !7
  %531 = getelementptr inbounds i8, ptr %437, i64 124
  store float %530, ptr %531, align 4, !tbaa !7
  %532 = getelementptr inbounds i8, ptr %419, i64 128
  %533 = load float, ptr %532, align 4, !tbaa !7
  %534 = getelementptr inbounds i8, ptr %437, i64 128
  store float %533, ptr %534, align 4, !tbaa !7
  %535 = getelementptr inbounds i8, ptr %419, i64 132
  %536 = load float, ptr %535, align 4, !tbaa !7
  %537 = getelementptr inbounds i8, ptr %437, i64 132
  store float %536, ptr %537, align 4, !tbaa !7
  %538 = getelementptr inbounds i8, ptr %419, i64 136
  %539 = load float, ptr %538, align 4, !tbaa !7
  %540 = getelementptr inbounds i8, ptr %437, i64 136
  store float %539, ptr %540, align 4, !tbaa !7
  %541 = getelementptr inbounds i8, ptr %419, i64 140
  %542 = load float, ptr %541, align 4, !tbaa !7
  %543 = getelementptr inbounds i8, ptr %437, i64 140
  store float %542, ptr %543, align 4, !tbaa !7
  %544 = getelementptr inbounds i8, ptr %419, i64 144
  %545 = load float, ptr %544, align 4, !tbaa !7
  %546 = getelementptr inbounds i8, ptr %437, i64 144
  store float %545, ptr %546, align 4, !tbaa !7
  %547 = getelementptr inbounds i8, ptr %419, i64 148
  %548 = load float, ptr %547, align 4, !tbaa !7
  %549 = getelementptr inbounds i8, ptr %437, i64 148
  store float %548, ptr %549, align 4, !tbaa !7
  %550 = getelementptr inbounds i8, ptr %419, i64 152
  %551 = load float, ptr %550, align 4, !tbaa !7
  %552 = getelementptr inbounds i8, ptr %437, i64 152
  store float %551, ptr %552, align 4, !tbaa !7
  %553 = getelementptr inbounds i8, ptr %419, i64 156
  %554 = load float, ptr %553, align 4, !tbaa !7
  %555 = getelementptr inbounds i8, ptr %437, i64 156
  store float %554, ptr %555, align 4, !tbaa !7
  %556 = getelementptr inbounds i8, ptr %419, i64 160
  %557 = load float, ptr %556, align 4, !tbaa !7
  %558 = getelementptr inbounds i8, ptr %437, i64 160
  store float %557, ptr %558, align 4, !tbaa !7
  %559 = getelementptr inbounds i8, ptr %419, i64 164
  %560 = load float, ptr %559, align 4, !tbaa !7
  %561 = getelementptr inbounds i8, ptr %437, i64 164
  store float %560, ptr %561, align 4, !tbaa !7
  %562 = getelementptr inbounds i8, ptr %419, i64 168
  %563 = load float, ptr %562, align 4, !tbaa !7
  %564 = getelementptr inbounds i8, ptr %437, i64 168
  store float %563, ptr %564, align 4, !tbaa !7
  %565 = getelementptr inbounds i8, ptr %419, i64 172
  %566 = load float, ptr %565, align 4, !tbaa !7
  %567 = getelementptr inbounds i8, ptr %437, i64 172
  store float %566, ptr %567, align 4, !tbaa !7
  %568 = getelementptr inbounds i8, ptr %419, i64 176
  %569 = load float, ptr %568, align 4, !tbaa !7
  %570 = getelementptr inbounds i8, ptr %437, i64 176
  store float %569, ptr %570, align 4, !tbaa !7
  %571 = getelementptr inbounds i8, ptr %419, i64 180
  %572 = load float, ptr %571, align 4, !tbaa !7
  %573 = getelementptr inbounds i8, ptr %437, i64 180
  store float %572, ptr %573, align 4, !tbaa !7
  %574 = getelementptr inbounds i8, ptr %419, i64 184
  %575 = load float, ptr %574, align 4, !tbaa !7
  %576 = getelementptr inbounds i8, ptr %437, i64 184
  store float %575, ptr %576, align 4, !tbaa !7
  %577 = getelementptr inbounds i8, ptr %419, i64 188
  %578 = load float, ptr %577, align 4, !tbaa !7
  %579 = getelementptr inbounds i8, ptr %437, i64 188
  store float %578, ptr %579, align 4, !tbaa !7
  %580 = getelementptr inbounds i8, ptr %419, i64 192
  %581 = load float, ptr %580, align 4, !tbaa !7
  %582 = getelementptr inbounds i8, ptr %437, i64 192
  store float %581, ptr %582, align 4, !tbaa !7
  %583 = getelementptr inbounds i8, ptr %419, i64 196
  %584 = load float, ptr %583, align 4, !tbaa !7
  %585 = getelementptr inbounds i8, ptr %437, i64 196
  store float %584, ptr %585, align 4, !tbaa !7
  %586 = getelementptr inbounds i8, ptr %419, i64 200
  %587 = load float, ptr %586, align 4, !tbaa !7
  %588 = getelementptr inbounds i8, ptr %437, i64 200
  store float %587, ptr %588, align 4, !tbaa !7
  %589 = getelementptr inbounds i8, ptr %419, i64 204
  %590 = load float, ptr %589, align 4, !tbaa !7
  %591 = getelementptr inbounds i8, ptr %437, i64 204
  store float %590, ptr %591, align 4, !tbaa !7
  %592 = getelementptr inbounds i8, ptr %419, i64 208
  %593 = load float, ptr %592, align 4, !tbaa !7
  %594 = getelementptr inbounds i8, ptr %437, i64 208
  store float %593, ptr %594, align 4, !tbaa !7
  %595 = getelementptr inbounds i8, ptr %419, i64 212
  %596 = load float, ptr %595, align 4, !tbaa !7
  %597 = getelementptr inbounds i8, ptr %437, i64 212
  store float %596, ptr %597, align 4, !tbaa !7
  %598 = getelementptr inbounds i8, ptr %419, i64 216
  %599 = load float, ptr %598, align 4, !tbaa !7
  %600 = getelementptr inbounds i8, ptr %437, i64 216
  store float %599, ptr %600, align 4, !tbaa !7
  %601 = getelementptr inbounds i8, ptr %419, i64 220
  %602 = load float, ptr %601, align 4, !tbaa !7
  %603 = getelementptr inbounds i8, ptr %437, i64 220
  store float %602, ptr %603, align 4, !tbaa !7
  %604 = invoke noalias noundef nonnull dereferenceable(9344) ptr @_Znam(i64 noundef 9344) #14
          to label %609 unwind label %624

605:                                              ; preds = %middle.block1036
  %606 = landingpad { ptr, i32 }
          cleanup
  br label %1211

607:                                              ; preds = %436
  %608 = landingpad { ptr, i32 }
          cleanup
  br label %1211

609:                                              ; preds = %.preheader883.preheader
  %610 = invoke noalias noundef nonnull dereferenceable(9344) ptr @_Znam(i64 noundef 9344) #14
          to label %611 unwind label %626

611:                                              ; preds = %609
  %612 = invoke noalias noundef nonnull dereferenceable(9344) ptr @_Znam(i64 noundef 9344) #14
          to label %613 unwind label %628

613:                                              ; preds = %611
  %614 = getelementptr inbounds i8, ptr %11, i64 28
  store i32 512, ptr %614, align 4, !tbaa !19
  %615 = getelementptr inbounds i8, ptr %11, i64 104
  %616 = getelementptr inbounds i8, ptr %11, i64 112
  store i32 512, ptr %616, align 8, !tbaa !33
  %617 = getelementptr inbounds i8, ptr %11, i64 116
  store i32 512, ptr %617, align 4, !tbaa !34
  %618 = getelementptr inbounds i8, ptr %11, i64 64
  %619 = getelementptr inbounds i8, ptr %11, i64 68
  store i32 1, ptr %619, align 4, !tbaa !35
  store i32 0, ptr %615, align 8, !tbaa !36
  store i32 0, ptr %11, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %620 unwind label %630

620:                                              ; preds = %613
  %621 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %18)
          to label %622 unwind label %632

622:                                              ; preds = %620
  store i32 %621, ptr %618, align 8, !tbaa !38
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #13
  %623 = invoke noalias noundef nonnull dereferenceable(320) ptr @_Znwm(i64 noundef 320) #14
          to label %635 unwind label %652

624:                                              ; preds = %.preheader883.preheader
  %625 = landingpad { ptr, i32 }
          cleanup
  br label %1211

626:                                              ; preds = %609
  %627 = landingpad { ptr, i32 }
          cleanup
  br label %1211

628:                                              ; preds = %611
  %629 = landingpad { ptr, i32 }
          cleanup
  br label %1211

630:                                              ; preds = %613
  %631 = landingpad { ptr, i32 }
          cleanup
  br label %634

632:                                              ; preds = %620
  %633 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #13
  br label %634

634:                                              ; preds = %632, %630
  %.pn816 = phi { ptr, i32 } [ %633, %632 ], [ %631, %630 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #13
  br label %1211

635:                                              ; preds = %622
  invoke void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316) %623, ptr noundef nonnull byval(%class.Config) align 8 %11)
          to label %636 unwind label %654

636:                                              ; preds = %635
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %637 unwind label %652

637:                                              ; preds = %636
  invoke void @_ZN6Stonne13loadDenseGEMMENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_S6_8Dataflow(ptr noundef nonnull align 8 dereferenceable(316) %623, ptr noundef nonnull %20, i32 noundef 2, i32 noundef 28, i32 noundef 1168, ptr noundef nonnull %398, ptr noundef nonnull %437, ptr noundef nonnull %612, i32 noundef 0)
          to label %638 unwind label %656

638:                                              ; preds = %637
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #13
  invoke void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316) %623, ptr noundef nonnull %604)
          to label %639 unwind label %652

639:                                              ; preds = %638
  invoke void @_ZN6Stonne12loadGEMMTileEjjj(ptr noundef nonnull align 8 dereferenceable(316) %623, i32 noundef 1, i32 noundef 28, i32 noundef 18)
          to label %640 unwind label %652

640:                                              ; preds = %639
  invoke void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316) %623)
          to label %641 unwind label %652

641:                                              ; preds = %640
  %642 = invoke noalias noundef nonnull dereferenceable(9344) ptr @_Znam(i64 noundef 9344) #14
          to label %.preheader882.preheader unwind label %658

.preheader882.preheader:                          ; preds = %641
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(9344) %642, ptr noundef nonnull align 4 dereferenceable(9344) %604, i64 9344, i1 false), !tbaa !12
  %invariant.gep1024 = getelementptr inbounds i8, ptr %642, i64 4672
  %invariant.gep1068 = getelementptr i8, ptr %604, i64 -4
  %invariant.gep1069 = getelementptr i8, ptr %604, i64 -4
  br label %vector.body1049

vector.body1049:                                  ; preds = %vector.body1049, %.preheader882.preheader
  %index1050 = phi i64 [ 0, %.preheader882.preheader ], [ %index.next1056, %vector.body1049 ]
  %643 = shl nuw nsw i64 %index1050, 1
  %644 = shl i64 %index1050, 1
  %645 = getelementptr inbounds i32, ptr %642, i64 %index1050
  %646 = getelementptr inbounds i8, ptr %645, i64 8
  %wide.load1051 = load <2 x i32>, ptr %645, align 4, !tbaa !12
  %wide.load1052 = load <2 x i32>, ptr %646, align 4, !tbaa !12
  %647 = getelementptr inbounds i32, ptr %invariant.gep1024, i64 %index1050
  %648 = getelementptr inbounds i8, ptr %647, i64 8
  %wide.load1053 = load <2 x i32>, ptr %647, align 4, !tbaa !12
  %wide.load1054 = load <2 x i32>, ptr %648, align 4, !tbaa !12
  %649 = or disjoint i64 %643, 1
  %650 = or disjoint i64 %644, 5
  %gep = getelementptr i32, ptr %invariant.gep1068, i64 %649
  %gep1070 = getelementptr i32, ptr %invariant.gep1069, i64 %650
  %interleaved.vec = shufflevector <2 x i32> %wide.load1051, <2 x i32> %wide.load1053, <4 x i32> <i32 0, i32 2, i32 1, i32 3>
  store <4 x i32> %interleaved.vec, ptr %gep, align 4, !tbaa !12
  %interleaved.vec1055 = shufflevector <2 x i32> %wide.load1052, <2 x i32> %wide.load1054, <4 x i32> <i32 0, i32 2, i32 1, i32 3>
  store <4 x i32> %interleaved.vec1055, ptr %gep1070, align 4, !tbaa !12
  %index.next1056 = add nuw i64 %index1050, 4
  %651 = icmp eq i64 %index.next1056, 1168
  br i1 %651, label %middle.block1045, label %vector.body1049, !llvm.loop !65

652:                                              ; preds = %640, %639, %638, %636, %622
  %653 = landingpad { ptr, i32 }
          cleanup
  br label %1211

654:                                              ; preds = %635
  %655 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %623, i64 noundef 320) #15
  br label %1211

656:                                              ; preds = %637
  %657 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #13
  br label %1211

658:                                              ; preds = %641
  %659 = landingpad { ptr, i32 }
          cleanup
  br label %1211

middle.block1045:                                 ; preds = %vector.body1049
  %660 = call noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316) %623)
  br label %665

661:                                              ; preds = %671
  %662 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.26)
          to label %675 unwind label %663

663:                                              ; preds = %716, %714, %678, %677, %675, %661
  %664 = landingpad { ptr, i32 }
          cleanup
  br label %1211

665:                                              ; preds = %middle.block1045, %671
  %indvars.iv978 = phi i64 [ 1, %middle.block1045 ], [ %indvars.iv.next979, %671 ]
  %666 = getelementptr inbounds i32, ptr %604, i64 %indvars.iv978
  %667 = load i32, ptr %666, align 4, !tbaa !12
  %668 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %667)
          to label %669 unwind label %673

669:                                              ; preds = %665
  %670 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %668, ptr noundef nonnull @.str.1)
          to label %671 unwind label %673

671:                                              ; preds = %669
  %indvars.iv.next979 = add nuw nsw i64 %indvars.iv978, 2
  %672 = icmp ult i64 %indvars.iv978, 2334
  br i1 %672, label %665, label %661, !llvm.loop !66

673:                                              ; preds = %669, %665
  %674 = landingpad { ptr, i32 }
          cleanup
  br label %1211

675:                                              ; preds = %661
  %676 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %662, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %677 unwind label %663

677:                                              ; preds = %675
  invoke void @_Z16sequential_layerjjjjjjjjjPfS_S_(i32 noundef 1, i32 noundef 28, i32 noundef 1, i32 noundef 1168, i32 noundef 1, i32 noundef 1, i32 noundef 2, i32 noundef 28, i32 noundef 1, ptr noundef nonnull %437, ptr noundef nonnull %398, ptr noundef nonnull %610)
          to label %.preheader879 unwind label %663

678:                                              ; preds = %713
  %679 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.32)
          to label %714 unwind label %663

.preheader879:                                    ; preds = %677, %713
  %indvars.iv981 = phi i64 [ %indvars.iv.next982, %713 ], [ 0, %677 ]
  %680 = getelementptr inbounds float, ptr %612, i64 %indvars.iv981
  %681 = load float, ptr %680, align 4, !tbaa !7
  %682 = getelementptr inbounds float, ptr %610, i64 %indvars.iv981
  %683 = load float, ptr %682, align 4, !tbaa !7
  %684 = fsub float %681, %683
  %685 = call noundef float @_ZSt4fabsf(float noundef %684)
  %686 = fcmp ogt float %685, 0x3FA99999A0000000
  br i1 %686, label %687, label %713

687:                                              ; preds = %.preheader879
  %688 = getelementptr inbounds float, ptr %612, i64 %indvars.iv981
  %689 = getelementptr inbounds float, ptr %610, i64 %indvars.iv981
  %690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.34)
          to label %691 unwind label %711

691:                                              ; preds = %687
  %692 = trunc nuw nsw i64 %indvars.iv981 to i32
  %693 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %690, i32 noundef %692)
          to label %694 unwind label %711

694:                                              ; preds = %691
  %695 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %693, ptr noundef nonnull @.str.35)
          to label %696 unwind label %711

696:                                              ; preds = %694
  %697 = load float, ptr %688, align 4, !tbaa !7
  %698 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %695, float noundef %697)
          to label %699 unwind label %711

699:                                              ; preds = %696
  %700 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %698, ptr noundef nonnull @.str.36)
          to label %701 unwind label %711

701:                                              ; preds = %699
  %702 = load float, ptr %689, align 4, !tbaa !7
  %703 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %700, float noundef %702)
          to label %704 unwind label %711

704:                                              ; preds = %701
  %705 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %703, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %706 unwind label %711

706:                                              ; preds = %704
  %707 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.31)
          to label %708 unwind label %711

708:                                              ; preds = %706
  %709 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %707, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %710 unwind label %711

710:                                              ; preds = %708
  call void @_ZdaPv(ptr noundef nonnull %398) #15
  call void @_ZdaPv(ptr noundef nonnull %437) #15
  call void @_ZdaPv(ptr noundef nonnull %612) #15
  call void @_ZdaPv(ptr noundef nonnull %610) #15
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %183) #13
  call void @_ZdlPvm(ptr noundef nonnull %183, i64 noundef 320) #15
  call void @__assert_fail(ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.38, i32 noundef 330, ptr noundef nonnull @__PRETTY_FUNCTION__.main) #16
  unreachable

711:                                              ; preds = %708, %706, %704, %701, %699, %696, %694, %691, %687
  %712 = landingpad { ptr, i32 }
          cleanup
  br label %1211

713:                                              ; preds = %.preheader879
  %indvars.iv.next982 = add nuw nsw i64 %indvars.iv981, 1
  %exitcond984.not = icmp eq i64 %indvars.iv.next982, 2336
  br i1 %exitcond984.not, label %678, label %.preheader879, !llvm.loop !67

714:                                              ; preds = %678
  %715 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %679, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %716 unwind label %663

716:                                              ; preds = %714
  %717 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %715, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %718 unwind label %663

718:                                              ; preds = %716
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21) #13
  invoke void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.MSNetworkStats) align 8 %21, ptr noundef nonnull align 8 dereferenceable(316) %623)
          to label %719 unwind label %771

719:                                              ; preds = %718
  %720 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.10)
          to label %721 unwind label %771

721:                                              ; preds = %719
  %722 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.11)
          to label %723 unwind label %771

723:                                              ; preds = %721
  %724 = getelementptr inbounds i8, ptr %21, i64 16
  %725 = load i32, ptr %724, align 8, !tbaa !40
  %726 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %722, i32 noundef %725)
          to label %727 unwind label %771

727:                                              ; preds = %723
  %728 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %726, ptr noundef nonnull @.str)
          to label %729 unwind label %771

729:                                              ; preds = %727
  %730 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.12)
          to label %731 unwind label %771

731:                                              ; preds = %729
  %732 = getelementptr inbounds i8, ptr %21, i64 20
  %733 = load i32, ptr %732, align 4, !tbaa !43
  %734 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %730, i32 noundef %733)
          to label %735 unwind label %771

735:                                              ; preds = %731
  %736 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %734, ptr noundef nonnull @.str)
          to label %737 unwind label %771

737:                                              ; preds = %735
  %738 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.13)
          to label %739 unwind label %771

739:                                              ; preds = %737
  %740 = getelementptr inbounds i8, ptr %21, i64 24
  %741 = load i32, ptr %740, align 8, !tbaa !44
  %742 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %738, i32 noundef %741)
          to label %743 unwind label %771

743:                                              ; preds = %739
  %744 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %742, ptr noundef nonnull @.str)
          to label %745 unwind label %771

745:                                              ; preds = %743
  %746 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.14)
          to label %747 unwind label %771

747:                                              ; preds = %745
  %748 = getelementptr inbounds i8, ptr %21, i64 28
  %749 = load i32, ptr %748, align 4, !tbaa !45
  %750 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %746, i32 noundef %749)
          to label %751 unwind label %771

751:                                              ; preds = %747
  %752 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %750, ptr noundef nonnull @.str)
          to label %753 unwind label %771

753:                                              ; preds = %751
  %754 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.15)
          to label %755 unwind label %771

755:                                              ; preds = %753
  %756 = getelementptr inbounds i8, ptr %21, i64 32
  %757 = load i32, ptr %756, align 8, !tbaa !46
  %758 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %754, i32 noundef %757)
          to label %759 unwind label %771

759:                                              ; preds = %755
  %760 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %758, ptr noundef nonnull @.str)
          to label %761 unwind label %771

761:                                              ; preds = %759
  %762 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.16)
          to label %763 unwind label %771

763:                                              ; preds = %761
  %764 = getelementptr inbounds i8, ptr %21, i64 36
  %765 = load i32, ptr %764, align 4, !tbaa !47
  %766 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %762, i32 noundef %765)
          to label %767 unwind label %771

767:                                              ; preds = %763
  %768 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %766, ptr noundef nonnull @.str)
          to label %769 unwind label %771

769:                                              ; preds = %767
  %770 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.17)
          to label %773 unwind label %771

771:                                              ; preds = %769, %767, %763, %761, %759, %755, %753, %751, %747, %745, %743, %739, %737, %735, %731, %729, %727, %723, %721, %719, %718
  %772 = landingpad { ptr, i32 }
          cleanup
  br label %1210

773:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %22) #13
  invoke void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.ASNetworkStats) align 8 %22, ptr noundef nonnull align 8 dereferenceable(316) %623)
          to label %774 unwind label %783

774:                                              ; preds = %773
  %775 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %776 unwind label %783

776:                                              ; preds = %774
  %777 = getelementptr inbounds i8, ptr %22, i64 28
  %778 = load i32, ptr %777, align 4, !tbaa !68
  %779 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %775, i32 noundef %778)
          to label %780 unwind label %783

780:                                              ; preds = %776
  %781 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %779, ptr noundef nonnull @.str)
          to label %782 unwind label %783

782:                                              ; preds = %780
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #13
  invoke void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.DSNetworkStats) align 8 %23, ptr noundef nonnull align 8 dereferenceable(316) %623)
          to label %785 unwind label %922

783:                                              ; preds = %780, %776, %774, %773
  %784 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #13
  br label %1210

785:                                              ; preds = %782
  %786 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.20)
          to label %787 unwind label %922

787:                                              ; preds = %785
  %788 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %789 unwind label %922

789:                                              ; preds = %787
  %790 = getelementptr inbounds i8, ptr %23, i64 24
  %791 = load i32, ptr %790, align 8, !tbaa !48
  %792 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %788, i32 noundef %791)
          to label %793 unwind label %922

793:                                              ; preds = %789
  %794 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %792, ptr noundef nonnull @.str)
          to label %795 unwind label %922

795:                                              ; preds = %793
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %24) #13
  invoke void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind nonnull writable sret(%class.SDMemoryStats) align 8 %24, ptr noundef nonnull align 8 dereferenceable(316) %623)
          to label %796 unwind label %924

796:                                              ; preds = %795
  %797 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.21)
          to label %798 unwind label %926

798:                                              ; preds = %796
  %799 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.22)
          to label %800 unwind label %926

800:                                              ; preds = %798
  %801 = getelementptr inbounds i8, ptr %24, i64 12
  %802 = load i32, ptr %801, align 4, !tbaa !50
  %803 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %799, i32 noundef %802)
          to label %804 unwind label %926

804:                                              ; preds = %800
  %805 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %803, ptr noundef nonnull @.str)
          to label %806 unwind label %926

806:                                              ; preds = %804
  %807 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.23)
          to label %808 unwind label %926

808:                                              ; preds = %806
  %809 = getelementptr inbounds i8, ptr %24, i64 16
  %810 = load i32, ptr %809, align 8, !tbaa !58
  %811 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %807, i32 noundef %810)
          to label %812 unwind label %926

812:                                              ; preds = %808
  %813 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %811, ptr noundef nonnull @.str)
          to label %814 unwind label %926

814:                                              ; preds = %812
  %815 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.24)
          to label %816 unwind label %926

816:                                              ; preds = %814
  %817 = getelementptr inbounds i8, ptr %24, i64 20
  %818 = load i32, ptr %817, align 4, !tbaa !59
  %819 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %815, i32 noundef %818)
          to label %820 unwind label %926

820:                                              ; preds = %816
  %821 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %819, ptr noundef nonnull @.str)
          to label %822 unwind label %926

822:                                              ; preds = %820
  %823 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.25)
          to label %824 unwind label %926

824:                                              ; preds = %822
  %825 = getelementptr inbounds i8, ptr %24, i64 24
  %826 = load i32, ptr %825, align 8, !tbaa !60
  %827 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %823, i32 noundef %826)
          to label %828 unwind label %926

828:                                              ; preds = %824
  %829 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %827, ptr noundef nonnull @.str)
          to label %830 unwind label %926

830:                                              ; preds = %828
  call void @_ZdaPv(ptr noundef nonnull %398) #15
  call void @_ZdaPv(ptr noundef nonnull %437) #15
  call void @_ZdaPv(ptr noundef nonnull %612) #15
  call void @_ZdaPv(ptr noundef nonnull %610) #15
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %623) #13
  call void @_ZdlPvm(ptr noundef nonnull %623, i64 noundef 320) #15
  %831 = invoke noalias noundef nonnull dereferenceable(260) ptr @_Znam(i64 noundef 260) #14
          to label %.preheader878 unwind label %1047

.preheader878:                                    ; preds = %830
  %832 = getelementptr inbounds i8, ptr %138, i64 108
  %833 = load i32, ptr %832, align 4, !tbaa !12
  %834 = getelementptr inbounds i8, ptr %138, i64 220
  %835 = load i32, ptr %834, align 4, !tbaa !12
  %836 = getelementptr inbounds i8, ptr %138, i64 108
  %837 = load i32, ptr %836, align 4, !tbaa !12
  %838 = sub i32 %835, %837
  %spec.select.1.peel = call i32 @llvm.umax.i32(i32 %838, i32 %833)
  %839 = getelementptr inbounds i8, ptr %138, i64 332
  %840 = load i32, ptr %839, align 4, !tbaa !12
  %841 = getelementptr inbounds i8, ptr %138, i64 220
  %842 = load i32, ptr %841, align 4, !tbaa !12
  %843 = sub i32 %840, %842
  %spec.select.2.peel = call i32 @llvm.umax.i32(i32 %843, i32 %spec.select.1.peel)
  %844 = getelementptr inbounds i8, ptr %138, i64 444
  %845 = load i32, ptr %844, align 4, !tbaa !12
  %846 = getelementptr inbounds i8, ptr %138, i64 332
  %847 = load i32, ptr %846, align 4, !tbaa !12
  %848 = sub i32 %845, %847
  %spec.select.3.peel = call i32 @llvm.umax.i32(i32 %848, i32 %spec.select.2.peel)
  %849 = getelementptr inbounds i8, ptr %138, i64 556
  %850 = load i32, ptr %849, align 4, !tbaa !12
  %851 = getelementptr inbounds i8, ptr %138, i64 444
  %852 = load i32, ptr %851, align 4, !tbaa !12
  %853 = sub i32 %850, %852
  %spec.select.4.peel = call i32 @llvm.umax.i32(i32 %853, i32 %spec.select.3.peel)
  %854 = getelementptr inbounds i8, ptr %138, i64 668
  %855 = load i32, ptr %854, align 4, !tbaa !12
  %856 = getelementptr inbounds i8, ptr %138, i64 556
  %857 = load i32, ptr %856, align 4, !tbaa !12
  %858 = sub i32 %855, %857
  %spec.select.5.peel = call i32 @llvm.umax.i32(i32 %858, i32 %spec.select.4.peel)
  %859 = getelementptr inbounds i8, ptr %138, i64 780
  %860 = load i32, ptr %859, align 4, !tbaa !12
  %861 = getelementptr inbounds i8, ptr %138, i64 668
  %862 = load i32, ptr %861, align 4, !tbaa !12
  %863 = sub i32 %860, %862
  %spec.select.6.peel = call i32 @llvm.umax.i32(i32 %863, i32 %spec.select.5.peel)
  %864 = getelementptr inbounds i8, ptr %138, i64 892
  %865 = load i32, ptr %864, align 4, !tbaa !12
  %866 = getelementptr inbounds i8, ptr %138, i64 780
  %867 = load i32, ptr %866, align 4, !tbaa !12
  %868 = sub i32 %865, %867
  %spec.select.7.peel = call i32 @llvm.umax.i32(i32 %868, i32 %spec.select.6.peel)
  %869 = getelementptr inbounds i8, ptr %138, i64 1004
  %870 = load i32, ptr %869, align 4, !tbaa !12
  %871 = getelementptr inbounds i8, ptr %138, i64 892
  %872 = load i32, ptr %871, align 4, !tbaa !12
  %873 = sub i32 %870, %872
  %spec.select.8.peel = call i32 @llvm.umax.i32(i32 %873, i32 %spec.select.7.peel)
  %874 = getelementptr inbounds i8, ptr %138, i64 1116
  %875 = load i32, ptr %874, align 4, !tbaa !12
  %876 = getelementptr inbounds i8, ptr %138, i64 1004
  %877 = load i32, ptr %876, align 4, !tbaa !12
  %878 = sub i32 %875, %877
  %spec.select.9.peel = call i32 @llvm.umax.i32(i32 %878, i32 %spec.select.8.peel)
  %879 = getelementptr inbounds i8, ptr %138, i64 1228
  %880 = load i32, ptr %879, align 4, !tbaa !12
  %881 = getelementptr inbounds i8, ptr %138, i64 1116
  %882 = load i32, ptr %881, align 4, !tbaa !12
  %883 = sub i32 %880, %882
  %spec.select.10.peel = call i32 @llvm.umax.i32(i32 %883, i32 %spec.select.9.peel)
  %884 = getelementptr inbounds i8, ptr %138, i64 1340
  %885 = load i32, ptr %884, align 4, !tbaa !12
  %886 = getelementptr inbounds i8, ptr %138, i64 1228
  %887 = load i32, ptr %886, align 4, !tbaa !12
  %888 = sub i32 %885, %887
  %spec.select.11.peel = call i32 @llvm.umax.i32(i32 %888, i32 %spec.select.10.peel)
  %889 = getelementptr inbounds i8, ptr %138, i64 1452
  %890 = load i32, ptr %889, align 4, !tbaa !12
  %891 = getelementptr inbounds i8, ptr %138, i64 1340
  %892 = load i32, ptr %891, align 4, !tbaa !12
  %893 = sub i32 %890, %892
  %spec.select.12.peel = call i32 @llvm.umax.i32(i32 %893, i32 %spec.select.11.peel)
  %894 = getelementptr inbounds i8, ptr %138, i64 1564
  %895 = load i32, ptr %894, align 4, !tbaa !12
  %896 = getelementptr inbounds i8, ptr %138, i64 1452
  %897 = load i32, ptr %896, align 4, !tbaa !12
  %898 = sub i32 %895, %897
  %spec.select.13.peel = call i32 @llvm.umax.i32(i32 %898, i32 %spec.select.12.peel)
  %899 = getelementptr inbounds i8, ptr %138, i64 1676
  %900 = load i32, ptr %899, align 4, !tbaa !12
  %901 = getelementptr inbounds i8, ptr %138, i64 1564
  %902 = load i32, ptr %901, align 4, !tbaa !12
  %903 = sub i32 %900, %902
  %spec.select.14.peel = call i32 @llvm.umax.i32(i32 %903, i32 %spec.select.13.peel)
  %904 = getelementptr inbounds i8, ptr %138, i64 1788
  %905 = load i32, ptr %904, align 4, !tbaa !12
  %906 = getelementptr inbounds i8, ptr %138, i64 1676
  %907 = load i32, ptr %906, align 4, !tbaa !12
  %908 = sub i32 %905, %907
  %spec.select.15.peel = call i32 @llvm.umax.i32(i32 %908, i32 %spec.select.14.peel)
  %909 = getelementptr inbounds i8, ptr %138, i64 1900
  %910 = load i32, ptr %909, align 4, !tbaa !12
  %911 = getelementptr inbounds i8, ptr %138, i64 1788
  %912 = load i32, ptr %911, align 4, !tbaa !12
  %913 = sub i32 %910, %912
  %spec.select.16.peel = call i32 @llvm.umax.i32(i32 %913, i32 %spec.select.15.peel)
  %914 = getelementptr inbounds i8, ptr %138, i64 2012
  %915 = load i32, ptr %914, align 4, !tbaa !12
  %916 = getelementptr inbounds i8, ptr %138, i64 1900
  %917 = load i32, ptr %916, align 4, !tbaa !12
  %918 = sub i32 %915, %917
  %spec.select.17.peel = call i32 @llvm.umax.i32(i32 %918, i32 %spec.select.16.peel)
  store i32 %spec.select.17.peel, ptr %831, align 4, !tbaa !12
  %919 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.1)
          to label %920 unwind label %.loopexit.split-lp

920:                                              ; preds = %.preheader878
  %921 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %919, i32 noundef %spec.select.17.peel)
          to label %.preheader877 unwind label %.loopexit.split-lp

922:                                              ; preds = %793, %789, %787, %785, %782
  %923 = landingpad { ptr, i32 }
          cleanup
  br label %1209

924:                                              ; preds = %795
  %925 = landingpad { ptr, i32 }
          cleanup
  br label %1208

926:                                              ; preds = %828, %824, %822, %820, %816, %814, %812, %808, %806, %804, %800, %798, %796
  %927 = landingpad { ptr, i32 }
          cleanup
  br label %1207

.preheader877:                                    ; preds = %920, %1051
  %indvars.iv989 = phi i64 [ %indvars.iv.next990, %1051 ], [ 1, %920 ]
  %.0770913 = phi i32 [ %1036, %1051 ], [ %spec.select.17.peel, %920 ]
  %.idx997 = mul nuw nsw i64 %indvars.iv989, 2016
  %928 = getelementptr inbounds i8, ptr %138, i64 %.idx997
  %929 = getelementptr inbounds i8, ptr %928, i64 108
  %930 = load i32, ptr %929, align 4, !tbaa !12
  %931 = getelementptr i8, ptr %928, i64 -4
  %932 = load i32, ptr %931, align 4, !tbaa !12
  %933 = sub i32 %930, %932
  %.idx998 = mul nuw nsw i64 %indvars.iv989, 2016
  %934 = getelementptr i8, ptr %138, i64 %.idx998
  %935 = getelementptr i8, ptr %934, i64 220
  %936 = load i32, ptr %935, align 4, !tbaa !12
  %937 = getelementptr i8, ptr %934, i64 108
  %938 = load i32, ptr %937, align 4, !tbaa !12
  %939 = sub i32 %936, %938
  %spec.select.1 = call i32 @llvm.umax.i32(i32 %939, i32 %933)
  %.idx999 = mul nuw nsw i64 %indvars.iv989, 2016
  %940 = getelementptr i8, ptr %138, i64 %.idx999
  %941 = getelementptr i8, ptr %940, i64 332
  %942 = load i32, ptr %941, align 4, !tbaa !12
  %943 = getelementptr i8, ptr %940, i64 220
  %944 = load i32, ptr %943, align 4, !tbaa !12
  %945 = sub i32 %942, %944
  %spec.select.2 = call i32 @llvm.umax.i32(i32 %945, i32 %spec.select.1)
  %.idx1000 = mul nuw nsw i64 %indvars.iv989, 2016
  %946 = getelementptr i8, ptr %138, i64 %.idx1000
  %947 = getelementptr i8, ptr %946, i64 444
  %948 = load i32, ptr %947, align 4, !tbaa !12
  %949 = getelementptr i8, ptr %946, i64 332
  %950 = load i32, ptr %949, align 4, !tbaa !12
  %951 = sub i32 %948, %950
  %spec.select.3 = call i32 @llvm.umax.i32(i32 %951, i32 %spec.select.2)
  %.idx1001 = mul nuw nsw i64 %indvars.iv989, 2016
  %952 = getelementptr i8, ptr %138, i64 %.idx1001
  %953 = getelementptr i8, ptr %952, i64 556
  %954 = load i32, ptr %953, align 4, !tbaa !12
  %955 = getelementptr i8, ptr %952, i64 444
  %956 = load i32, ptr %955, align 4, !tbaa !12
  %957 = sub i32 %954, %956
  %spec.select.4 = call i32 @llvm.umax.i32(i32 %957, i32 %spec.select.3)
  %.idx1002 = mul nuw nsw i64 %indvars.iv989, 2016
  %958 = getelementptr i8, ptr %138, i64 %.idx1002
  %959 = getelementptr i8, ptr %958, i64 668
  %960 = load i32, ptr %959, align 4, !tbaa !12
  %961 = getelementptr i8, ptr %958, i64 556
  %962 = load i32, ptr %961, align 4, !tbaa !12
  %963 = sub i32 %960, %962
  %spec.select.5 = call i32 @llvm.umax.i32(i32 %963, i32 %spec.select.4)
  %.idx1003 = mul nuw nsw i64 %indvars.iv989, 2016
  %964 = getelementptr i8, ptr %138, i64 %.idx1003
  %965 = getelementptr i8, ptr %964, i64 780
  %966 = load i32, ptr %965, align 4, !tbaa !12
  %967 = getelementptr i8, ptr %964, i64 668
  %968 = load i32, ptr %967, align 4, !tbaa !12
  %969 = sub i32 %966, %968
  %spec.select.6 = call i32 @llvm.umax.i32(i32 %969, i32 %spec.select.5)
  %.idx1004 = mul nuw nsw i64 %indvars.iv989, 2016
  %970 = getelementptr i8, ptr %138, i64 %.idx1004
  %971 = getelementptr i8, ptr %970, i64 892
  %972 = load i32, ptr %971, align 4, !tbaa !12
  %973 = getelementptr i8, ptr %970, i64 780
  %974 = load i32, ptr %973, align 4, !tbaa !12
  %975 = sub i32 %972, %974
  %spec.select.7 = call i32 @llvm.umax.i32(i32 %975, i32 %spec.select.6)
  %.idx1005 = mul nuw nsw i64 %indvars.iv989, 2016
  %976 = getelementptr i8, ptr %138, i64 %.idx1005
  %977 = getelementptr i8, ptr %976, i64 1004
  %978 = load i32, ptr %977, align 4, !tbaa !12
  %979 = getelementptr i8, ptr %976, i64 892
  %980 = load i32, ptr %979, align 4, !tbaa !12
  %981 = sub i32 %978, %980
  %spec.select.8 = call i32 @llvm.umax.i32(i32 %981, i32 %spec.select.7)
  %.idx1006 = mul nuw nsw i64 %indvars.iv989, 2016
  %982 = getelementptr i8, ptr %138, i64 %.idx1006
  %983 = getelementptr i8, ptr %982, i64 1116
  %984 = load i32, ptr %983, align 4, !tbaa !12
  %985 = getelementptr i8, ptr %982, i64 1004
  %986 = load i32, ptr %985, align 4, !tbaa !12
  %987 = sub i32 %984, %986
  %spec.select.9 = call i32 @llvm.umax.i32(i32 %987, i32 %spec.select.8)
  %.idx1007 = mul nuw nsw i64 %indvars.iv989, 2016
  %988 = getelementptr i8, ptr %138, i64 %.idx1007
  %989 = getelementptr i8, ptr %988, i64 1228
  %990 = load i32, ptr %989, align 4, !tbaa !12
  %991 = getelementptr i8, ptr %988, i64 1116
  %992 = load i32, ptr %991, align 4, !tbaa !12
  %993 = sub i32 %990, %992
  %spec.select.10 = call i32 @llvm.umax.i32(i32 %993, i32 %spec.select.9)
  %.idx1008 = mul nuw nsw i64 %indvars.iv989, 2016
  %994 = getelementptr i8, ptr %138, i64 %.idx1008
  %995 = getelementptr i8, ptr %994, i64 1340
  %996 = load i32, ptr %995, align 4, !tbaa !12
  %997 = getelementptr i8, ptr %994, i64 1228
  %998 = load i32, ptr %997, align 4, !tbaa !12
  %999 = sub i32 %996, %998
  %spec.select.11 = call i32 @llvm.umax.i32(i32 %999, i32 %spec.select.10)
  %.idx1009 = mul nuw nsw i64 %indvars.iv989, 2016
  %1000 = getelementptr i8, ptr %138, i64 %.idx1009
  %1001 = getelementptr i8, ptr %1000, i64 1452
  %1002 = load i32, ptr %1001, align 4, !tbaa !12
  %1003 = getelementptr i8, ptr %1000, i64 1340
  %1004 = load i32, ptr %1003, align 4, !tbaa !12
  %1005 = sub i32 %1002, %1004
  %spec.select.12 = call i32 @llvm.umax.i32(i32 %1005, i32 %spec.select.11)
  %.idx1010 = mul nuw nsw i64 %indvars.iv989, 2016
  %1006 = getelementptr i8, ptr %138, i64 %.idx1010
  %1007 = getelementptr i8, ptr %1006, i64 1564
  %1008 = load i32, ptr %1007, align 4, !tbaa !12
  %1009 = getelementptr i8, ptr %1006, i64 1452
  %1010 = load i32, ptr %1009, align 4, !tbaa !12
  %1011 = sub i32 %1008, %1010
  %spec.select.13 = call i32 @llvm.umax.i32(i32 %1011, i32 %spec.select.12)
  %.idx1011 = mul nuw nsw i64 %indvars.iv989, 2016
  %1012 = getelementptr i8, ptr %138, i64 %.idx1011
  %1013 = getelementptr i8, ptr %1012, i64 1676
  %1014 = load i32, ptr %1013, align 4, !tbaa !12
  %1015 = getelementptr i8, ptr %1012, i64 1564
  %1016 = load i32, ptr %1015, align 4, !tbaa !12
  %1017 = sub i32 %1014, %1016
  %spec.select.14 = call i32 @llvm.umax.i32(i32 %1017, i32 %spec.select.13)
  %.idx1012 = mul nuw nsw i64 %indvars.iv989, 2016
  %1018 = getelementptr i8, ptr %138, i64 %.idx1012
  %1019 = getelementptr i8, ptr %1018, i64 1788
  %1020 = load i32, ptr %1019, align 4, !tbaa !12
  %1021 = getelementptr i8, ptr %1018, i64 1676
  %1022 = load i32, ptr %1021, align 4, !tbaa !12
  %1023 = sub i32 %1020, %1022
  %spec.select.15 = call i32 @llvm.umax.i32(i32 %1023, i32 %spec.select.14)
  %.idx1013 = mul nuw nsw i64 %indvars.iv989, 2016
  %1024 = getelementptr i8, ptr %138, i64 %.idx1013
  %1025 = getelementptr i8, ptr %1024, i64 1900
  %1026 = load i32, ptr %1025, align 4, !tbaa !12
  %1027 = getelementptr i8, ptr %1024, i64 1788
  %1028 = load i32, ptr %1027, align 4, !tbaa !12
  %1029 = sub i32 %1026, %1028
  %spec.select.16 = call i32 @llvm.umax.i32(i32 %1029, i32 %spec.select.15)
  %.idx1014 = mul nuw nsw i64 %indvars.iv989, 2016
  %1030 = getelementptr i8, ptr %138, i64 %.idx1014
  %1031 = getelementptr i8, ptr %1030, i64 2012
  %1032 = load i32, ptr %1031, align 4, !tbaa !12
  %1033 = getelementptr i8, ptr %1030, i64 1900
  %1034 = load i32, ptr %1033, align 4, !tbaa !12
  %1035 = sub i32 %1032, %1034
  %spec.select.17 = call i32 @llvm.umax.i32(i32 %1035, i32 %spec.select.16)
  %1036 = add nsw i32 %spec.select.17, %.0770913
  %1037 = getelementptr inbounds i32, ptr %831, i64 %indvars.iv989
  store i32 %1036, ptr %1037, align 4, !tbaa !12
  %1038 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.1)
          to label %1049 unwind label %.loopexit

.preheader:                                       ; preds = %1051
  %1039 = getelementptr inbounds i8, ptr %138, i64 130812
  %1040 = load i32, ptr %1039, align 4, !tbaa !12
  %1041 = getelementptr inbounds i8, ptr %138, i64 130700
  %1042 = load i32, ptr %1041, align 4, !tbaa !12
  %1043 = sub i32 %1040, %1042
  %1044 = add nsw i32 %1043, %1036
  %1045 = getelementptr inbounds i8, ptr %831, i64 256
  store i32 %1044, ptr %1045, align 4, !tbaa !12
  %1046 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.42)
          to label %1052 unwind label %1054

1047:                                             ; preds = %830
  %1048 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1049:                                             ; preds = %.preheader877
  %1050 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1038, i32 noundef %spec.select.17)
          to label %1051 unwind label %.loopexit

1051:                                             ; preds = %1049
  %indvars.iv.next990 = add nuw nsw i64 %indvars.iv989, 1
  %exitcond992.not = icmp eq i64 %indvars.iv.next990, 64
  br i1 %exitcond992.not, label %.preheader, label %.preheader877, !llvm.loop !70

.loopexit:                                        ; preds = %.preheader877, %1049
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %1207

.loopexit.split-lp:                               ; preds = %.preheader878, %920
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %1207

1052:                                             ; preds = %.preheader
  %1053 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1046, i32 noundef %1043)
          to label %1056 unwind label %1054

1054:                                             ; preds = %1118, %1116, %1114, %1112, %1110, %1108, %1106, %1104, %1102, %1100, %1098, %1096, %1089, %1079, %1052, %.preheader
  %1055 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1056:                                             ; preds = %1052
  %1057 = load i32, ptr %831, align 4, !tbaa !12
  %1058 = getelementptr inbounds i8, ptr %831, i64 4
  %1059 = load i32, ptr %1058, align 4, !tbaa !12
  %1060 = sub nsw i32 %1059, %1057
  %1061 = getelementptr inbounds i8, ptr %604, i64 140
  %1062 = load i32, ptr %1061, align 4, !tbaa !12
  %.873 = call i32 @llvm.umax.i32(i32 %1060, i32 %1062)
  %1063 = add i32 %.873, %1057
  %invariant.gep924 = getelementptr i8, ptr %604, i64 -148
  %invariant.gep1028 = getelementptr i8, ptr %604, i64 -4
  br label %1064

1064:                                             ; preds = %1064, %1056
  %1065 = phi i32 [ %1059, %1056 ], [ %1074, %1064 ]
  %indvars.iv993 = phi i64 [ 2, %1056 ], [ %indvars.iv.next994.1, %1064 ]
  %.2927 = phi i32 [ %1063, %1056 ], [ %1078, %1064 ]
  %indvars.iv.next994 = or disjoint i64 %indvars.iv993, 1
  %1066 = getelementptr inbounds i32, ptr %831, i64 %indvars.iv993
  %1067 = load i32, ptr %1066, align 4, !tbaa !12
  %1068 = sub nsw i32 %1067, %1065
  %.idx1015 = mul nuw nsw i64 %indvars.iv993, 144
  %gep1029 = getelementptr i8, ptr %invariant.gep1028, i64 %.idx1015
  %1069 = load i32, ptr %gep1029, align 4, !tbaa !12
  %gep925.idx = mul nuw nsw i64 %indvars.iv993, 144
  %gep925 = getelementptr i8, ptr %invariant.gep924, i64 %gep925.idx
  %1070 = load i32, ptr %gep925, align 4, !tbaa !12
  %1071 = sub i32 %1069, %1070
  %.874 = call i32 @llvm.umax.i32(i32 %1068, i32 %1071)
  %1072 = add i32 %.874, %.2927
  %indvars.iv.next994.1 = add nuw nsw i64 %indvars.iv993, 2
  %1073 = getelementptr inbounds i32, ptr %831, i64 %indvars.iv.next994
  %1074 = load i32, ptr %1073, align 4, !tbaa !12
  %1075 = sub nsw i32 %1074, %1067
  %.idx1015.1 = mul nuw nsw i64 %indvars.iv.next994, 144
  %gep1029.1 = getelementptr i8, ptr %invariant.gep1028, i64 %.idx1015.1
  %1076 = load i32, ptr %gep1029.1, align 4, !tbaa !12
  %1077 = sub i32 %1076, %1069
  %.874.1 = call i32 @llvm.umax.i32(i32 %1075, i32 %1077)
  %1078 = add i32 %.874.1, %1072
  %exitcond996.not.1 = icmp eq i64 %indvars.iv.next994.1, 64
  br i1 %exitcond996.not.1, label %1079, label %1064, !llvm.loop !72

1079:                                             ; preds = %1064
  %1080 = getelementptr inbounds i8, ptr %831, i64 252
  %1081 = load i32, ptr %1080, align 4, !tbaa !12
  %1082 = getelementptr inbounds i8, ptr %604, i64 9212
  %1083 = load i32, ptr %1082, align 4, !tbaa !12
  %1084 = getelementptr inbounds i8, ptr %604, i64 9068
  %1085 = load i32, ptr %1084, align 4, !tbaa !12
  %1086 = getelementptr inbounds i8, ptr %604, i64 9340
  %1087 = load i32, ptr %1086, align 4, !tbaa !12
  %1088 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.39)
          to label %1089 unwind label %1054

1089:                                             ; preds = %1079
  %1090 = sub nsw i32 %1044, %1081
  %1091 = sub i32 %1083, %1085
  %.875 = call i32 @llvm.umax.i32(i32 %1090, i32 %1091)
  %1092 = sub i32 %1078, %1083
  %1093 = add i32 %1092, %1087
  %1094 = add i32 %1093, %.875
  %1095 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1088, i32 noundef %1094)
          to label %1096 unwind label %1054

1096:                                             ; preds = %1089
  %1097 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1095, ptr noundef nonnull @.str.40)
          to label %1098 unwind label %1054

1098:                                             ; preds = %1096
  %1099 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1097, i32 noundef 1008)
          to label %1100 unwind label %1054

1100:                                             ; preds = %1098
  %1101 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1099, ptr noundef nonnull @.str.41)
          to label %1102 unwind label %1054

1102:                                             ; preds = %1100
  %1103 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.43)
          to label %1104 unwind label %1054

1104:                                             ; preds = %1102
  %1105 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1103, i32 noundef %195)
          to label %1106 unwind label %1054

1106:                                             ; preds = %1104
  %1107 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1105, ptr noundef nonnull @.str.7)
          to label %1108 unwind label %1054

1108:                                             ; preds = %1106
  %1109 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.44)
          to label %1110 unwind label %1054

1110:                                             ; preds = %1108
  %1111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1109, i32 noundef %660)
          to label %1112 unwind label %1054

1112:                                             ; preds = %1110
  %1113 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1111, ptr noundef nonnull @.str.7)
          to label %1114 unwind label %1054

1114:                                             ; preds = %1112
  %1115 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.45)
          to label %1116 unwind label %1054

1116:                                             ; preds = %1114
  %1117 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1115, i32 noundef %1044)
          to label %1118 unwind label %1054

1118:                                             ; preds = %1116
  %1119 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1117, ptr noundef nonnull @.str.7)
          to label %1120 unwind label %1054

1120:                                             ; preds = %1118
  %1121 = add i32 %1044, %660
  %1122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.46)
          to label %1123 unwind label %1139

1123:                                             ; preds = %1120
  %1124 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1122, i32 noundef %1121)
          to label %1125 unwind label %1139

1125:                                             ; preds = %1123
  %1126 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1124, ptr noundef nonnull @.str.47)
          to label %1127 unwind label %1139

1127:                                             ; preds = %1125
  %1128 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1126, i32 noundef 32704)
          to label %1129 unwind label %1139

1129:                                             ; preds = %1127
  %1130 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1128, ptr noundef nonnull @.str.7)
          to label %1131 unwind label %1139

1131:                                             ; preds = %1129
  %1132 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.48)
          to label %1133 unwind label %1141

1133:                                             ; preds = %1131
  %1134 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1132, i32 noundef 65)
          to label %1135 unwind label %1141

1135:                                             ; preds = %1133
  %1136 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1134, ptr noundef nonnull @.str.7)
          to label %1137 unwind label %1141

1137:                                             ; preds = %1135
  %1138 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.49)
          to label %1143 unwind label %1162

1139:                                             ; preds = %1129, %1127, %1125, %1123, %1120
  %1140 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1141:                                             ; preds = %1135, %1133, %1131
  %1142 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1143:                                             ; preds = %1137
  %1144 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1138, i32 noundef 0)
          to label %1145 unwind label %1162

1145:                                             ; preds = %1143
  %1146 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1144, ptr noundef nonnull @.str.7)
          to label %1147 unwind label %1162

1147:                                             ; preds = %1145
  %1148 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.50)
          to label %1149 unwind label %1164

1149:                                             ; preds = %1147
  %1150 = add nsw i32 %1121, -65
  %1151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1148, i32 noundef %1150)
          to label %1152 unwind label %1164

1152:                                             ; preds = %1149
  %1153 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1151, ptr noundef nonnull @.str.51)
          to label %1154 unwind label %1164

1154:                                             ; preds = %1152
  %1155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1153, i32 noundef 36)
          to label %1156 unwind label %1164

1156:                                             ; preds = %1154
  %1157 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1155, ptr noundef nonnull @.str.7)
          to label %1158 unwind label %1164

1158:                                             ; preds = %1156
  %1159 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.52)
          to label %1160 unwind label %1164

1160:                                             ; preds = %1158
  %1161 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.53)
          to label %1166 unwind label %1201

1162:                                             ; preds = %1145, %1143, %1137
  %1163 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1164:                                             ; preds = %1158, %1156, %1154, %1152, %1149, %1147
  %1165 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1166:                                             ; preds = %1160
  %1167 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1161, i32 noundef 0)
          to label %1168 unwind label %1201

1168:                                             ; preds = %1166
  %1169 = load i32, ptr %801, align 4, !tbaa !50
  %1170 = load i32, ptr %809, align 8, !tbaa !58
  %1171 = load i32, ptr %817, align 4, !tbaa !59
  %1172 = load i32, ptr %825, align 8, !tbaa !60
  %1173 = load i32, ptr %286, align 4, !tbaa !50
  %1174 = load i32, ptr %294, align 8, !tbaa !58
  %1175 = load i32, ptr %302, align 4, !tbaa !59
  %1176 = load i32, ptr %310, align 8, !tbaa !60
  %1177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.54)
          to label %1178 unwind label %1203

1178:                                             ; preds = %1168
  %1179 = add i32 %1170, %1169
  %1180 = add i32 %1179, %1171
  %1181 = add i32 %1180, %1172
  %1182 = add i32 %1181, %1173
  %1183 = add i32 %1182, %1174
  %1184 = add i32 %1183, %1175
  %1185 = add i32 %1184, %1176
  %1186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1177, i32 noundef %1185)
          to label %1187 unwind label %1203

1187:                                             ; preds = %1178
  %1188 = load i32, ptr %809, align 8, !tbaa !58
  %1189 = load i32, ptr %817, align 4, !tbaa !59
  %1190 = load i32, ptr %825, align 8, !tbaa !60
  %1191 = load i32, ptr %286, align 4, !tbaa !50
  %1192 = load i32, ptr %294, align 8, !tbaa !58
  %1193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.55)
          to label %1194 unwind label %1205

1194:                                             ; preds = %1187
  %1195 = add i32 %1189, %1188
  %1196 = add i32 %1195, %1190
  %1197 = add i32 %1196, %1191
  %1198 = add i32 %1197, %1192
  %1199 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1193, i32 noundef %1198)
          to label %1200 unwind label %1205

1200:                                             ; preds = %1194
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %24) #13
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %24) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #13
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %17) #13
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %17) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #13
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %11) #13
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %10) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #13
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %5) #13
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %5) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #13
  br label %1222

1201:                                             ; preds = %1166, %1160
  %1202 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1203:                                             ; preds = %1178, %1168
  %1204 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1205:                                             ; preds = %1194, %1187
  %1206 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1207:                                             ; preds = %.loopexit, %.loopexit.split-lp, %1047, %1139, %1162, %1201, %1205, %1203, %1164, %1141, %1054, %926
  %.pn825.pn.pn = phi { ptr, i32 } [ %927, %926 ], [ %1048, %1047 ], [ %1055, %1054 ], [ %1140, %1139 ], [ %1142, %1141 ], [ %1163, %1162 ], [ %1165, %1164 ], [ %1202, %1201 ], [ %1206, %1205 ], [ %1204, %1203 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %24) #13
  br label %1208

1208:                                             ; preds = %1207, %924
  %.pn825.pn.pn.pn = phi { ptr, i32 } [ %.pn825.pn.pn, %1207 ], [ %925, %924 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %24) #13
  br label %1209

1209:                                             ; preds = %1208, %922
  %.pn825.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn825.pn.pn.pn, %1208 ], [ %923, %922 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #13
  br label %1210

1210:                                             ; preds = %1209, %783, %771
  %.pn825.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn825.pn.pn.pn.pn, %1209 ], [ %772, %771 ], [ %784, %783 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #13
  br label %1211

1211:                                             ; preds = %420, %605, %624, %628, %634, %658, %1210, %711, %673, %663, %656, %654, %652, %626, %607, %422, %378, %332
  %.pn843 = phi { ptr, i32 } [ %379, %378 ], [ %333, %332 ], [ %421, %420 ], [ %423, %422 ], [ %606, %605 ], [ %608, %607 ], [ %625, %624 ], [ %627, %626 ], [ %.pn816, %634 ], [ %629, %628 ], [ %653, %652 ], [ %657, %656 ], [ %655, %654 ], [ %659, %658 ], [ %674, %673 ], [ %712, %711 ], [ %.pn825.pn.pn.pn.pn.pn, %1210 ], [ %664, %663 ]
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %17) #13
  br label %1212

1212:                                             ; preds = %1211, %330
  %.pn843.pn = phi { ptr, i32 } [ %.pn843, %1211 ], [ %331, %330 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %17) #13
  br label %1213

1213:                                             ; preds = %1212, %328
  %.pn843.pn.pn = phi { ptr, i32 } [ %.pn843.pn, %1212 ], [ %329, %328 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #13
  br label %1214

1214:                                             ; preds = %1213, %267
  %.pn843.pn.pn.pn = phi { ptr, i32 } [ %.pn843.pn.pn, %1213 ], [ %268, %267 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #13
  br label %1215

1215:                                             ; preds = %197, %199, %201, %1214, %211, %188, %178
  %.pn848.pn.pn = phi { ptr, i32 } [ %.pn, %188 ], [ %179, %178 ], [ %198, %197 ], [ %202, %201 ], [ %200, %199 ], [ %212, %211 ], [ %.pn843.pn.pn.pn, %1214 ]
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %11) #13
  br label %1216

1216:                                             ; preds = %1215, %176
  %.pn848.pn.pn.pn = phi { ptr, i32 } [ %.pn848.pn.pn, %1215 ], [ %177, %176 ]
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %10) #13
  br label %1217

1217:                                             ; preds = %102, %110, %141, %170, %174, %1216, %172, %143, %139, %100
  %.pn859.pn = phi { ptr, i32 } [ %101, %100 ], [ %111, %110 ], [ %103, %102 ], [ %140, %139 ], [ %142, %141 ], [ %144, %143 ], [ %171, %170 ], [ %173, %172 ], [ %.pn848.pn.pn.pn, %1216 ], [ %175, %174 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #13
  br label %1218

1218:                                             ; preds = %92, %1217, %74, %86, %90
  %.pn863.pn.pn = phi { ptr, i32 } [ %91, %90 ], [ %.pn863, %86 ], [ %75, %74 ], [ %.pn859.pn, %1217 ], [ %93, %92 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #13
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %5) #13
  br label %1219

1219:                                             ; preds = %1218, %67
  %.pn863.pn.pn.pn = phi { ptr, i32 } [ %.pn863.pn.pn, %1218 ], [ %68, %67 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %5) #13
  br label %1220

1220:                                             ; preds = %1219, %65
  %.pn863.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn863.pn.pn.pn, %1219 ], [ %66, %65 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #13
  br label %1221

1221:                                             ; preds = %1220, %63
  %.pn863.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn863.pn.pn.pn.pn, %1220 ], [ %64, %63 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #13
  resume { ptr, i32 } %.pn863.pn.pn.pn.pn.pn

1222:                                             ; preds = %1200, %56
  br i1 %43, label %1223, label %1228

1223:                                             ; preds = %1222
  %1224 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.2)
  %1225 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1224, i32 noundef 0)
  %1226 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1225, ptr noundef nonnull @.str.3)
  %1227 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1226, i32 noundef 65408)
  br label %1228

1228:                                             ; preds = %1223, %1222
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #13
  ret i32 0
}

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #3

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #4

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #6 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znam(i64 noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef, i32 noundef) unnamed_addr #6 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef, i32 noundef) local_unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #6 align 2

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #6 align 2

declare noundef ptr @_Z24generateMinorIDFromDensePfjjRi15GENERATION_TYPE(ptr noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) local_unnamed_addr #4

declare noundef ptr @_Z29generateMajorPointerFromDensePfjj15GENERATION_TYPE(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #4

declare noundef ptr @_Z37generateMatrixSparseFromDenseNoBitmapPfjj15GENERATION_TYPE(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #4

declare noundef ptr @_Z19generateMatrixDensejjf(i32 noundef, i32 noundef, float noundef) local_unnamed_addr #4

declare void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160)) unnamed_addr #4

declare noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #7

declare void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316), ptr noundef byval(%class.Config) align 8) unnamed_addr #4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #9

declare void @_ZN6Stonne15loadSparseDenseENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_PjS7_S6_jj(ptr noundef nonnull align 8 dereferenceable(316), ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #6 align 2

declare void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316), ptr noundef) local_unnamed_addr #4

declare void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316)) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #6 align 2

declare void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind writable sret(%class.MSNetworkStats) align 8, ptr noundef nonnull align 8 dereferenceable(316)) local_unnamed_addr #4

declare void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind writable sret(%class.ASNetworkStats) align 8, ptr noundef nonnull align 8 dereferenceable(316)) local_unnamed_addr #4

declare void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind writable sret(%class.DSNetworkStats) align 8, ptr noundef nonnull align 8 dereferenceable(316)) local_unnamed_addr #4

declare void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind writable sret(%class.SDMemoryStats) align 8, ptr noundef nonnull align 8 dereferenceable(316)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #3

declare void @_Z8cpu_gemmPfS_S_jjj(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt4fabsf(float noundef) local_unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8), float noundef) local_unnamed_addr #6 align 2

; Function Attrs: nobuiltin nounwind
declare void @_ZdaPv(ptr noundef) local_unnamed_addr #9

; Function Attrs: nounwind
declare void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316)) unnamed_addr #10

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #6 align 2

declare void @_ZN6Stonne13loadDenseGEMMENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_S6_8Dataflow(ptr noundef nonnull align 8 dereferenceable(316), ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare void @_ZN6Stonne12loadGEMMTileEjjj(ptr noundef nonnull align 8 dereferenceable(316), i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #4

declare void @_Z16sequential_layerjjjjjjjjjPfS_S_(i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #11

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152)) unnamed_addr #8 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #5 align 2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umax.i32(i32, i32) #12

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { inlinehint mustprogress 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 #4 = { "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 #5 = { mustprogress 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 #6 = { mustprogress 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 #7 = { nobuiltin allocsize(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 #8 = { inlinehint mustprogress 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 #9 = { nobuiltin nounwind "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 #10 = { nounwind "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 #11 = { noreturn nounwind "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 #12 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #13 = { nounwind }
attributes #14 = { builtin allocsize(0) }
attributes #15 = { builtin nounwind }
attributes #16 = { noreturn 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 = distinct !{!5, !6}
!6 = !{!"llvm.loop.mustprogress"}
!7 = !{!8, !8, i64 0}
!8 = !{!"float", !9, i64 0}
!9 = !{!"omnipotent char", !10, i64 0}
!10 = !{!"Simple C++ TBAA"}
!11 = distinct !{!11, !6}
!12 = !{!13, !13, i64 0}
!13 = !{!"int", !9, i64 0}
!14 = distinct !{!14, !6}
!15 = distinct !{!15, !6, !16, !17}
!16 = !{!"llvm.loop.isvectorized", i32 1}
!17 = !{!"llvm.loop.unroll.runtime.disable"}
!18 = distinct !{!18, !6, !16}
!19 = !{!20, !13, i64 28}
!20 = !{!"_ZTS6Config", !13, i64 0, !21, i64 4, !22, i64 8, !23, i64 24, !25, i64 40, !26, i64 64, !28, i64 72, !29, i64 96, !30, i64 104}
!21 = !{!"_ZTS15DSNetworkConfig", !13, i64 0}
!22 = !{!"_ZTS13DSwitchConfig", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12}
!23 = !{!"_ZTS15MSNetworkConfig", !24, i64 0, !13, i64 4, !13, i64 8, !13, i64 12}
!24 = !{!"_ZTS19MultiplierNetwork_t", !9, i64 0}
!25 = !{!"_ZTS13MSwitchConfig", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20}
!26 = !{!"_ZTS15ASNetworkConfig", !27, i64 0, !13, i64 4}
!27 = !{!"_ZTS15ReduceNetwork_t", !9, i64 0}
!28 = !{!"_ZTS13ASwitchConfig", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20}
!29 = !{!"_ZTS17LookUpTableConfig", !13, i64 0, !13, i64 4}
!30 = !{!"_ZTS14SDMemoryConfig", !31, i64 0, !13, i64 4, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !13, i64 24, !32, i64 28, !13, i64 32, !13, i64 36, !13, i64 40, !13, i64 44, !13, i64 48, !13, i64 52}
!31 = !{!"_ZTS18MemoryController_t", !9, i64 0}
!32 = !{!"_ZTS17MemoryHierarchy_t", !9, i64 0}
!33 = !{!20, !13, i64 112}
!34 = !{!20, !13, i64 116}
!35 = !{!20, !13, i64 68}
!36 = !{!20, !31, i64 104}
!37 = !{!20, !13, i64 0}
!38 = !{!20, !27, i64 64}
!39 = distinct !{!39, !6}
!40 = !{!41, !13, i64 16}
!41 = !{!"_ZTS14MSNetworkStats", !42, i64 0, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !13, i64 24, !13, i64 28, !13, i64 32, !13, i64 36}
!42 = !{!"_ZTS5Stats"}
!43 = !{!41, !13, i64 20}
!44 = !{!41, !13, i64 24}
!45 = !{!41, !13, i64 28}
!46 = !{!41, !13, i64 32}
!47 = !{!41, !13, i64 36}
!48 = !{!49, !13, i64 24}
!49 = !{!"_ZTS14DSNetworkStats", !42, i64 0, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !13, i64 24}
!50 = !{!51, !13, i64 12}
!51 = !{!"_ZTS13SDMemoryStats", !42, i64 0, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !13, i64 24, !13, i64 28, !13, i64 32, !13, i64 36, !13, i64 40, !13, i64 44, !52, i64 48, !53, i64 56, !53, i64 80, !53, i64 104, !53, i64 128}
!52 = !{!"_ZTS8Dataflow", !9, i64 0}
!53 = !{!"_ZTSSt6vectorIjSaIjEE", !54, i64 0}
!54 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !55, i64 0}
!55 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !56, i64 0}
!56 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !57, i64 0, !57, i64 8, !57, i64 16}
!57 = !{!"any pointer", !9, i64 0}
!58 = !{!51, !13, i64 16}
!59 = !{!51, !13, i64 20}
!60 = !{!51, !13, i64 24}
!61 = distinct !{!61, !6}
!62 = distinct !{!62, !6}
!63 = distinct !{!63, !6, !16, !17}
!64 = distinct !{!64, !6, !16}
!65 = distinct !{!65, !6, !16, !17}
!66 = distinct !{!66, !6}
!67 = distinct !{!67, !6}
!68 = !{!69, !13, i64 28}
!69 = !{!"_ZTS14ASNetworkStats", !42, i64 0, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !13, i64 24, !13, i64 28, !13, i64 32}
!70 = distinct !{!70, !6, !71}
!71 = !{!"llvm.loop.peeled.count", i32 1}
!72 = distinct !{!72, !6}


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