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

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

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.41 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [40 x i8], align 1
@__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
@.str.43 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [141 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [88 x i8], align 1
@__PRETTY_FUNCTION__.main = external hidden unnamed_addr constant [23 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [140 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [5 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z16configParametersiPPcRiS1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_(i32 noundef, ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #0

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 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 #0 align 2

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #0 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

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

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr noundef %1) #4 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %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 i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator", align 1
  %28 = alloca ptr, align 8
  %29 = alloca i32, align 4
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca [4 x i8], align 1
  %33 = alloca [4 x i8], align 1
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca float, align 4
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator", align 1
  %41 = alloca ptr, align 8
  %42 = alloca %"class.std::basic_ifstream", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %46 = alloca i32, align 4
  %47 = alloca ptr, align 8
  %48 = alloca %"class.std::basic_ifstream", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca ptr, align 8
  %56 = alloca i32, align 4
  %57 = alloca ptr, align 8
  %58 = alloca ptr, align 8
  %59 = alloca i32, align 4
  %60 = alloca ptr, align 8
  %61 = alloca ptr, align 8
  %62 = alloca ptr, align 8
  %63 = alloca %class.Config, align 4
  %64 = alloca %class.Config, align 4
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator", align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  %69 = alloca ptr, align 8
  %70 = alloca %class.Config, align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca %class.MSNetworkStats, align 8
  %75 = alloca %class.ASNetworkStats, align 8
  %76 = alloca %class.DSNetworkStats, align 8
  %77 = alloca %class.SDMemoryStats, align 8
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca float, align 4
  %88 = alloca ptr, align 8
  %89 = alloca ptr, align 8
  %90 = alloca i32, align 4
  %91 = alloca ptr, align 8
  %92 = alloca ptr, align 8
  %93 = alloca i32, align 4
  %94 = alloca ptr, align 8
  %95 = alloca ptr, align 8
  %96 = alloca ptr, align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::allocator", align 1
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::allocator", align 1
  %101 = alloca ptr, align 8
  %102 = alloca %class.Config, align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca ptr, align 8
  %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 float, align 4
  %112 = alloca %class.MSNetworkStats, align 8
  %113 = alloca %class.ASNetworkStats, align 8
  %114 = alloca %class.DSNetworkStats, align 8
  %115 = alloca %class.SDMemoryStats, align 8
  %116 = alloca i32, align 4
  %117 = alloca ptr, align 8
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #13
  store i32 0, ptr %7, align 4, !tbaa !11
  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
  store i32 3786, ptr %8, align 4, !tbaa !5
  store i32 29, ptr %9, align 4, !tbaa !5
  store i32 2, ptr %10, align 4, !tbaa !5
  store i32 14456, ptr %11, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #13
  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
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #13
  store i32 17, ptr %12, align 4, !tbaa !5
  store i32 1, ptr %13, align 4, !tbaa !5
  store i32 15, ptr %14, align 4, !tbaa !5
  store i32 85, ptr %15, align 4, !tbaa !5
  store i32 1, ptr %16, align 4, !tbaa !5
  store i32 3, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #13
  store i32 256, ptr %20, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #13
  store i32 256, ptr %21, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #13
  store i32 256, ptr %22, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #13
  store i32 256, ptr %23, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #13
  store i32 256, ptr %24, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #13
  store i32 256, ptr %25, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %136 unwind label %170

136:                                              ; preds = %2
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.42, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %137 unwind label %174

137:                                              ; preds = %136
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #13
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %32, ptr align 1 @__const.main.loop_order_agg, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #13
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %33, ptr align 1 @__const.main.loop_order_cmb, i64 4, i1 false)
  %138 = load i32, ptr %4, align 4, !tbaa !5
  %139 = load ptr, ptr %5, align 8, !tbaa !9
  invoke void @_Z16configParametersiPPcRiS1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_(i32 noundef %138, ptr noundef %139, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(4) %20, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %140 unwind label %178

140:                                              ; preds = %137
  %141 = load i32, ptr %7, align 4, !tbaa !11
  %142 = icmp eq i32 %141, 0
  br i1 %142, label %143, label %214

143:                                              ; preds = %140
  %144 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %145 = load i8, ptr %144, align 1, !tbaa !13
  %146 = sext i8 %145 to i32
  %147 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 0
  %148 = load i8, ptr %147, align 1, !tbaa !13
  %149 = sext i8 %148 to i32
  %150 = icmp eq i32 %146, %149
  br i1 %150, label %151, label %182

151:                                              ; preds = %143
  %152 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 1
  %153 = load i8, ptr %152, align 1, !tbaa !13
  %154 = sext i8 %153 to i32
  %155 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 1
  %156 = load i8, ptr %155, align 1, !tbaa !13
  %157 = sext i8 %156 to i32
  %158 = icmp eq i32 %154, %157
  br i1 %158, label %159, label %182

159:                                              ; preds = %151
  %160 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %161 = load i8, ptr %160, align 1, !tbaa !13
  %162 = sext i8 %161 to i32
  %163 = icmp eq i32 %162, 86
  br i1 %163, label %169, label %164

164:                                              ; preds = %159
  %165 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %166 = load i8, ptr %165, align 1, !tbaa !13
  %167 = sext i8 %166 to i32
  %168 = icmp eq i32 %167, 70
  br i1 %168, label %169, label %182

169:                                              ; preds = %164, %159
  store i32 0, ptr %6, align 4, !tbaa !14
  br label %213

170:                                              ; preds = %2
  %171 = landingpad { ptr, i32 }
          cleanup
  %172 = extractvalue { ptr, i32 } %171, 0
  store ptr %172, ptr %28, align 8
  %173 = extractvalue { ptr, i32 } %171, 1
  store i32 %173, ptr %29, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #13
  br label %3025

174:                                              ; preds = %136
  %175 = landingpad { ptr, i32 }
          cleanup
  %176 = extractvalue { ptr, i32 } %175, 0
  store ptr %176, ptr %28, align 8
  %177 = extractvalue { ptr, i32 } %175, 1
  store i32 %177, ptr %29, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #13
  br label %3024

178:                                              ; preds = %300, %297, %295, %292, %290, %287, %285, %137
  %179 = landingpad { ptr, i32 }
          cleanup
  %180 = extractvalue { ptr, i32 } %179, 0
  store ptr %180, ptr %28, align 8
  %181 = extractvalue { ptr, i32 } %179, 1
  store i32 %181, ptr %29, align 4
  br label %3023

182:                                              ; preds = %164, %151, %143
  %183 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %184 = load i8, ptr %183, align 1, !tbaa !13
  %185 = sext i8 %184 to i32
  %186 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 0
  %187 = load i8, ptr %186, align 1, !tbaa !13
  %188 = sext i8 %187 to i32
  %189 = icmp eq i32 %185, %188
  br i1 %189, label %190, label %196

190:                                              ; preds = %182
  %191 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %192 = load i8, ptr %191, align 1, !tbaa !13
  %193 = sext i8 %192 to i32
  %194 = icmp eq i32 %193, 86
  br i1 %194, label %195, label %196

195:                                              ; preds = %190
  store i32 1, ptr %6, align 4, !tbaa !14
  br label %212

196:                                              ; preds = %190, %182
  %197 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %198 = load i8, ptr %197, align 1, !tbaa !13
  %199 = sext i8 %198 to i32
  %200 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 0
  %201 = load i8, ptr %200, align 1, !tbaa !13
  %202 = sext i8 %201 to i32
  %203 = icmp eq i32 %199, %202
  br i1 %203, label %204, label %210

204:                                              ; preds = %196
  %205 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %206 = load i8, ptr %205, align 1, !tbaa !13
  %207 = sext i8 %206 to i32
  %208 = icmp eq i32 %207, 70
  br i1 %208, label %209, label %210

209:                                              ; preds = %204
  store i32 2, ptr %6, align 4, !tbaa !14
  br label %211

210:                                              ; preds = %204, %196
  store i32 3, ptr %6, align 4, !tbaa !14
  br label %211

211:                                              ; preds = %210, %209
  br label %212

212:                                              ; preds = %211, %195
  br label %213

213:                                              ; preds = %212, %169
  br label %285

214:                                              ; preds = %140
  %215 = load i32, ptr %7, align 4, !tbaa !11
  %216 = icmp eq i32 %215, 1
  br i1 %216, label %217, label %284

217:                                              ; preds = %214
  %218 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %219 = load i8, ptr %218, align 1, !tbaa !13
  %220 = sext i8 %219 to i32
  %221 = icmp eq i32 %220, 78
  br i1 %221, label %222, label %237

222:                                              ; preds = %217
  %223 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 0
  %224 = load i8, ptr %223, align 1, !tbaa !13
  %225 = sext i8 %224 to i32
  %226 = icmp eq i32 %225, 86
  br i1 %226, label %227, label %237

227:                                              ; preds = %222
  %228 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 1
  %229 = load i8, ptr %228, align 1, !tbaa !13
  %230 = sext i8 %229 to i32
  %231 = icmp eq i32 %230, 70
  br i1 %231, label %232, label %237

232:                                              ; preds = %227
  %233 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 1
  %234 = load i8, ptr %233, align 1, !tbaa !13
  %235 = sext i8 %234 to i32
  %236 = icmp eq i32 %235, 71
  br i1 %236, label %257, label %237

237:                                              ; preds = %232, %227, %222, %217
  %238 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %239 = load i8, ptr %238, align 1, !tbaa !13
  %240 = sext i8 %239 to i32
  %241 = icmp eq i32 %240, 70
  br i1 %241, label %242, label %258

242:                                              ; preds = %237
  %243 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 0
  %244 = load i8, ptr %243, align 1, !tbaa !13
  %245 = sext i8 %244 to i32
  %246 = icmp eq i32 %245, 71
  br i1 %246, label %247, label %258

247:                                              ; preds = %242
  %248 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 1
  %249 = load i8, ptr %248, align 1, !tbaa !13
  %250 = sext i8 %249 to i32
  %251 = icmp eq i32 %250, 78
  br i1 %251, label %252, label %258

252:                                              ; preds = %247
  %253 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 1
  %254 = load i8, ptr %253, align 1, !tbaa !13
  %255 = sext i8 %254 to i32
  %256 = icmp eq i32 %255, 86
  br i1 %256, label %257, label %258

257:                                              ; preds = %252, %232
  store i32 0, ptr %6, align 4, !tbaa !14
  br label %283

258:                                              ; preds = %252, %247, %242, %237
  %259 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %260 = load i8, ptr %259, align 1, !tbaa !13
  %261 = sext i8 %260 to i32
  %262 = icmp eq i32 %261, 78
  br i1 %262, label %263, label %269

263:                                              ; preds = %258
  %264 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 0
  %265 = load i8, ptr %264, align 1, !tbaa !13
  %266 = sext i8 %265 to i32
  %267 = icmp eq i32 %266, 86
  br i1 %267, label %268, label %269

268:                                              ; preds = %263
  store i32 1, ptr %6, align 4, !tbaa !14
  br label %282

269:                                              ; preds = %263, %258
  %270 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %271 = load i8, ptr %270, align 1, !tbaa !13
  %272 = sext i8 %271 to i32
  %273 = icmp eq i32 %272, 70
  br i1 %273, label %274, label %280

274:                                              ; preds = %269
  %275 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 0
  %276 = load i8, ptr %275, align 1, !tbaa !13
  %277 = sext i8 %276 to i32
  %278 = icmp eq i32 %277, 71
  br i1 %278, label %279, label %280

279:                                              ; preds = %274
  store i32 2, ptr %6, align 4, !tbaa !14
  br label %281

280:                                              ; preds = %274, %269
  store i32 3, ptr %6, align 4, !tbaa !14
  br label %281

281:                                              ; preds = %280, %279
  br label %282

282:                                              ; preds = %281, %268
  br label %283

283:                                              ; preds = %282, %257
  br label %284

284:                                              ; preds = %283, %214
  br label %285

285:                                              ; preds = %284, %213
  %286 = 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 %287 unwind label %178

287:                                              ; preds = %285
  %288 = getelementptr inbounds [4 x i8], ptr %32, i64 0, i64 0
  %289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %286, ptr noundef %288)
          to label %290 unwind label %178

290:                                              ; preds = %287
  %291 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %289, ptr noundef @.str.44)
          to label %292 unwind label %178

292:                                              ; preds = %290
  %293 = getelementptr inbounds [4 x i8], ptr %33, i64 0, i64 0
  %294 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %291, ptr noundef %293)
          to label %295 unwind label %178

295:                                              ; preds = %292
  %296 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %294, ptr noundef @.str.44)
          to label %297 unwind label %178

297:                                              ; preds = %295
  %298 = load i32, ptr %6, align 4, !tbaa !14
  %299 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %296, i32 noundef %298)
          to label %300 unwind label %178

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

302:                                              ; preds = %300
  %303 = load i32, ptr %6, align 4, !tbaa !14
  %304 = icmp eq i32 %303, 0
  br i1 %304, label %305, label %342

305:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #13
  store i32 0, ptr %34, align 4, !tbaa !5
  %306 = load i32, ptr %12, align 4, !tbaa !5
  %307 = load i32, ptr %15, align 4, !tbaa !5
  %308 = icmp sgt i32 %306, %307
  br i1 %308, label %309, label %311

309:                                              ; preds = %305
  %310 = load i32, ptr %12, align 4, !tbaa !5
  br label %313

311:                                              ; preds = %305
  %312 = load i32, ptr %15, align 4, !tbaa !5
  br label %313

313:                                              ; preds = %311, %309
  %314 = phi i32 [ %310, %309 ], [ %312, %311 ]
  store i32 %314, ptr %18, align 4, !tbaa !5
  %315 = load i32, ptr %14, align 4, !tbaa !5
  %316 = load i32, ptr %17, align 4, !tbaa !5
  %317 = icmp sgt i32 %315, %316
  br i1 %317, label %318, label %320

318:                                              ; preds = %313
  %319 = load i32, ptr %14, align 4, !tbaa !5
  br label %322

320:                                              ; preds = %313
  %321 = load i32, ptr %17, align 4, !tbaa !5
  br label %322

322:                                              ; preds = %320, %318
  %323 = phi i32 [ %319, %318 ], [ %321, %320 ]
  store i32 %323, ptr %19, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #13
  %324 = load i32, ptr %18, align 4, !tbaa !5
  %325 = mul nsw i32 2, %324
  %326 = load i32, ptr %19, align 4, !tbaa !5
  %327 = mul nsw i32 %325, %326
  store i32 %327, ptr %35, align 4, !tbaa !5
  %328 = 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 %329 unwind label %338

329:                                              ; preds = %322
  %330 = load i32, ptr %34, align 4, !tbaa !5
  %331 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %328, i32 noundef %330)
          to label %332 unwind label %338

332:                                              ; preds = %329
  %333 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %331, ptr noundef @.str.46)
          to label %334 unwind label %338

334:                                              ; preds = %332
  %335 = load i32, ptr %35, align 4, !tbaa !5
  %336 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %333, i32 noundef %335)
          to label %337 unwind label %338

337:                                              ; preds = %334
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #13
  br label %342

338:                                              ; preds = %334, %332, %329, %322
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %28, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #13
  br label %3023

342:                                              ; preds = %337, %302
  %343 = load i32, ptr %6, align 4, !tbaa !14
  %344 = icmp eq i32 %343, 1
  br i1 %344, label %345, label %2990

345:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #13
  store i32 0, ptr %36, align 4, !tbaa !5
  %346 = load i32, ptr %12, align 4, !tbaa !5
  %347 = load i32, ptr %15, align 4, !tbaa !5
  %348 = icmp sgt i32 %346, %347
  br i1 %348, label %349, label %351

349:                                              ; preds = %345
  %350 = load i32, ptr %12, align 4, !tbaa !5
  br label %353

351:                                              ; preds = %345
  %352 = load i32, ptr %15, align 4, !tbaa !5
  br label %353

353:                                              ; preds = %351, %349
  %354 = phi i32 [ %350, %349 ], [ %352, %351 ]
  store i32 %354, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #13
  %355 = load i32, ptr %18, align 4, !tbaa !5
  %356 = mul nsw i32 2, %355
  %357 = load i32, ptr %9, align 4, !tbaa !5
  %358 = mul nsw i32 %356, %357
  store i32 %358, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #13
  store float 0x3FA99999A0000000, ptr %38, align 4, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %359 unwind label %379

359:                                              ; preds = %353
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #13
  %360 = load i32, ptr %11, align 4, !tbaa !5
  %361 = sext i32 %360 to i64
  %362 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %361, i64 4)
  %363 = extractvalue { i64, i1 } %362, 1
  %364 = extractvalue { i64, i1 } %362, 0
  %365 = select i1 %363, i64 -1, i64 %364
  %366 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %365) #14
          to label %367 unwind label %383

367:                                              ; preds = %359
  store ptr %366, ptr %41, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 520, ptr %42) #13
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %42, ptr noundef nonnull align 8 dereferenceable(32) %30, i32 noundef 8)
          to label %368 unwind label %387

368:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #13
  %369 = 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) %42, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %370 unwind label %391

370:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 392, ptr %45) #13
  %371 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 16, i32 noundef 8)
          to label %372 unwind label %395

372:                                              ; preds = %370
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(128) %45, ptr noundef nonnull align 8 dereferenceable(32) %43, i32 noundef %371)
          to label %373 unwind label %395

373:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #13
  store i32 0, ptr %46, align 4, !tbaa !5
  br label %374

374:                                              ; preds = %408, %373
  %375 = load i32, ptr %46, align 4, !tbaa !5
  %376 = load i32, ptr %11, align 4, !tbaa !5
  %377 = icmp slt i32 %375, %376
  br i1 %377, label %399, label %378

378:                                              ; preds = %374
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #13
  br label %415

379:                                              ; preds = %353
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %28, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %29, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #13
  br label %2989

383:                                              ; preds = %359
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %28, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %29, align 4
  br label %2988

387:                                              ; preds = %367
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %28, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %29, align 4
  br label %2987

391:                                              ; preds = %368
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %28, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %29, align 4
  br label %2986

395:                                              ; preds = %372, %370
  %396 = landingpad { ptr, i32 }
          cleanup
  %397 = extractvalue { ptr, i32 } %396, 0
  store ptr %397, ptr %28, align 8
  %398 = extractvalue { ptr, i32 } %396, 1
  store i32 %398, ptr %29, align 4
  br label %2985

399:                                              ; preds = %374
  %400 = 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) %45, ptr noundef nonnull align 8 dereferenceable(32) %44, i8 noundef signext 44)
          to label %401 unwind label %411

401:                                              ; preds = %399
  %402 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef null, i32 noundef 10)
          to label %403 unwind label %411

403:                                              ; preds = %401
  %404 = load ptr, ptr %41, align 8, !tbaa !9
  %405 = load i32, ptr %46, align 4, !tbaa !5
  %406 = sext i32 %405 to i64
  %407 = getelementptr inbounds i32, ptr %404, i64 %406
  store i32 %402, ptr %407, align 4, !tbaa !5
  br label %408

408:                                              ; preds = %403
  %409 = load i32, ptr %46, align 4, !tbaa !5
  %410 = add nsw i32 %409, 1
  store i32 %410, ptr %46, align 4, !tbaa !5
  br label %374, !llvm.loop !18

411:                                              ; preds = %401, %399
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %28, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #13
  br label %2984

415:                                              ; preds = %378
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %42)
          to label %416 unwind label %438

416:                                              ; preds = %415
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #13
  %417 = load i32, ptr %8, align 4, !tbaa !5
  %418 = add nsw i32 %417, 1
  %419 = sext i32 %418 to i64
  %420 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %419, i64 4)
  %421 = extractvalue { i64, i1 } %420, 1
  %422 = extractvalue { i64, i1 } %420, 0
  %423 = select i1 %421, i64 -1, i64 %422
  %424 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %423) #14
          to label %425 unwind label %442

425:                                              ; preds = %416
  store ptr %424, ptr %47, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 520, ptr %48) #13
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %48, ptr noundef nonnull align 8 dereferenceable(32) %26, i32 noundef 8)
          to label %426 unwind label %446

426:                                              ; preds = %425
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #13
  %427 = 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) %48, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %428 unwind label %450

428:                                              ; preds = %426
  call void @llvm.lifetime.start.p0(i64 392, ptr %51) #13
  %429 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 16, i32 noundef 8)
          to label %430 unwind label %454

430:                                              ; preds = %428
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %49, i32 noundef %429)
          to label %431 unwind label %454

431:                                              ; preds = %430
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #13
  store i32 0, ptr %52, align 4, !tbaa !5
  br label %432

432:                                              ; preds = %467, %431
  %433 = load i32, ptr %52, align 4, !tbaa !5
  %434 = load i32, ptr %8, align 4, !tbaa !5
  %435 = add nsw i32 %434, 1
  %436 = icmp slt i32 %433, %435
  br i1 %436, label %458, label %437

437:                                              ; preds = %432
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #13
  br label %474

438:                                              ; preds = %415
  %439 = landingpad { ptr, i32 }
          cleanup
  %440 = extractvalue { ptr, i32 } %439, 0
  store ptr %440, ptr %28, align 8
  %441 = extractvalue { ptr, i32 } %439, 1
  store i32 %441, ptr %29, align 4
  br label %2984

442:                                              ; preds = %416
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %28, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %29, align 4
  br label %2983

446:                                              ; preds = %425
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %28, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %29, align 4
  br label %2982

450:                                              ; preds = %426
  %451 = landingpad { ptr, i32 }
          cleanup
  %452 = extractvalue { ptr, i32 } %451, 0
  store ptr %452, ptr %28, align 8
  %453 = extractvalue { ptr, i32 } %451, 1
  store i32 %453, ptr %29, align 4
  br label %2981

454:                                              ; preds = %430, %428
  %455 = landingpad { ptr, i32 }
          cleanup
  %456 = extractvalue { ptr, i32 } %455, 0
  store ptr %456, ptr %28, align 8
  %457 = extractvalue { ptr, i32 } %455, 1
  store i32 %457, ptr %29, align 4
  br label %2980

458:                                              ; preds = %432
  %459 = 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) %51, ptr noundef nonnull align 8 dereferenceable(32) %50, i8 noundef signext 44)
          to label %460 unwind label %470

460:                                              ; preds = %458
  %461 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef null, i32 noundef 10)
          to label %462 unwind label %470

462:                                              ; preds = %460
  %463 = load ptr, ptr %47, align 8, !tbaa !9
  %464 = load i32, ptr %52, align 4, !tbaa !5
  %465 = sext i32 %464 to i64
  %466 = getelementptr inbounds i32, ptr %463, i64 %465
  store i32 %461, ptr %466, align 4, !tbaa !5
  br label %467

467:                                              ; preds = %462
  %468 = load i32, ptr %52, align 4, !tbaa !5
  %469 = add nsw i32 %468, 1
  store i32 %469, ptr %52, align 4, !tbaa !5
  br label %432, !llvm.loop !20

470:                                              ; preds = %460, %458
  %471 = landingpad { ptr, i32 }
          cleanup
  %472 = extractvalue { ptr, i32 } %471, 0
  store ptr %472, ptr %28, align 8
  %473 = extractvalue { ptr, i32 } %471, 1
  store i32 %473, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #13
  br label %2979

474:                                              ; preds = %437
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %48)
          to label %475 unwind label %483

475:                                              ; preds = %474
  %476 = 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 %477 unwind label %483

477:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #13
  store i32 0, ptr %53, align 4, !tbaa !5
  br label %478

478:                                              ; preds = %497, %477
  %479 = load i32, ptr %53, align 4, !tbaa !5
  %480 = load i32, ptr %8, align 4, !tbaa !5
  %481 = icmp sle i32 %479, %480
  br i1 %481, label %487, label %482

482:                                              ; preds = %478
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #13
  br label %504

483:                                              ; preds = %531, %506, %504, %475, %474
  %484 = landingpad { ptr, i32 }
          cleanup
  %485 = extractvalue { ptr, i32 } %484, 0
  store ptr %485, ptr %28, align 8
  %486 = extractvalue { ptr, i32 } %484, 1
  store i32 %486, ptr %29, align 4
  br label %2979

487:                                              ; preds = %478
  %488 = load ptr, ptr %47, align 8, !tbaa !9
  %489 = load i32, ptr %53, align 4, !tbaa !5
  %490 = sext i32 %489 to i64
  %491 = getelementptr inbounds i32, ptr %488, i64 %490
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %492)
          to label %494 unwind label %500

494:                                              ; preds = %487
  %495 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %493, ptr noundef @.str.44)
          to label %496 unwind label %500

496:                                              ; preds = %494
  br label %497

497:                                              ; preds = %496
  %498 = load i32, ptr %53, align 4, !tbaa !5
  %499 = add nsw i32 %498, 1
  store i32 %499, ptr %53, align 4, !tbaa !5
  br label %478, !llvm.loop !21

500:                                              ; preds = %494, %487
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %28, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #13
  br label %2979

504:                                              ; preds = %482
  %505 = 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 %506 unwind label %483

506:                                              ; preds = %504
  %507 = 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 %508 unwind label %483

508:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #13
  store i32 0, ptr %54, align 4, !tbaa !5
  br label %509

509:                                              ; preds = %524, %508
  %510 = load i32, ptr %54, align 4, !tbaa !5
  %511 = load i32, ptr %11, align 4, !tbaa !5
  %512 = icmp slt i32 %510, %511
  br i1 %512, label %514, label %513

513:                                              ; preds = %509
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #13
  br label %531

514:                                              ; preds = %509
  %515 = load ptr, ptr %41, align 8, !tbaa !9
  %516 = load i32, ptr %54, align 4, !tbaa !5
  %517 = sext i32 %516 to i64
  %518 = getelementptr inbounds i32, ptr %515, i64 %517
  %519 = load i32, ptr %518, align 4, !tbaa !5
  %520 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %519)
          to label %521 unwind label %527

521:                                              ; preds = %514
  %522 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %520, ptr noundef @.str.44)
          to label %523 unwind label %527

523:                                              ; preds = %521
  br label %524

524:                                              ; preds = %523
  %525 = load i32, ptr %54, align 4, !tbaa !5
  %526 = add nsw i32 %525, 1
  store i32 %526, ptr %54, align 4, !tbaa !5
  br label %509, !llvm.loop !22

527:                                              ; preds = %521, %514
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %28, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #13
  br label %2979

531:                                              ; preds = %513
  %532 = 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 %533 unwind label %483

533:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #13
  %534 = load i32, ptr %11, align 4, !tbaa !5
  %535 = sext i32 %534 to i64
  %536 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %535, i64 4)
  %537 = extractvalue { i64, i1 } %536, 1
  %538 = extractvalue { i64, i1 } %536, 0
  %539 = select i1 %537, i64 -1, i64 %538
  %540 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %539) #14
          to label %541 unwind label %547

541:                                              ; preds = %533
  store ptr %540, ptr %55, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #13
  store i32 0, ptr %56, align 4, !tbaa !5
  br label %542

542:                                              ; preds = %556, %541
  %543 = load i32, ptr %56, align 4, !tbaa !5
  %544 = load i32, ptr %11, align 4, !tbaa !5
  %545 = icmp slt i32 %543, %544
  br i1 %545, label %551, label %546

546:                                              ; preds = %542
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #13
  br label %559

547:                                              ; preds = %533
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %28, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %29, align 4
  br label %2978

551:                                              ; preds = %542
  %552 = load ptr, ptr %55, align 8, !tbaa !9
  %553 = load i32, ptr %56, align 4, !tbaa !5
  %554 = sext i32 %553 to i64
  %555 = getelementptr inbounds float, ptr %552, i64 %554
  store float 1.000000e+00, ptr %555, align 4, !tbaa !16
  br label %556

556:                                              ; preds = %551
  %557 = load i32, ptr %56, align 4, !tbaa !5
  %558 = add nsw i32 %557, 1
  store i32 %558, ptr %56, align 4, !tbaa !5
  br label %542, !llvm.loop !23

559:                                              ; preds = %546
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #13
  %560 = load i32, ptr %8, align 4, !tbaa !5
  %561 = load i32, ptr %9, align 4, !tbaa !5
  %562 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %560, i32 noundef %561, float noundef 0.000000e+00)
          to label %563 unwind label %581

563:                                              ; preds = %559
  store ptr %562, ptr %57, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #13
  %564 = load i32, ptr %8, align 4, !tbaa !5
  %565 = load i32, ptr %9, align 4, !tbaa !5
  %566 = mul nsw i32 %564, %565
  %567 = sext i32 %566 to i64
  %568 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %567, i64 4)
  %569 = extractvalue { i64, i1 } %568, 1
  %570 = extractvalue { i64, i1 } %568, 0
  %571 = select i1 %569, i64 -1, i64 %570
  %572 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %571) #14
          to label %573 unwind label %585

573:                                              ; preds = %563
  store ptr %572, ptr %58, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #13
  store i32 0, ptr %59, align 4, !tbaa !5
  br label %574

574:                                              ; preds = %599, %573
  %575 = load i32, ptr %59, align 4, !tbaa !5
  %576 = load i32, ptr %8, align 4, !tbaa !5
  %577 = load i32, ptr %9, align 4, !tbaa !5
  %578 = mul nsw i32 %576, %577
  %579 = icmp slt i32 %575, %578
  br i1 %579, label %589, label %580

580:                                              ; preds = %574
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #13
  br label %602

581:                                              ; preds = %559
  %582 = landingpad { ptr, i32 }
          cleanup
  %583 = extractvalue { ptr, i32 } %582, 0
  store ptr %583, ptr %28, align 8
  %584 = extractvalue { ptr, i32 } %582, 1
  store i32 %584, ptr %29, align 4
  br label %2977

585:                                              ; preds = %563
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %28, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %29, align 4
  br label %2976

589:                                              ; preds = %574
  %590 = load ptr, ptr %57, align 8, !tbaa !9
  %591 = load i32, ptr %59, align 4, !tbaa !5
  %592 = sext i32 %591 to i64
  %593 = getelementptr inbounds float, ptr %590, i64 %592
  %594 = load float, ptr %593, align 4, !tbaa !16
  %595 = load ptr, ptr %58, align 8, !tbaa !9
  %596 = load i32, ptr %59, align 4, !tbaa !5
  %597 = sext i32 %596 to i64
  %598 = getelementptr inbounds float, ptr %595, i64 %597
  store float %594, ptr %598, align 4, !tbaa !16
  br label %599

599:                                              ; preds = %589
  %600 = load i32, ptr %59, align 4, !tbaa !5
  %601 = add nsw i32 %600, 1
  store i32 %601, ptr %59, align 4, !tbaa !5
  br label %574, !llvm.loop !24

602:                                              ; preds = %580
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #13
  %603 = load i32, ptr %8, align 4, !tbaa !5
  %604 = load i32, ptr %9, align 4, !tbaa !5
  %605 = mul nsw i32 %603, %604
  %606 = sext i32 %605 to i64
  %607 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %606, i64 4)
  %608 = extractvalue { i64, i1 } %607, 1
  %609 = extractvalue { i64, i1 } %607, 0
  %610 = select i1 %608, i64 -1, i64 %609
  %611 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %610) #14
          to label %612 unwind label %659

612:                                              ; preds = %602
  store ptr %611, ptr %60, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #13
  %613 = load i32, ptr %8, align 4, !tbaa !5
  %614 = load i32, ptr %9, align 4, !tbaa !5
  %615 = mul nsw i32 %613, %614
  %616 = sext i32 %615 to i64
  %617 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %616, i64 4)
  %618 = extractvalue { i64, i1 } %617, 1
  %619 = extractvalue { i64, i1 } %617, 0
  %620 = select i1 %618, i64 -1, i64 %619
  %621 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %620) #14
          to label %622 unwind label %663

622:                                              ; preds = %612
  store ptr %621, ptr %61, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #13
  %623 = load i32, ptr %8, align 4, !tbaa !5
  %624 = load i32, ptr %9, align 4, !tbaa !5
  %625 = mul nsw i32 %623, %624
  %626 = sext i32 %625 to i64
  %627 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %626, i64 4)
  %628 = extractvalue { i64, i1 } %627, 1
  %629 = extractvalue { i64, i1 } %627, 0
  %630 = select i1 %628, i64 -1, i64 %629
  %631 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %630) #14
          to label %632 unwind label %667

632:                                              ; preds = %622
  store ptr %631, ptr %62, align 8, !tbaa !9
  %633 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.51)
          to label %634 unwind label %667

634:                                              ; preds = %632
  call void @llvm.lifetime.start.p0(i64 160, ptr %63) #13
  invoke void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160) %63)
          to label %635 unwind label %671

635:                                              ; preds = %634
  call void @llvm.lifetime.start.p0(i64 160, ptr %64) #13
  invoke void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160) %64)
          to label %636 unwind label %675

636:                                              ; preds = %635
  %637 = load i32, ptr %20, align 4, !tbaa !5
  %638 = getelementptr inbounds %class.Config, ptr %63, i32 0, i32 3
  %639 = getelementptr inbounds %class.MSNetworkConfig, ptr %638, i32 0, i32 1
  store i32 %637, ptr %639, align 4, !tbaa !25
  %640 = load i32, ptr %22, align 4, !tbaa !5
  %641 = getelementptr inbounds %class.Config, ptr %63, i32 0, i32 8
  %642 = getelementptr inbounds %class.SDMemoryConfig, ptr %641, i32 0, i32 2
  store i32 %640, ptr %642, align 4, !tbaa !39
  %643 = load i32, ptr %24, align 4, !tbaa !5
  %644 = getelementptr inbounds %class.Config, ptr %63, i32 0, i32 8
  %645 = getelementptr inbounds %class.SDMemoryConfig, ptr %644, i32 0, i32 3
  store i32 %643, ptr %645, align 4, !tbaa !40
  %646 = getelementptr inbounds %class.Config, ptr %63, i32 0, i32 5
  %647 = getelementptr inbounds %class.ASNetworkConfig, ptr %646, i32 0, i32 1
  store i32 1, ptr %647, align 4, !tbaa !41
  %648 = getelementptr inbounds %class.Config, ptr %63, i32 0, i32 8
  %649 = getelementptr inbounds %class.SDMemoryConfig, ptr %648, i32 0, i32 0
  store i32 2, ptr %649, align 4, !tbaa !42
  %650 = getelementptr inbounds %class.Config, ptr %63, i32 0, i32 0
  store i32 0, ptr %650, align 4, !tbaa !43
  %651 = load i32, ptr %13, align 4, !tbaa !5
  %652 = icmp sgt i32 %651, 1
  br i1 %652, label %653, label %688

653:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.52, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %654 unwind label %679

654:                                              ; preds = %653
  %655 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %65)
          to label %656 unwind label %683

656:                                              ; preds = %654
  %657 = getelementptr inbounds %class.Config, ptr %63, i32 0, i32 5
  %658 = getelementptr inbounds %class.ASNetworkConfig, ptr %657, i32 0, i32 0
  store i32 %655, ptr %658, align 4, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #13
  br label %703

659:                                              ; preds = %602
  %660 = landingpad { ptr, i32 }
          cleanup
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %28, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %29, align 4
  br label %2975

663:                                              ; preds = %612
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %28, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %29, align 4
  br label %2974

667:                                              ; preds = %632, %622
  %668 = landingpad { ptr, i32 }
          cleanup
  %669 = extractvalue { ptr, i32 } %668, 0
  store ptr %669, ptr %28, align 8
  %670 = extractvalue { ptr, i32 } %668, 1
  store i32 %670, ptr %29, align 4
  br label %2973

671:                                              ; preds = %634
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %28, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %29, align 4
  br label %2972

675:                                              ; preds = %635
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %28, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %29, align 4
  br label %2971

679:                                              ; preds = %653
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %28, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %29, align 4
  br label %687

683:                                              ; preds = %654
  %684 = landingpad { ptr, i32 }
          cleanup
  %685 = extractvalue { ptr, i32 } %684, 0
  store ptr %685, ptr %28, align 8
  %686 = extractvalue { ptr, i32 } %684, 1
  store i32 %686, ptr %29, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #13
  br label %687

687:                                              ; preds = %683, %679
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #13
  br label %2971

688:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %689 unwind label %694

689:                                              ; preds = %688
  %690 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %67)
          to label %691 unwind label %698

691:                                              ; preds = %689
  %692 = getelementptr inbounds %class.Config, ptr %63, i32 0, i32 5
  %693 = getelementptr inbounds %class.ASNetworkConfig, ptr %692, i32 0, i32 0
  store i32 %690, ptr %693, align 4, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #13
  br label %703

694:                                              ; preds = %688
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %28, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %29, align 4
  br label %702

698:                                              ; preds = %689
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %28, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %29, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #13
  br label %702

702:                                              ; preds = %698, %694
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #13
  br label %2971

703:                                              ; preds = %691, %656
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #13
  %704 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 320) #14
          to label %705 unwind label %739

705:                                              ; preds = %703
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %70, ptr align 4 %63, i64 160, i1 false), !tbaa.struct !45
  invoke void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316) %704, ptr noundef byval(%class.Config) align 8 %70)
          to label %706 unwind label %743

706:                                              ; preds = %705
  store ptr %704, ptr %69, align 8, !tbaa !9
  %707 = load ptr, ptr %69, align 8, !tbaa !9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %708 unwind label %739

708:                                              ; preds = %706
  %709 = load i32, ptr %9, align 4, !tbaa !5
  %710 = load i32, ptr %8, align 4, !tbaa !5
  %711 = load i32, ptr %8, align 4, !tbaa !5
  %712 = load ptr, ptr %55, align 8, !tbaa !9
  %713 = load ptr, ptr %58, align 8, !tbaa !9
  %714 = load ptr, ptr %41, align 8, !tbaa !9
  %715 = load ptr, ptr %47, align 8, !tbaa !9
  %716 = load ptr, ptr %62, align 8, !tbaa !9
  %717 = load i32, ptr %14, align 4, !tbaa !5
  %718 = load i32, ptr %13, align 4, !tbaa !5
  invoke void @_ZN6Stonne15loadSparseDenseENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_PjS7_S6_jj(ptr noundef nonnull align 8 dereferenceable(316) %707, ptr noundef %71, i32 noundef %709, i32 noundef %710, i32 noundef %711, ptr noundef %712, ptr noundef %713, ptr noundef %714, ptr noundef %715, ptr noundef %716, i32 noundef %717, i32 noundef %718)
          to label %719 unwind label %747

719:                                              ; preds = %708
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  %720 = load ptr, ptr %69, align 8, !tbaa !9
  %721 = load ptr, ptr %60, align 8, !tbaa !9
  invoke void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316) %720, ptr noundef %721)
          to label %722 unwind label %739

722:                                              ; preds = %719
  %723 = load ptr, ptr %69, align 8, !tbaa !9
  invoke void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316) %723)
          to label %724 unwind label %739

724:                                              ; preds = %722
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #13
  %725 = load ptr, ptr %69, align 8, !tbaa !9
  %726 = invoke noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316) %725)
          to label %727 unwind label %751

727:                                              ; preds = %724
  store i32 %726, ptr %72, align 4, !tbaa !5
  %728 = 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 %729 unwind label %751

729:                                              ; preds = %727
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #13
  %730 = load i32, ptr %9, align 4, !tbaa !5
  %731 = sub nsw i32 %730, 1
  store i32 %731, ptr %73, align 4, !tbaa !5
  br label %732

732:                                              ; preds = %765, %729
  %733 = load i32, ptr %73, align 4, !tbaa !5
  %734 = load i32, ptr %8, align 4, !tbaa !5
  %735 = load i32, ptr %9, align 4, !tbaa !5
  %736 = mul nsw i32 %734, %735
  %737 = icmp slt i32 %733, %736
  br i1 %737, label %755, label %738

738:                                              ; preds = %732
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #13
  br label %773

739:                                              ; preds = %722, %719, %706, %703
  %740 = landingpad { ptr, i32 }
          cleanup
  %741 = extractvalue { ptr, i32 } %740, 0
  store ptr %741, ptr %28, align 8
  %742 = extractvalue { ptr, i32 } %740, 1
  store i32 %742, ptr %29, align 4
  br label %2970

743:                                              ; preds = %705
  %744 = landingpad { ptr, i32 }
          cleanup
  %745 = extractvalue { ptr, i32 } %744, 0
  store ptr %745, ptr %28, align 8
  %746 = extractvalue { ptr, i32 } %744, 1
  store i32 %746, ptr %29, align 4
  call void @_ZdlPvm(ptr noundef %704, i64 noundef 320) #15
  br label %2970

747:                                              ; preds = %708
  %748 = landingpad { ptr, i32 }
          cleanup
  %749 = extractvalue { ptr, i32 } %748, 0
  store ptr %749, ptr %28, align 8
  %750 = extractvalue { ptr, i32 } %748, 1
  store i32 %750, ptr %29, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  br label %2970

751:                                              ; preds = %773, %727, %724
  %752 = landingpad { ptr, i32 }
          cleanup
  %753 = extractvalue { ptr, i32 } %752, 0
  store ptr %753, ptr %28, align 8
  %754 = extractvalue { ptr, i32 } %752, 1
  store i32 %754, ptr %29, align 4
  br label %2969

755:                                              ; preds = %732
  %756 = load ptr, ptr %60, align 8, !tbaa !9
  %757 = load i32, ptr %73, align 4, !tbaa !5
  %758 = sext i32 %757 to i64
  %759 = getelementptr inbounds i32, ptr %756, i64 %758
  %760 = load i32, ptr %759, align 4, !tbaa !5
  %761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %760)
          to label %762 unwind label %769

762:                                              ; preds = %755
  %763 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %761, ptr noundef @.str.44)
          to label %764 unwind label %769

764:                                              ; preds = %762
  br label %765

765:                                              ; preds = %764
  %766 = load i32, ptr %9, align 4, !tbaa !5
  %767 = load i32, ptr %73, align 4, !tbaa !5
  %768 = add nsw i32 %767, %766
  store i32 %768, ptr %73, align 4, !tbaa !5
  br label %732, !llvm.loop !50

769:                                              ; preds = %762, %755
  %770 = landingpad { ptr, i32 }
          cleanup
  %771 = extractvalue { ptr, i32 } %770, 0
  store ptr %771, ptr %28, align 8
  %772 = extractvalue { ptr, i32 } %770, 1
  store i32 %772, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #13
  br label %2969

773:                                              ; preds = %738
  %774 = 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 %775 unwind label %751

775:                                              ; preds = %773
  call void @llvm.lifetime.start.p0(i64 40, ptr %74) #13
  %776 = load ptr, ptr %69, align 8, !tbaa !9
  invoke void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind writable sret(%class.MSNetworkStats) align 8 %74, ptr noundef nonnull align 8 dereferenceable(316) %776)
          to label %777 unwind label %835

777:                                              ; preds = %775
  %778 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.56)
          to label %779 unwind label %835

779:                                              ; preds = %777
  %780 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.57)
          to label %781 unwind label %835

781:                                              ; preds = %779
  %782 = getelementptr inbounds %class.MSNetworkStats, ptr %74, i32 0, i32 3
  %783 = load i32, ptr %782, align 8, !tbaa !51
  %784 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %780, i32 noundef %783)
          to label %785 unwind label %835

785:                                              ; preds = %781
  %786 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %784, ptr noundef @.str.43)
          to label %787 unwind label %835

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 @.str.58)
          to label %789 unwind label %835

789:                                              ; preds = %787
  %790 = getelementptr inbounds %class.MSNetworkStats, ptr %74, i32 0, i32 4
  %791 = load i32, ptr %790, align 4, !tbaa !54
  %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 %835

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 @.str.43)
          to label %795 unwind label %835

795:                                              ; preds = %793
  %796 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.59)
          to label %797 unwind label %835

797:                                              ; preds = %795
  %798 = getelementptr inbounds %class.MSNetworkStats, ptr %74, i32 0, i32 5
  %799 = load i32, ptr %798, align 8, !tbaa !55
  %800 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %796, i32 noundef %799)
          to label %801 unwind label %835

801:                                              ; preds = %797
  %802 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %800, ptr noundef @.str.43)
          to label %803 unwind label %835

803:                                              ; preds = %801
  %804 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.60)
          to label %805 unwind label %835

805:                                              ; preds = %803
  %806 = getelementptr inbounds %class.MSNetworkStats, ptr %74, i32 0, i32 6
  %807 = load i32, ptr %806, align 4, !tbaa !56
  %808 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %804, i32 noundef %807)
          to label %809 unwind label %835

809:                                              ; preds = %805
  %810 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %808, ptr noundef @.str.43)
          to label %811 unwind label %835

811:                                              ; preds = %809
  %812 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.61)
          to label %813 unwind label %835

813:                                              ; preds = %811
  %814 = getelementptr inbounds %class.MSNetworkStats, ptr %74, i32 0, i32 7
  %815 = load i32, ptr %814, align 8, !tbaa !57
  %816 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %812, i32 noundef %815)
          to label %817 unwind label %835

817:                                              ; preds = %813
  %818 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %816, ptr noundef @.str.43)
          to label %819 unwind label %835

819:                                              ; preds = %817
  %820 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.62)
          to label %821 unwind label %835

821:                                              ; preds = %819
  %822 = getelementptr inbounds %class.MSNetworkStats, ptr %74, i32 0, i32 8
  %823 = load i32, ptr %822, align 4, !tbaa !58
  %824 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %820, i32 noundef %823)
          to label %825 unwind label %835

825:                                              ; preds = %821
  %826 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %824, ptr noundef @.str.43)
          to label %827 unwind label %835

827:                                              ; preds = %825
  %828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.63)
          to label %829 unwind label %835

829:                                              ; preds = %827
  %830 = load i32, ptr %13, align 4, !tbaa !5
  %831 = icmp eq i32 %830, 1
  br i1 %831, label %832, label %839

832:                                              ; preds = %829
  %833 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.64)
          to label %834 unwind label %835

834:                                              ; preds = %832
  br label %854

835:                                              ; preds = %832, %827, %825, %821, %819, %817, %813, %811, %809, %805, %803, %801, %797, %795, %793, %789, %787, %785, %781, %779, %777, %775
  %836 = landingpad { ptr, i32 }
          cleanup
  %837 = extractvalue { ptr, i32 } %836, 0
  store ptr %837, ptr %28, align 8
  %838 = extractvalue { ptr, i32 } %836, 1
  store i32 %838, ptr %29, align 4
  br label %2968

839:                                              ; preds = %829
  call void @llvm.lifetime.start.p0(i64 40, ptr %75) #13
  %840 = load ptr, ptr %69, align 8, !tbaa !9
  invoke void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind writable sret(%class.ASNetworkStats) align 8 %75, ptr noundef nonnull align 8 dereferenceable(316) %840)
          to label %841 unwind label %850

841:                                              ; preds = %839
  %842 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.65)
          to label %843 unwind label %850

843:                                              ; preds = %841
  %844 = getelementptr inbounds %class.ASNetworkStats, ptr %75, i32 0, i32 6
  %845 = load i32, ptr %844, align 4, !tbaa !59
  %846 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %842, i32 noundef %845)
          to label %847 unwind label %850

847:                                              ; preds = %843
  %848 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %846, ptr noundef @.str.43)
          to label %849 unwind label %850

849:                                              ; preds = %847
  call void @llvm.lifetime.end.p0(i64 40, ptr %75) #13
  br label %854

850:                                              ; preds = %847, %843, %841, %839
  %851 = landingpad { ptr, i32 }
          cleanup
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %28, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 40, ptr %75) #13
  br label %2968

854:                                              ; preds = %849, %834
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #13
  %855 = load ptr, ptr %69, align 8, !tbaa !9
  invoke void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind writable sret(%class.DSNetworkStats) align 8 %76, ptr noundef nonnull align 8 dereferenceable(316) %855)
          to label %856 unwind label %912

856:                                              ; preds = %854
  %857 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.66)
          to label %858 unwind label %912

858:                                              ; preds = %856
  %859 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.65)
          to label %860 unwind label %912

860:                                              ; preds = %858
  %861 = getelementptr inbounds %class.DSNetworkStats, ptr %76, i32 0, i32 5
  %862 = load i32, ptr %861, align 8, !tbaa !61
  %863 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %859, i32 noundef %862)
          to label %864 unwind label %912

864:                                              ; preds = %860
  %865 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %863, ptr noundef @.str.43)
          to label %866 unwind label %912

866:                                              ; preds = %864
  call void @llvm.lifetime.start.p0(i64 152, ptr %77) #13
  %867 = load ptr, ptr %69, align 8, !tbaa !9
  invoke void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind writable sret(%class.SDMemoryStats) align 8 %77, ptr noundef nonnull align 8 dereferenceable(316) %867)
          to label %868 unwind label %916

868:                                              ; preds = %866
  %869 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.67)
          to label %870 unwind label %920

870:                                              ; preds = %868
  %871 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.68)
          to label %872 unwind label %920

872:                                              ; preds = %870
  %873 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 2
  %874 = load i32, ptr %873, align 4, !tbaa !63
  %875 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %871, i32 noundef %874)
          to label %876 unwind label %920

876:                                              ; preds = %872
  %877 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %875, ptr noundef @.str.43)
          to label %878 unwind label %920

878:                                              ; preds = %876
  %879 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.69)
          to label %880 unwind label %920

880:                                              ; preds = %878
  %881 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 3
  %882 = load i32, ptr %881, align 8, !tbaa !70
  %883 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %879, i32 noundef %882)
          to label %884 unwind label %920

884:                                              ; preds = %880
  %885 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %883, ptr noundef @.str.43)
          to label %886 unwind label %920

886:                                              ; preds = %884
  %887 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.70)
          to label %888 unwind label %920

888:                                              ; preds = %886
  %889 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 4
  %890 = load i32, ptr %889, align 4, !tbaa !71
  %891 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %887, i32 noundef %890)
          to label %892 unwind label %920

892:                                              ; preds = %888
  %893 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %891, ptr noundef @.str.43)
          to label %894 unwind label %920

894:                                              ; preds = %892
  %895 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.71)
          to label %896 unwind label %920

896:                                              ; preds = %894
  %897 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 5
  %898 = load i32, ptr %897, align 8, !tbaa !72
  %899 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %895, i32 noundef %898)
          to label %900 unwind label %920

900:                                              ; preds = %896
  %901 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %899, ptr noundef @.str.43)
          to label %902 unwind label %920

902:                                              ; preds = %900
  %903 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.72)
          to label %904 unwind label %920

904:                                              ; preds = %902
  %905 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %903, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %906 unwind label %920

906:                                              ; preds = %904
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #13
  store i32 0, ptr %78, align 4, !tbaa !5
  br label %907

907:                                              ; preds = %943, %906
  %908 = load i32, ptr %78, align 4, !tbaa !5
  %909 = load i32, ptr %8, align 4, !tbaa !5
  %910 = icmp slt i32 %908, %909
  br i1 %910, label %924, label %911

911:                                              ; preds = %907
  store i32 23, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #13
  br label %946

912:                                              ; preds = %864, %860, %858, %856, %854
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %28, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %29, align 4
  br label %2967

916:                                              ; preds = %866
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %28, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %29, align 4
  br label %2966

920:                                              ; preds = %1192, %1190, %1156, %1154, %1152, %904, %902, %900, %896, %894, %892, %888, %886, %884, %880, %878, %876, %872, %870, %868
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %28, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %29, align 4
  br label %2965

924:                                              ; preds = %907
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #13
  store i32 0, ptr %80, align 4, !tbaa !5
  br label %925

925:                                              ; preds = %939, %924
  %926 = load i32, ptr %80, align 4, !tbaa !5
  %927 = load i32, ptr %9, align 4, !tbaa !5
  %928 = icmp slt i32 %926, %927
  br i1 %928, label %930, label %929

929:                                              ; preds = %925
  store i32 26, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #13
  br label %942

930:                                              ; preds = %925
  %931 = load ptr, ptr %61, align 8, !tbaa !9
  %932 = load i32, ptr %78, align 4, !tbaa !5
  %933 = load i32, ptr %9, align 4, !tbaa !5
  %934 = mul nsw i32 %932, %933
  %935 = load i32, ptr %80, align 4, !tbaa !5
  %936 = add nsw i32 %934, %935
  %937 = sext i32 %936 to i64
  %938 = getelementptr inbounds float, ptr %931, i64 %937
  store float 0.000000e+00, ptr %938, align 4, !tbaa !16
  br label %939

939:                                              ; preds = %930
  %940 = load i32, ptr %80, align 4, !tbaa !5
  %941 = add nsw i32 %940, 1
  store i32 %941, ptr %80, align 4, !tbaa !5
  br label %925, !llvm.loop !73

942:                                              ; preds = %929
  br label %943

943:                                              ; preds = %942
  %944 = load i32, ptr %78, align 4, !tbaa !5
  %945 = add nsw i32 %944, 1
  store i32 %945, ptr %78, align 4, !tbaa !5
  br label %907, !llvm.loop !74

946:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #13
  store i32 0, ptr %81, align 4, !tbaa !5
  br label %947

947:                                              ; preds = %1025, %946
  %948 = load i32, ptr %81, align 4, !tbaa !5
  %949 = load i32, ptr %8, align 4, !tbaa !5
  %950 = icmp slt i32 %948, %949
  br i1 %950, label %952, label %951

951:                                              ; preds = %947
  store i32 29, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #13
  br label %1028

952:                                              ; preds = %947
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #13
  %953 = load ptr, ptr %47, align 8, !tbaa !9
  %954 = load i32, ptr %81, align 4, !tbaa !5
  %955 = add nsw i32 %954, 1
  %956 = sext i32 %955 to i64
  %957 = getelementptr inbounds i32, ptr %953, i64 %956
  %958 = load i32, ptr %957, align 4, !tbaa !5
  %959 = load ptr, ptr %47, align 8, !tbaa !9
  %960 = load i32, ptr %81, align 4, !tbaa !5
  %961 = sext i32 %960 to i64
  %962 = getelementptr inbounds i32, ptr %959, i64 %961
  %963 = load i32, ptr %962, align 4, !tbaa !5
  %964 = sub nsw i32 %958, %963
  store i32 %964, ptr %82, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #13
  store i32 0, ptr %83, align 4, !tbaa !5
  br label %965

965:                                              ; preds = %1021, %952
  %966 = load i32, ptr %83, align 4, !tbaa !5
  %967 = load i32, ptr %9, align 4, !tbaa !5
  %968 = icmp slt i32 %966, %967
  br i1 %968, label %970, label %969

969:                                              ; preds = %965
  store i32 32, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #13
  br label %1024

970:                                              ; preds = %965
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #13
  store i32 0, ptr %84, align 4, !tbaa !5
  br label %971

971:                                              ; preds = %1017, %970
  %972 = load i32, ptr %84, align 4, !tbaa !5
  %973 = load i32, ptr %82, align 4, !tbaa !5
  %974 = icmp slt i32 %972, %973
  br i1 %974, label %976, label %975

975:                                              ; preds = %971
  store i32 35, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #13
  br label %1020

976:                                              ; preds = %971
  %977 = load ptr, ptr %55, align 8, !tbaa !9
  %978 = load ptr, ptr %47, align 8, !tbaa !9
  %979 = load i32, ptr %81, align 4, !tbaa !5
  %980 = sext i32 %979 to i64
  %981 = getelementptr inbounds i32, ptr %978, i64 %980
  %982 = load i32, ptr %981, align 4, !tbaa !5
  %983 = load i32, ptr %84, align 4, !tbaa !5
  %984 = add nsw i32 %982, %983
  %985 = sext i32 %984 to i64
  %986 = getelementptr inbounds float, ptr %977, i64 %985
  %987 = load float, ptr %986, align 4, !tbaa !16
  %988 = load ptr, ptr %58, align 8, !tbaa !9
  %989 = load ptr, ptr %41, align 8, !tbaa !9
  %990 = load ptr, ptr %47, align 8, !tbaa !9
  %991 = load i32, ptr %81, align 4, !tbaa !5
  %992 = sext i32 %991 to i64
  %993 = getelementptr inbounds i32, ptr %990, i64 %992
  %994 = load i32, ptr %993, align 4, !tbaa !5
  %995 = load i32, ptr %84, align 4, !tbaa !5
  %996 = add nsw i32 %994, %995
  %997 = sext i32 %996 to i64
  %998 = getelementptr inbounds i32, ptr %989, i64 %997
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = load i32, ptr %9, align 4, !tbaa !5
  %1001 = mul nsw i32 %999, %1000
  %1002 = load i32, ptr %83, align 4, !tbaa !5
  %1003 = add nsw i32 %1001, %1002
  %1004 = sext i32 %1003 to i64
  %1005 = getelementptr inbounds float, ptr %988, i64 %1004
  %1006 = load float, ptr %1005, align 4, !tbaa !16
  %1007 = load ptr, ptr %61, align 8, !tbaa !9
  %1008 = load i32, ptr %81, align 4, !tbaa !5
  %1009 = load i32, ptr %9, align 4, !tbaa !5
  %1010 = mul nsw i32 %1008, %1009
  %1011 = load i32, ptr %83, align 4, !tbaa !5
  %1012 = add nsw i32 %1010, %1011
  %1013 = sext i32 %1012 to i64
  %1014 = getelementptr inbounds float, ptr %1007, i64 %1013
  %1015 = load float, ptr %1014, align 4, !tbaa !16
  %1016 = call float @llvm.fmuladd.f32(float %987, float %1006, float %1015)
  store float %1016, ptr %1014, align 4, !tbaa !16
  br label %1017

1017:                                             ; preds = %976
  %1018 = load i32, ptr %84, align 4, !tbaa !5
  %1019 = add nsw i32 %1018, 1
  store i32 %1019, ptr %84, align 4, !tbaa !5
  br label %971, !llvm.loop !75

1020:                                             ; preds = %975
  br label %1021

1021:                                             ; preds = %1020
  %1022 = load i32, ptr %83, align 4, !tbaa !5
  %1023 = add nsw i32 %1022, 1
  store i32 %1023, ptr %83, align 4, !tbaa !5
  br label %965, !llvm.loop !76

1024:                                             ; preds = %969
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #13
  br label %1025

1025:                                             ; preds = %1024
  %1026 = load i32, ptr %81, align 4, !tbaa !5
  %1027 = add nsw i32 %1026, 1
  store i32 %1027, ptr %81, align 4, !tbaa !5
  br label %947, !llvm.loop !77

1028:                                             ; preds = %951
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #13
  store i32 0, ptr %85, align 4, !tbaa !5
  br label %1029

1029:                                             ; preds = %1149, %1028
  %1030 = load i32, ptr %85, align 4, !tbaa !5
  %1031 = load i32, ptr %8, align 4, !tbaa !5
  %1032 = icmp slt i32 %1030, %1031
  br i1 %1032, label %1034, label %1033

1033:                                             ; preds = %1029
  store i32 38, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #13
  br label %1152

1034:                                             ; preds = %1029
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #13
  store i32 0, ptr %86, align 4, !tbaa !5
  br label %1035

1035:                                             ; preds = %1145, %1034
  %1036 = load i32, ptr %86, align 4, !tbaa !5
  %1037 = load i32, ptr %9, align 4, !tbaa !5
  %1038 = icmp slt i32 %1036, %1037
  br i1 %1038, label %1040, label %1039

1039:                                             ; preds = %1035
  store i32 41, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #13
  br label %1148

1040:                                             ; preds = %1035
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #13
  %1041 = load ptr, ptr %61, align 8, !tbaa !9
  %1042 = load i32, ptr %85, align 4, !tbaa !5
  %1043 = load i32, ptr %9, align 4, !tbaa !5
  %1044 = mul nsw i32 %1042, %1043
  %1045 = load i32, ptr %86, align 4, !tbaa !5
  %1046 = add nsw i32 %1044, %1045
  %1047 = sext i32 %1046 to i64
  %1048 = getelementptr inbounds float, ptr %1041, i64 %1047
  %1049 = load float, ptr %1048, align 4, !tbaa !16
  %1050 = load ptr, ptr %62, align 8, !tbaa !9
  %1051 = load i32, ptr %85, align 4, !tbaa !5
  %1052 = load i32, ptr %9, align 4, !tbaa !5
  %1053 = mul nsw i32 %1051, %1052
  %1054 = load i32, ptr %86, align 4, !tbaa !5
  %1055 = add nsw i32 %1053, %1054
  %1056 = sext i32 %1055 to i64
  %1057 = getelementptr inbounds float, ptr %1050, i64 %1056
  %1058 = load float, ptr %1057, align 4, !tbaa !16
  %1059 = fsub float %1049, %1058
  %1060 = invoke noundef float @_ZSt4fabsf(float noundef %1059)
          to label %1061 unwind label %1140

1061:                                             ; preds = %1040
  store float %1060, ptr %87, align 4, !tbaa !16
  %1062 = load float, ptr %87, align 4, !tbaa !16
  %1063 = load float, ptr %38, align 4, !tbaa !16
  %1064 = fcmp ogt float %1062, %1063
  br i1 %1064, label %1065, label %1144

1065:                                             ; preds = %1061
  %1066 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.73)
          to label %1067 unwind label %1140

1067:                                             ; preds = %1065
  %1068 = load i32, ptr %85, align 4, !tbaa !5
  %1069 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1066, i32 noundef %1068)
          to label %1070 unwind label %1140

1070:                                             ; preds = %1067
  %1071 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1069, ptr noundef @.str.74)
          to label %1072 unwind label %1140

1072:                                             ; preds = %1070
  %1073 = load i32, ptr %86, align 4, !tbaa !5
  %1074 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1071, i32 noundef %1073)
          to label %1075 unwind label %1140

1075:                                             ; preds = %1072
  %1076 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1074, ptr noundef @.str.75)
          to label %1077 unwind label %1140

1077:                                             ; preds = %1075
  %1078 = load ptr, ptr %62, align 8, !tbaa !9
  %1079 = load i32, ptr %85, align 4, !tbaa !5
  %1080 = load i32, ptr %9, align 4, !tbaa !5
  %1081 = mul nsw i32 %1079, %1080
  %1082 = load i32, ptr %86, align 4, !tbaa !5
  %1083 = add nsw i32 %1081, %1082
  %1084 = sext i32 %1083 to i64
  %1085 = getelementptr inbounds float, ptr %1078, i64 %1084
  %1086 = load float, ptr %1085, align 4, !tbaa !16
  %1087 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %1076, float noundef %1086)
          to label %1088 unwind label %1140

1088:                                             ; preds = %1077
  %1089 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1087, ptr noundef @.str.76)
          to label %1090 unwind label %1140

1090:                                             ; preds = %1088
  %1091 = load ptr, ptr %61, align 8, !tbaa !9
  %1092 = load i32, ptr %85, align 4, !tbaa !5
  %1093 = load i32, ptr %9, align 4, !tbaa !5
  %1094 = mul nsw i32 %1092, %1093
  %1095 = load i32, ptr %86, align 4, !tbaa !5
  %1096 = add nsw i32 %1094, %1095
  %1097 = sext i32 %1096 to i64
  %1098 = getelementptr inbounds float, ptr %1091, i64 %1097
  %1099 = load float, ptr %1098, align 4, !tbaa !16
  %1100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %1089, float noundef %1099)
          to label %1101 unwind label %1140

1101:                                             ; preds = %1090
  %1102 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1100, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1103 unwind label %1140

1103:                                             ; preds = %1101
  %1104 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.77)
          to label %1105 unwind label %1140

1105:                                             ; preds = %1103
  %1106 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1104, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1107 unwind label %1140

1107:                                             ; preds = %1105
  %1108 = load ptr, ptr %58, align 8, !tbaa !9
  %1109 = icmp eq ptr %1108, null
  br i1 %1109, label %1111, label %1110

1110:                                             ; preds = %1107
  call void @_ZdaPv(ptr noundef %1108) #15
  br label %1111

1111:                                             ; preds = %1110, %1107
  %1112 = load ptr, ptr %57, align 8, !tbaa !9
  %1113 = icmp eq ptr %1112, null
  br i1 %1113, label %1115, label %1114

1114:                                             ; preds = %1111
  call void @_ZdaPv(ptr noundef %1112) #15
  br label %1115

1115:                                             ; preds = %1114, %1111
  %1116 = load ptr, ptr %41, align 8, !tbaa !9
  %1117 = icmp eq ptr %1116, null
  br i1 %1117, label %1119, label %1118

1118:                                             ; preds = %1115
  call void @_ZdaPv(ptr noundef %1116) #15
  br label %1119

1119:                                             ; preds = %1118, %1115
  %1120 = load ptr, ptr %47, align 8, !tbaa !9
  %1121 = icmp eq ptr %1120, null
  br i1 %1121, label %1123, label %1122

1122:                                             ; preds = %1119
  call void @_ZdaPv(ptr noundef %1120) #15
  br label %1123

1123:                                             ; preds = %1122, %1119
  %1124 = load ptr, ptr %55, align 8, !tbaa !9
  %1125 = icmp eq ptr %1124, null
  br i1 %1125, label %1127, label %1126

1126:                                             ; preds = %1123
  call void @_ZdaPv(ptr noundef %1124) #15
  br label %1127

1127:                                             ; preds = %1126, %1123
  %1128 = load ptr, ptr %61, align 8, !tbaa !9
  %1129 = icmp eq ptr %1128, null
  br i1 %1129, label %1131, label %1130

1130:                                             ; preds = %1127
  call void @_ZdaPv(ptr noundef %1128) #15
  br label %1131

1131:                                             ; preds = %1130, %1127
  %1132 = load ptr, ptr %62, align 8, !tbaa !9
  %1133 = icmp eq ptr %1132, null
  br i1 %1133, label %1135, label %1134

1134:                                             ; preds = %1131
  call void @_ZdaPv(ptr noundef %1132) #15
  br label %1135

1135:                                             ; preds = %1134, %1131
  %1136 = load ptr, ptr %69, align 8, !tbaa !9
  %1137 = icmp eq ptr %1136, null
  br i1 %1137, label %1139, label %1138

1138:                                             ; preds = %1135
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %1136) #13
  call void @_ZdlPvm(ptr noundef %1136, i64 noundef 320) #15
  br label %1139

1139:                                             ; preds = %1138, %1135
  br label %1144

1140:                                             ; preds = %1105, %1103, %1101, %1090, %1088, %1077, %1075, %1072, %1070, %1067, %1065, %1040
  %1141 = landingpad { ptr, i32 }
          cleanup
  %1142 = extractvalue { ptr, i32 } %1141, 0
  store ptr %1142, ptr %28, align 8
  %1143 = extractvalue { ptr, i32 } %1141, 1
  store i32 %1143, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #13
  br label %2965

1144:                                             ; preds = %1139, %1061
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #13
  br label %1145

1145:                                             ; preds = %1144
  %1146 = load i32, ptr %86, align 4, !tbaa !5
  %1147 = add nsw i32 %1146, 1
  store i32 %1147, ptr %86, align 4, !tbaa !5
  br label %1035, !llvm.loop !78

1148:                                             ; preds = %1039
  br label %1149

1149:                                             ; preds = %1148
  %1150 = load i32, ptr %85, align 4, !tbaa !5
  %1151 = add nsw i32 %1150, 1
  store i32 %1151, ptr %85, align 4, !tbaa !5
  br label %1029, !llvm.loop !79

1152:                                             ; preds = %1033
  %1153 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.78)
          to label %1154 unwind label %920

1154:                                             ; preds = %1152
  %1155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1153, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1156 unwind label %920

1156:                                             ; preds = %1154
  %1157 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1155, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1158 unwind label %920

1158:                                             ; preds = %1156
  %1159 = load ptr, ptr %57, align 8, !tbaa !9
  %1160 = icmp eq ptr %1159, null
  br i1 %1160, label %1162, label %1161

1161:                                             ; preds = %1158
  call void @_ZdaPv(ptr noundef %1159) #15
  br label %1162

1162:                                             ; preds = %1161, %1158
  %1163 = load ptr, ptr %58, align 8, !tbaa !9
  %1164 = icmp eq ptr %1163, null
  br i1 %1164, label %1166, label %1165

1165:                                             ; preds = %1162
  call void @_ZdaPv(ptr noundef %1163) #15
  br label %1166

1166:                                             ; preds = %1165, %1162
  %1167 = load ptr, ptr %41, align 8, !tbaa !9
  %1168 = icmp eq ptr %1167, null
  br i1 %1168, label %1170, label %1169

1169:                                             ; preds = %1166
  call void @_ZdaPv(ptr noundef %1167) #15
  br label %1170

1170:                                             ; preds = %1169, %1166
  %1171 = load ptr, ptr %47, align 8, !tbaa !9
  %1172 = icmp eq ptr %1171, null
  br i1 %1172, label %1174, label %1173

1173:                                             ; preds = %1170
  call void @_ZdaPv(ptr noundef %1171) #15
  br label %1174

1174:                                             ; preds = %1173, %1170
  %1175 = load ptr, ptr %55, align 8, !tbaa !9
  %1176 = icmp eq ptr %1175, null
  br i1 %1176, label %1178, label %1177

1177:                                             ; preds = %1174
  call void @_ZdaPv(ptr noundef %1175) #15
  br label %1178

1178:                                             ; preds = %1177, %1174
  %1179 = load ptr, ptr %61, align 8, !tbaa !9
  %1180 = icmp eq ptr %1179, null
  br i1 %1180, label %1182, label %1181

1181:                                             ; preds = %1178
  call void @_ZdaPv(ptr noundef %1179) #15
  br label %1182

1182:                                             ; preds = %1181, %1178
  %1183 = load ptr, ptr %62, align 8, !tbaa !9
  %1184 = icmp eq ptr %1183, null
  br i1 %1184, label %1186, label %1185

1185:                                             ; preds = %1182
  call void @_ZdaPv(ptr noundef %1183) #15
  br label %1186

1186:                                             ; preds = %1185, %1182
  %1187 = load ptr, ptr %69, align 8, !tbaa !9
  %1188 = icmp eq ptr %1187, null
  br i1 %1188, label %1190, label %1189

1189:                                             ; preds = %1186
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %1187) #13
  call void @_ZdlPvm(ptr noundef %1187, i64 noundef 320) #15
  br label %1190

1190:                                             ; preds = %1189, %1186
  %1191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.79)
          to label %1192 unwind label %920

1192:                                             ; preds = %1190
  %1193 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.80)
          to label %1194 unwind label %920

1194:                                             ; preds = %1192
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #13
  %1195 = load i32, ptr %8, align 4, !tbaa !5
  %1196 = load i32, ptr %9, align 4, !tbaa !5
  %1197 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %1195, i32 noundef %1196, float noundef 0.000000e+00)
          to label %1198 unwind label %1216

1198:                                             ; preds = %1194
  store ptr %1197, ptr %88, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #13
  %1199 = load i32, ptr %8, align 4, !tbaa !5
  %1200 = load i32, ptr %9, align 4, !tbaa !5
  %1201 = mul nsw i32 %1199, %1200
  %1202 = sext i32 %1201 to i64
  %1203 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1202, i64 4)
  %1204 = extractvalue { i64, i1 } %1203, 1
  %1205 = extractvalue { i64, i1 } %1203, 0
  %1206 = select i1 %1204, i64 -1, i64 %1205
  %1207 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1206) #14
          to label %1208 unwind label %1220

1208:                                             ; preds = %1198
  store ptr %1207, ptr %89, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #13
  store i32 0, ptr %90, align 4, !tbaa !5
  br label %1209

1209:                                             ; preds = %1234, %1208
  %1210 = load i32, ptr %90, align 4, !tbaa !5
  %1211 = load i32, ptr %8, align 4, !tbaa !5
  %1212 = load i32, ptr %9, align 4, !tbaa !5
  %1213 = mul nsw i32 %1211, %1212
  %1214 = icmp slt i32 %1210, %1213
  br i1 %1214, label %1224, label %1215

1215:                                             ; preds = %1209
  store i32 44, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #13
  br label %1237

1216:                                             ; preds = %1194
  %1217 = landingpad { ptr, i32 }
          cleanup
  %1218 = extractvalue { ptr, i32 } %1217, 0
  store ptr %1218, ptr %28, align 8
  %1219 = extractvalue { ptr, i32 } %1217, 1
  store i32 %1219, ptr %29, align 4
  br label %2964

1220:                                             ; preds = %1198
  %1221 = landingpad { ptr, i32 }
          cleanup
  %1222 = extractvalue { ptr, i32 } %1221, 0
  store ptr %1222, ptr %28, align 8
  %1223 = extractvalue { ptr, i32 } %1221, 1
  store i32 %1223, ptr %29, align 4
  br label %2963

1224:                                             ; preds = %1209
  %1225 = load ptr, ptr %88, align 8, !tbaa !9
  %1226 = load i32, ptr %90, align 4, !tbaa !5
  %1227 = sext i32 %1226 to i64
  %1228 = getelementptr inbounds float, ptr %1225, i64 %1227
  %1229 = load float, ptr %1228, align 4, !tbaa !16
  %1230 = load ptr, ptr %89, align 8, !tbaa !9
  %1231 = load i32, ptr %90, align 4, !tbaa !5
  %1232 = sext i32 %1231 to i64
  %1233 = getelementptr inbounds float, ptr %1230, i64 %1232
  store float %1229, ptr %1233, align 4, !tbaa !16
  br label %1234

1234:                                             ; preds = %1224
  %1235 = load i32, ptr %90, align 4, !tbaa !5
  %1236 = add nsw i32 %1235, 1
  store i32 %1236, ptr %90, align 4, !tbaa !5
  br label %1209, !llvm.loop !80

1237:                                             ; preds = %1215
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #13
  %1238 = load i32, ptr %9, align 4, !tbaa !5
  %1239 = load i32, ptr %10, align 4, !tbaa !5
  %1240 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %1238, i32 noundef %1239, float noundef 0.000000e+00)
          to label %1241 unwind label %1259

1241:                                             ; preds = %1237
  store ptr %1240, ptr %91, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #13
  %1242 = load i32, ptr %9, align 4, !tbaa !5
  %1243 = load i32, ptr %10, align 4, !tbaa !5
  %1244 = mul nsw i32 %1242, %1243
  %1245 = sext i32 %1244 to i64
  %1246 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1245, i64 4)
  %1247 = extractvalue { i64, i1 } %1246, 1
  %1248 = extractvalue { i64, i1 } %1246, 0
  %1249 = select i1 %1247, i64 -1, i64 %1248
  %1250 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1249) #14
          to label %1251 unwind label %1263

1251:                                             ; preds = %1241
  store ptr %1250, ptr %92, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #13
  store i32 0, ptr %93, align 4, !tbaa !5
  br label %1252

1252:                                             ; preds = %1277, %1251
  %1253 = load i32, ptr %93, align 4, !tbaa !5
  %1254 = load i32, ptr %9, align 4, !tbaa !5
  %1255 = load i32, ptr %10, align 4, !tbaa !5
  %1256 = mul nsw i32 %1254, %1255
  %1257 = icmp slt i32 %1253, %1256
  br i1 %1257, label %1267, label %1258

1258:                                             ; preds = %1252
  store i32 47, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #13
  br label %1280

1259:                                             ; preds = %1237
  %1260 = landingpad { ptr, i32 }
          cleanup
  %1261 = extractvalue { ptr, i32 } %1260, 0
  store ptr %1261, ptr %28, align 8
  %1262 = extractvalue { ptr, i32 } %1260, 1
  store i32 %1262, ptr %29, align 4
  br label %2962

1263:                                             ; preds = %1241
  %1264 = landingpad { ptr, i32 }
          cleanup
  %1265 = extractvalue { ptr, i32 } %1264, 0
  store ptr %1265, ptr %28, align 8
  %1266 = extractvalue { ptr, i32 } %1264, 1
  store i32 %1266, ptr %29, align 4
  br label %2961

1267:                                             ; preds = %1252
  %1268 = load ptr, ptr %91, align 8, !tbaa !9
  %1269 = load i32, ptr %93, align 4, !tbaa !5
  %1270 = sext i32 %1269 to i64
  %1271 = getelementptr inbounds float, ptr %1268, i64 %1270
  %1272 = load float, ptr %1271, align 4, !tbaa !16
  %1273 = load ptr, ptr %92, align 8, !tbaa !9
  %1274 = load i32, ptr %93, align 4, !tbaa !5
  %1275 = sext i32 %1274 to i64
  %1276 = getelementptr inbounds float, ptr %1273, i64 %1275
  store float %1272, ptr %1276, align 4, !tbaa !16
  br label %1277

1277:                                             ; preds = %1267
  %1278 = load i32, ptr %93, align 4, !tbaa !5
  %1279 = add nsw i32 %1278, 1
  store i32 %1279, ptr %93, align 4, !tbaa !5
  br label %1252, !llvm.loop !81

1280:                                             ; preds = %1258
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #13
  %1281 = load i32, ptr %8, align 4, !tbaa !5
  %1282 = load i32, ptr %10, align 4, !tbaa !5
  %1283 = mul nsw i32 %1281, %1282
  %1284 = sext i32 %1283 to i64
  %1285 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1284, i64 4)
  %1286 = extractvalue { i64, i1 } %1285, 1
  %1287 = extractvalue { i64, i1 } %1285, 0
  %1288 = select i1 %1286, i64 -1, i64 %1287
  %1289 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1288) #14
          to label %1290 unwind label %1333

1290:                                             ; preds = %1280
  store ptr %1289, ptr %94, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #13
  %1291 = load i32, ptr %8, align 4, !tbaa !5
  %1292 = load i32, ptr %10, align 4, !tbaa !5
  %1293 = mul nsw i32 %1291, %1292
  %1294 = sext i32 %1293 to i64
  %1295 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1294, i64 4)
  %1296 = extractvalue { i64, i1 } %1295, 1
  %1297 = extractvalue { i64, i1 } %1295, 0
  %1298 = select i1 %1296, i64 -1, i64 %1297
  %1299 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1298) #14
          to label %1300 unwind label %1337

1300:                                             ; preds = %1290
  store ptr %1299, ptr %95, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #13
  %1301 = load i32, ptr %8, align 4, !tbaa !5
  %1302 = load i32, ptr %10, align 4, !tbaa !5
  %1303 = mul nsw i32 %1301, %1302
  %1304 = sext i32 %1303 to i64
  %1305 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1304, i64 4)
  %1306 = extractvalue { i64, i1 } %1305, 1
  %1307 = extractvalue { i64, i1 } %1305, 0
  %1308 = select i1 %1306, i64 -1, i64 %1307
  %1309 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1308) #14
          to label %1310 unwind label %1341

1310:                                             ; preds = %1300
  store ptr %1309, ptr %96, align 8, !tbaa !9
  %1311 = load i32, ptr %21, align 4, !tbaa !5
  %1312 = getelementptr inbounds %class.Config, ptr %64, i32 0, i32 3
  %1313 = getelementptr inbounds %class.MSNetworkConfig, ptr %1312, i32 0, i32 1
  store i32 %1311, ptr %1313, align 4, !tbaa !25
  %1314 = load i32, ptr %23, align 4, !tbaa !5
  %1315 = getelementptr inbounds %class.Config, ptr %64, i32 0, i32 8
  %1316 = getelementptr inbounds %class.SDMemoryConfig, ptr %1315, i32 0, i32 2
  store i32 %1314, ptr %1316, align 4, !tbaa !39
  %1317 = load i32, ptr %25, align 4, !tbaa !5
  %1318 = getelementptr inbounds %class.Config, ptr %64, i32 0, i32 8
  %1319 = getelementptr inbounds %class.SDMemoryConfig, ptr %1318, i32 0, i32 3
  store i32 %1317, ptr %1319, align 4, !tbaa !40
  %1320 = getelementptr inbounds %class.Config, ptr %64, i32 0, i32 5
  %1321 = getelementptr inbounds %class.ASNetworkConfig, ptr %1320, i32 0, i32 1
  store i32 1, ptr %1321, align 4, !tbaa !41
  %1322 = getelementptr inbounds %class.Config, ptr %64, i32 0, i32 8
  %1323 = getelementptr inbounds %class.SDMemoryConfig, ptr %1322, i32 0, i32 0
  store i32 0, ptr %1323, align 4, !tbaa !42
  %1324 = getelementptr inbounds %class.Config, ptr %64, i32 0, i32 0
  store i32 0, ptr %1324, align 4, !tbaa !43
  %1325 = load i32, ptr %17, align 4, !tbaa !5
  %1326 = icmp sgt i32 %1325, 1
  br i1 %1326, label %1327, label %1354

1327:                                             ; preds = %1310
  call void @llvm.lifetime.start.p0(i64 1, ptr %98) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef @.str.52, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %1328 unwind label %1345

1328:                                             ; preds = %1327
  %1329 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %97)
          to label %1330 unwind label %1349

1330:                                             ; preds = %1328
  %1331 = getelementptr inbounds %class.Config, ptr %64, i32 0, i32 5
  %1332 = getelementptr inbounds %class.ASNetworkConfig, ptr %1331, i32 0, i32 0
  store i32 %1329, ptr %1332, align 4, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #13
  br label %1369

1333:                                             ; preds = %1280
  %1334 = landingpad { ptr, i32 }
          cleanup
  %1335 = extractvalue { ptr, i32 } %1334, 0
  store ptr %1335, ptr %28, align 8
  %1336 = extractvalue { ptr, i32 } %1334, 1
  store i32 %1336, ptr %29, align 4
  br label %2960

1337:                                             ; preds = %1290
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %28, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %29, align 4
  br label %2959

1341:                                             ; preds = %1300
  %1342 = landingpad { ptr, i32 }
          cleanup
  %1343 = extractvalue { ptr, i32 } %1342, 0
  store ptr %1343, ptr %28, align 8
  %1344 = extractvalue { ptr, i32 } %1342, 1
  store i32 %1344, ptr %29, align 4
  br label %2958

1345:                                             ; preds = %1327
  %1346 = landingpad { ptr, i32 }
          cleanup
  %1347 = extractvalue { ptr, i32 } %1346, 0
  store ptr %1347, ptr %28, align 8
  %1348 = extractvalue { ptr, i32 } %1346, 1
  store i32 %1348, ptr %29, align 4
  br label %1353

1349:                                             ; preds = %1328
  %1350 = landingpad { ptr, i32 }
          cleanup
  %1351 = extractvalue { ptr, i32 } %1350, 0
  store ptr %1351, ptr %28, align 8
  %1352 = extractvalue { ptr, i32 } %1350, 1
  store i32 %1352, ptr %29, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #13
  br label %1353

1353:                                             ; preds = %1349, %1345
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #13
  br label %2958

1354:                                             ; preds = %1310
  call void @llvm.lifetime.start.p0(i64 1, ptr %100) #13
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #13
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %1355 unwind label %1360

1355:                                             ; preds = %1354
  %1356 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %99)
          to label %1357 unwind label %1364

1357:                                             ; preds = %1355
  %1358 = getelementptr inbounds %class.Config, ptr %64, i32 0, i32 5
  %1359 = getelementptr inbounds %class.ASNetworkConfig, ptr %1358, i32 0, i32 0
  store i32 %1356, ptr %1359, align 4, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #13
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #13
  br label %1369

1360:                                             ; preds = %1354
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %28, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %29, align 4
  br label %1368

1364:                                             ; preds = %1355
  %1365 = landingpad { ptr, i32 }
          cleanup
  %1366 = extractvalue { ptr, i32 } %1365, 0
  store ptr %1366, ptr %28, align 8
  %1367 = extractvalue { ptr, i32 } %1365, 1
  store i32 %1367, ptr %29, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #13
  br label %1368

1368:                                             ; preds = %1364, %1360
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #13
  br label %2958

1369:                                             ; preds = %1357, %1330
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #13
  %1370 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 320) #14
          to label %1371 unwind label %1409

1371:                                             ; preds = %1369
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %102, ptr align 4 %64, i64 160, i1 false), !tbaa.struct !45
  invoke void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316) %1370, ptr noundef byval(%class.Config) align 8 %102)
          to label %1372 unwind label %1413

1372:                                             ; preds = %1371
  store ptr %1370, ptr %101, align 8, !tbaa !9
  %1373 = load ptr, ptr %101, align 8, !tbaa !9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %1374 unwind label %1409

1374:                                             ; preds = %1372
  %1375 = load i32, ptr %10, align 4, !tbaa !5
  %1376 = load i32, ptr %9, align 4, !tbaa !5
  %1377 = load i32, ptr %8, align 4, !tbaa !5
  %1378 = load ptr, ptr %89, align 8, !tbaa !9
  %1379 = load ptr, ptr %92, align 8, !tbaa !9
  %1380 = load ptr, ptr %96, align 8, !tbaa !9
  invoke void @_ZN6Stonne13loadDenseGEMMENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_S6_8Dataflow(ptr noundef nonnull align 8 dereferenceable(316) %1373, ptr noundef %103, i32 noundef %1375, i32 noundef %1376, i32 noundef %1377, ptr noundef %1378, ptr noundef %1379, ptr noundef %1380, i32 noundef 0)
          to label %1381 unwind label %1417

1381:                                             ; preds = %1374
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #13
  %1382 = load ptr, ptr %101, align 8, !tbaa !9
  %1383 = load ptr, ptr %94, align 8, !tbaa !9
  invoke void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316) %1382, ptr noundef %1383)
          to label %1384 unwind label %1409

1384:                                             ; preds = %1381
  %1385 = load ptr, ptr %101, align 8, !tbaa !9
  %1386 = load i32, ptr %16, align 4, !tbaa !5
  %1387 = load i32, ptr %17, align 4, !tbaa !5
  %1388 = load i32, ptr %15, align 4, !tbaa !5
  invoke void @_ZN6Stonne12loadGEMMTileEjjj(ptr noundef nonnull align 8 dereferenceable(316) %1385, i32 noundef %1386, i32 noundef %1387, i32 noundef %1388)
          to label %1389 unwind label %1409

1389:                                             ; preds = %1384
  %1390 = load ptr, ptr %101, align 8, !tbaa !9
  invoke void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316) %1390)
          to label %1391 unwind label %1409

1391:                                             ; preds = %1389
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #13
  %1392 = load i32, ptr %8, align 4, !tbaa !5
  %1393 = load i32, ptr %10, align 4, !tbaa !5
  %1394 = mul nsw i32 %1392, %1393
  %1395 = sext i32 %1394 to i64
  %1396 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1395, i64 4)
  %1397 = extractvalue { i64, i1 } %1396, 1
  %1398 = extractvalue { i64, i1 } %1396, 0
  %1399 = select i1 %1397, i64 -1, i64 %1398
  %1400 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1399) #14
          to label %1401 unwind label %1421

1401:                                             ; preds = %1391
  store ptr %1400, ptr %104, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #13
  store i32 0, ptr %105, align 4, !tbaa !5
  br label %1402

1402:                                             ; preds = %1435, %1401
  %1403 = load i32, ptr %105, align 4, !tbaa !5
  %1404 = load i32, ptr %8, align 4, !tbaa !5
  %1405 = load i32, ptr %10, align 4, !tbaa !5
  %1406 = mul nsw i32 %1404, %1405
  %1407 = icmp slt i32 %1403, %1406
  br i1 %1407, label %1425, label %1408

1408:                                             ; preds = %1402
  store i32 50, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #13
  br label %1438

1409:                                             ; preds = %1389, %1384, %1381, %1372, %1369
  %1410 = landingpad { ptr, i32 }
          cleanup
  %1411 = extractvalue { ptr, i32 } %1410, 0
  store ptr %1411, ptr %28, align 8
  %1412 = extractvalue { ptr, i32 } %1410, 1
  store i32 %1412, ptr %29, align 4
  br label %2957

1413:                                             ; preds = %1371
  %1414 = landingpad { ptr, i32 }
          cleanup
  %1415 = extractvalue { ptr, i32 } %1414, 0
  store ptr %1415, ptr %28, align 8
  %1416 = extractvalue { ptr, i32 } %1414, 1
  store i32 %1416, ptr %29, align 4
  call void @_ZdlPvm(ptr noundef %1370, i64 noundef 320) #15
  br label %2957

1417:                                             ; preds = %1374
  %1418 = landingpad { ptr, i32 }
          cleanup
  %1419 = extractvalue { ptr, i32 } %1418, 0
  store ptr %1419, ptr %28, align 8
  %1420 = extractvalue { ptr, i32 } %1418, 1
  store i32 %1420, ptr %29, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #13
  br label %2957

1421:                                             ; preds = %1391
  %1422 = landingpad { ptr, i32 }
          cleanup
  %1423 = extractvalue { ptr, i32 } %1422, 0
  store ptr %1423, ptr %28, align 8
  %1424 = extractvalue { ptr, i32 } %1422, 1
  store i32 %1424, ptr %29, align 4
  br label %2956

1425:                                             ; preds = %1402
  %1426 = load ptr, ptr %94, align 8, !tbaa !9
  %1427 = load i32, ptr %105, align 4, !tbaa !5
  %1428 = sext i32 %1427 to i64
  %1429 = getelementptr inbounds i32, ptr %1426, i64 %1428
  %1430 = load i32, ptr %1429, align 4, !tbaa !5
  %1431 = load ptr, ptr %104, align 8, !tbaa !9
  %1432 = load i32, ptr %105, align 4, !tbaa !5
  %1433 = sext i32 %1432 to i64
  %1434 = getelementptr inbounds i32, ptr %1431, i64 %1433
  store i32 %1430, ptr %1434, align 4, !tbaa !5
  br label %1435

1435:                                             ; preds = %1425
  %1436 = load i32, ptr %105, align 4, !tbaa !5
  %1437 = add nsw i32 %1436, 1
  store i32 %1437, ptr %105, align 4, !tbaa !5
  br label %1402, !llvm.loop !82

1438:                                             ; preds = %1408
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #13
  store i32 0, ptr %106, align 4, !tbaa !5
  br label %1439

1439:                                             ; preds = %1472, %1438
  %1440 = load i32, ptr %106, align 4, !tbaa !5
  %1441 = load i32, ptr %8, align 4, !tbaa !5
  %1442 = icmp slt i32 %1440, %1441
  br i1 %1442, label %1444, label %1443

1443:                                             ; preds = %1439
  store i32 53, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #13
  br label %1475

1444:                                             ; preds = %1439
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #13
  store i32 0, ptr %107, align 4, !tbaa !5
  br label %1445

1445:                                             ; preds = %1468, %1444
  %1446 = load i32, ptr %107, align 4, !tbaa !5
  %1447 = load i32, ptr %10, align 4, !tbaa !5
  %1448 = icmp slt i32 %1446, %1447
  br i1 %1448, label %1450, label %1449

1449:                                             ; preds = %1445
  store i32 56, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #13
  br label %1471

1450:                                             ; preds = %1445
  %1451 = load ptr, ptr %104, align 8, !tbaa !9
  %1452 = load i32, ptr %107, align 4, !tbaa !5
  %1453 = load i32, ptr %8, align 4, !tbaa !5
  %1454 = mul nsw i32 %1452, %1453
  %1455 = load i32, ptr %106, align 4, !tbaa !5
  %1456 = add nsw i32 %1454, %1455
  %1457 = sext i32 %1456 to i64
  %1458 = getelementptr inbounds i32, ptr %1451, i64 %1457
  %1459 = load i32, ptr %1458, align 4, !tbaa !5
  %1460 = load ptr, ptr %94, align 8, !tbaa !9
  %1461 = load i32, ptr %106, align 4, !tbaa !5
  %1462 = load i32, ptr %10, align 4, !tbaa !5
  %1463 = mul nsw i32 %1461, %1462
  %1464 = load i32, ptr %107, align 4, !tbaa !5
  %1465 = add nsw i32 %1463, %1464
  %1466 = sext i32 %1465 to i64
  %1467 = getelementptr inbounds i32, ptr %1460, i64 %1466
  store i32 %1459, ptr %1467, align 4, !tbaa !5
  br label %1468

1468:                                             ; preds = %1450
  %1469 = load i32, ptr %107, align 4, !tbaa !5
  %1470 = add nsw i32 %1469, 1
  store i32 %1470, ptr %107, align 4, !tbaa !5
  br label %1445, !llvm.loop !83

1471:                                             ; preds = %1449
  br label %1472

1472:                                             ; preds = %1471
  %1473 = load i32, ptr %106, align 4, !tbaa !5
  %1474 = add nsw i32 %1473, 1
  store i32 %1474, ptr %106, align 4, !tbaa !5
  br label %1439, !llvm.loop !84

1475:                                             ; preds = %1443
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #13
  %1476 = load ptr, ptr %101, align 8, !tbaa !9
  %1477 = invoke noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316) %1476)
          to label %1478 unwind label %1490

1478:                                             ; preds = %1475
  store i32 %1477, ptr %108, align 4, !tbaa !5
  %1479 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.81)
          to label %1480 unwind label %1490

1480:                                             ; preds = %1478
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #13
  %1481 = load i32, ptr %10, align 4, !tbaa !5
  %1482 = sub nsw i32 %1481, 1
  store i32 %1482, ptr %109, align 4, !tbaa !5
  br label %1483

1483:                                             ; preds = %1504, %1480
  %1484 = load i32, ptr %109, align 4, !tbaa !5
  %1485 = load i32, ptr %8, align 4, !tbaa !5
  %1486 = load i32, ptr %10, align 4, !tbaa !5
  %1487 = mul nsw i32 %1485, %1486
  %1488 = icmp slt i32 %1484, %1487
  br i1 %1488, label %1494, label %1489

1489:                                             ; preds = %1483
  store i32 59, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #13
  br label %1512

1490:                                             ; preds = %1613, %1611, %1609, %1607, %1516, %1514, %1512, %1478, %1475
  %1491 = landingpad { ptr, i32 }
          cleanup
  %1492 = extractvalue { ptr, i32 } %1491, 0
  store ptr %1492, ptr %28, align 8
  %1493 = extractvalue { ptr, i32 } %1491, 1
  store i32 %1493, ptr %29, align 4
  br label %2955

1494:                                             ; preds = %1483
  %1495 = load ptr, ptr %94, align 8, !tbaa !9
  %1496 = load i32, ptr %109, align 4, !tbaa !5
  %1497 = sext i32 %1496 to i64
  %1498 = getelementptr inbounds i32, ptr %1495, i64 %1497
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  %1500 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %1499)
          to label %1501 unwind label %1508

1501:                                             ; preds = %1494
  %1502 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1500, ptr noundef @.str.44)
          to label %1503 unwind label %1508

1503:                                             ; preds = %1501
  br label %1504

1504:                                             ; preds = %1503
  %1505 = load i32, ptr %10, align 4, !tbaa !5
  %1506 = load i32, ptr %109, align 4, !tbaa !5
  %1507 = add nsw i32 %1506, %1505
  store i32 %1507, ptr %109, align 4, !tbaa !5
  br label %1483, !llvm.loop !85

1508:                                             ; preds = %1501, %1494
  %1509 = landingpad { ptr, i32 }
          cleanup
  %1510 = extractvalue { ptr, i32 } %1509, 0
  store ptr %1510, ptr %28, align 8
  %1511 = extractvalue { ptr, i32 } %1509, 1
  store i32 %1511, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #13
  br label %2955

1512:                                             ; preds = %1489
  %1513 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.72)
          to label %1514 unwind label %1490

1514:                                             ; preds = %1512
  %1515 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1513, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1516 unwind label %1490

1516:                                             ; preds = %1514
  %1517 = load i32, ptr %9, align 4, !tbaa !5
  %1518 = load i32, ptr %8, align 4, !tbaa !5
  %1519 = load i32, ptr %10, align 4, !tbaa !5
  %1520 = load i32, ptr %9, align 4, !tbaa !5
  %1521 = load ptr, ptr %92, align 8, !tbaa !9
  %1522 = load ptr, ptr %89, align 8, !tbaa !9
  %1523 = load ptr, ptr %95, align 8, !tbaa !9
  invoke void @_Z16sequential_layerjjjjjjjjjPfS_S_(i32 noundef 1, i32 noundef %1517, i32 noundef 1, i32 noundef %1518, i32 noundef 1, i32 noundef 1, i32 noundef %1519, i32 noundef %1520, i32 noundef 1, ptr noundef %1521, ptr noundef %1522, ptr noundef %1523)
          to label %1524 unwind label %1490

1524:                                             ; preds = %1516
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #13
  store i32 0, ptr %110, align 4, !tbaa !5
  br label %1525

1525:                                             ; preds = %1604, %1524
  %1526 = load i32, ptr %110, align 4, !tbaa !5
  %1527 = load i32, ptr %8, align 4, !tbaa !5
  %1528 = load i32, ptr %10, align 4, !tbaa !5
  %1529 = mul nsw i32 %1527, %1528
  %1530 = icmp slt i32 %1526, %1529
  br i1 %1530, label %1532, label %1531

1531:                                             ; preds = %1525
  store i32 62, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #13
  br label %1607

1532:                                             ; preds = %1525
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #13
  %1533 = load ptr, ptr %96, align 8, !tbaa !9
  %1534 = load i32, ptr %110, align 4, !tbaa !5
  %1535 = sext i32 %1534 to i64
  %1536 = getelementptr inbounds float, ptr %1533, i64 %1535
  %1537 = load float, ptr %1536, align 4, !tbaa !16
  %1538 = load ptr, ptr %95, align 8, !tbaa !9
  %1539 = load i32, ptr %110, align 4, !tbaa !5
  %1540 = sext i32 %1539 to i64
  %1541 = getelementptr inbounds float, ptr %1538, i64 %1540
  %1542 = load float, ptr %1541, align 4, !tbaa !16
  %1543 = fsub float %1537, %1542
  %1544 = invoke noundef float @_ZSt4fabsf(float noundef %1543)
          to label %1545 unwind label %1599

1545:                                             ; preds = %1532
  store float %1544, ptr %111, align 4, !tbaa !16
  %1546 = load float, ptr %111, align 4, !tbaa !16
  %1547 = load float, ptr %38, align 4, !tbaa !16
  %1548 = fcmp ogt float %1546, %1547
  br i1 %1548, label %1549, label %1603

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

1551:                                             ; preds = %1549
  %1552 = load i32, ptr %110, align 4, !tbaa !5
  %1553 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1550, i32 noundef %1552)
          to label %1554 unwind label %1599

1554:                                             ; preds = %1551
  %1555 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1553, ptr noundef @.str.83)
          to label %1556 unwind label %1599

1556:                                             ; preds = %1554
  %1557 = load ptr, ptr %96, align 8, !tbaa !9
  %1558 = load i32, ptr %110, align 4, !tbaa !5
  %1559 = sext i32 %1558 to i64
  %1560 = getelementptr inbounds float, ptr %1557, i64 %1559
  %1561 = load float, ptr %1560, align 4, !tbaa !16
  %1562 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %1555, float noundef %1561)
          to label %1563 unwind label %1599

1563:                                             ; preds = %1556
  %1564 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1562, ptr noundef @.str.84)
          to label %1565 unwind label %1599

1565:                                             ; preds = %1563
  %1566 = load ptr, ptr %95, align 8, !tbaa !9
  %1567 = load i32, ptr %110, align 4, !tbaa !5
  %1568 = sext i32 %1567 to i64
  %1569 = getelementptr inbounds float, ptr %1566, i64 %1568
  %1570 = load float, ptr %1569, align 4, !tbaa !16
  %1571 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %1564, float noundef %1570)
          to label %1572 unwind label %1599

1572:                                             ; preds = %1565
  %1573 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1571, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1574 unwind label %1599

1574:                                             ; preds = %1572
  %1575 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.77)
          to label %1576 unwind label %1599

1576:                                             ; preds = %1574
  %1577 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1575, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1578 unwind label %1599

1578:                                             ; preds = %1576
  %1579 = load ptr, ptr %89, align 8, !tbaa !9
  %1580 = icmp eq ptr %1579, null
  br i1 %1580, label %1582, label %1581

1581:                                             ; preds = %1578
  call void @_ZdaPv(ptr noundef %1579) #15
  br label %1582

1582:                                             ; preds = %1581, %1578
  %1583 = load ptr, ptr %92, align 8, !tbaa !9
  %1584 = icmp eq ptr %1583, null
  br i1 %1584, label %1586, label %1585

1585:                                             ; preds = %1582
  call void @_ZdaPv(ptr noundef %1583) #15
  br label %1586

1586:                                             ; preds = %1585, %1582
  %1587 = load ptr, ptr %96, align 8, !tbaa !9
  %1588 = icmp eq ptr %1587, null
  br i1 %1588, label %1590, label %1589

1589:                                             ; preds = %1586
  call void @_ZdaPv(ptr noundef %1587) #15
  br label %1590

1590:                                             ; preds = %1589, %1586
  %1591 = load ptr, ptr %95, align 8, !tbaa !9
  %1592 = icmp eq ptr %1591, null
  br i1 %1592, label %1594, label %1593

1593:                                             ; preds = %1590
  call void @_ZdaPv(ptr noundef %1591) #15
  br label %1594

1594:                                             ; preds = %1593, %1590
  %1595 = load ptr, ptr %69, align 8, !tbaa !9
  %1596 = icmp eq ptr %1595, null
  br i1 %1596, label %1598, label %1597

1597:                                             ; preds = %1594
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %1595) #13
  call void @_ZdlPvm(ptr noundef %1595, i64 noundef 320) #15
  br label %1598

1598:                                             ; preds = %1597, %1594
  call void @__assert_fail(ptr noundef @.str.85, ptr noundef @.str.86, i32 noundef 587, ptr noundef @__PRETTY_FUNCTION__.main) #16
  unreachable

1599:                                             ; preds = %1576, %1574, %1572, %1565, %1563, %1556, %1554, %1551, %1549, %1532
  %1600 = landingpad { ptr, i32 }
          cleanup
  %1601 = extractvalue { ptr, i32 } %1600, 0
  store ptr %1601, ptr %28, align 8
  %1602 = extractvalue { ptr, i32 } %1600, 1
  store i32 %1602, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #13
  br label %2955

1603:                                             ; preds = %1545
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #13
  br label %1604

1604:                                             ; preds = %1603
  %1605 = load i32, ptr %110, align 4, !tbaa !5
  %1606 = add nsw i32 %1605, 1
  store i32 %1606, ptr %110, align 4, !tbaa !5
  br label %1525, !llvm.loop !86

1607:                                             ; preds = %1531
  %1608 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.78)
          to label %1609 unwind label %1490

1609:                                             ; preds = %1607
  %1610 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1608, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1611 unwind label %1490

1611:                                             ; preds = %1609
  %1612 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1610, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1613 unwind label %1490

1613:                                             ; preds = %1611
  %1614 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.87)
          to label %1615 unwind label %1490

1615:                                             ; preds = %1613
  call void @llvm.lifetime.start.p0(i64 40, ptr %112) #13
  %1616 = load ptr, ptr %101, align 8, !tbaa !9
  invoke void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind writable sret(%class.MSNetworkStats) align 8 %112, ptr noundef nonnull align 8 dereferenceable(316) %1616)
          to label %1617 unwind label %1675

1617:                                             ; preds = %1615
  %1618 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.56)
          to label %1619 unwind label %1675

1619:                                             ; preds = %1617
  %1620 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.57)
          to label %1621 unwind label %1675

1621:                                             ; preds = %1619
  %1622 = getelementptr inbounds %class.MSNetworkStats, ptr %112, i32 0, i32 3
  %1623 = load i32, ptr %1622, align 8, !tbaa !51
  %1624 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1620, i32 noundef %1623)
          to label %1625 unwind label %1675

1625:                                             ; preds = %1621
  %1626 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1624, ptr noundef @.str.43)
          to label %1627 unwind label %1675

1627:                                             ; preds = %1625
  %1628 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.58)
          to label %1629 unwind label %1675

1629:                                             ; preds = %1627
  %1630 = getelementptr inbounds %class.MSNetworkStats, ptr %112, i32 0, i32 4
  %1631 = load i32, ptr %1630, align 4, !tbaa !54
  %1632 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1628, i32 noundef %1631)
          to label %1633 unwind label %1675

1633:                                             ; preds = %1629
  %1634 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1632, ptr noundef @.str.43)
          to label %1635 unwind label %1675

1635:                                             ; preds = %1633
  %1636 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.59)
          to label %1637 unwind label %1675

1637:                                             ; preds = %1635
  %1638 = getelementptr inbounds %class.MSNetworkStats, ptr %112, i32 0, i32 5
  %1639 = load i32, ptr %1638, align 8, !tbaa !55
  %1640 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1636, i32 noundef %1639)
          to label %1641 unwind label %1675

1641:                                             ; preds = %1637
  %1642 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1640, ptr noundef @.str.43)
          to label %1643 unwind label %1675

1643:                                             ; preds = %1641
  %1644 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.60)
          to label %1645 unwind label %1675

1645:                                             ; preds = %1643
  %1646 = getelementptr inbounds %class.MSNetworkStats, ptr %112, i32 0, i32 6
  %1647 = load i32, ptr %1646, align 4, !tbaa !56
  %1648 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1644, i32 noundef %1647)
          to label %1649 unwind label %1675

1649:                                             ; preds = %1645
  %1650 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1648, ptr noundef @.str.43)
          to label %1651 unwind label %1675

1651:                                             ; preds = %1649
  %1652 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.61)
          to label %1653 unwind label %1675

1653:                                             ; preds = %1651
  %1654 = getelementptr inbounds %class.MSNetworkStats, ptr %112, i32 0, i32 7
  %1655 = load i32, ptr %1654, align 8, !tbaa !57
  %1656 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1652, i32 noundef %1655)
          to label %1657 unwind label %1675

1657:                                             ; preds = %1653
  %1658 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1656, ptr noundef @.str.43)
          to label %1659 unwind label %1675

1659:                                             ; preds = %1657
  %1660 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.62)
          to label %1661 unwind label %1675

1661:                                             ; preds = %1659
  %1662 = getelementptr inbounds %class.MSNetworkStats, ptr %112, i32 0, i32 8
  %1663 = load i32, ptr %1662, align 4, !tbaa !58
  %1664 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1660, i32 noundef %1663)
          to label %1665 unwind label %1675

1665:                                             ; preds = %1661
  %1666 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1664, ptr noundef @.str.43)
          to label %1667 unwind label %1675

1667:                                             ; preds = %1665
  %1668 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.63)
          to label %1669 unwind label %1675

1669:                                             ; preds = %1667
  %1670 = load i32, ptr %17, align 4, !tbaa !5
  %1671 = icmp eq i32 %1670, 1
  br i1 %1671, label %1672, label %1679

1672:                                             ; preds = %1669
  %1673 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.64)
          to label %1674 unwind label %1675

1674:                                             ; preds = %1672
  br label %1694

1675:                                             ; preds = %1672, %1667, %1665, %1661, %1659, %1657, %1653, %1651, %1649, %1645, %1643, %1641, %1637, %1635, %1633, %1629, %1627, %1625, %1621, %1619, %1617, %1615
  %1676 = landingpad { ptr, i32 }
          cleanup
  %1677 = extractvalue { ptr, i32 } %1676, 0
  store ptr %1677, ptr %28, align 8
  %1678 = extractvalue { ptr, i32 } %1676, 1
  store i32 %1678, ptr %29, align 4
  br label %2954

1679:                                             ; preds = %1669
  call void @llvm.lifetime.start.p0(i64 40, ptr %113) #13
  %1680 = load ptr, ptr %101, align 8, !tbaa !9
  invoke void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind writable sret(%class.ASNetworkStats) align 8 %113, ptr noundef nonnull align 8 dereferenceable(316) %1680)
          to label %1681 unwind label %1690

1681:                                             ; preds = %1679
  %1682 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.65)
          to label %1683 unwind label %1690

1683:                                             ; preds = %1681
  %1684 = getelementptr inbounds %class.ASNetworkStats, ptr %113, i32 0, i32 6
  %1685 = load i32, ptr %1684, align 4, !tbaa !59
  %1686 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1682, i32 noundef %1685)
          to label %1687 unwind label %1690

1687:                                             ; preds = %1683
  %1688 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1686, ptr noundef @.str.43)
          to label %1689 unwind label %1690

1689:                                             ; preds = %1687
  call void @llvm.lifetime.end.p0(i64 40, ptr %113) #13
  br label %1694

1690:                                             ; preds = %1687, %1683, %1681, %1679
  %1691 = landingpad { ptr, i32 }
          cleanup
  %1692 = extractvalue { ptr, i32 } %1691, 0
  store ptr %1692, ptr %28, align 8
  %1693 = extractvalue { ptr, i32 } %1691, 1
  store i32 %1693, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 40, ptr %113) #13
  br label %2954

1694:                                             ; preds = %1689, %1674
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #13
  %1695 = load ptr, ptr %101, align 8, !tbaa !9
  invoke void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind writable sret(%class.DSNetworkStats) align 8 %114, ptr noundef nonnull align 8 dereferenceable(316) %1695)
          to label %1696 unwind label %1840

1696:                                             ; preds = %1694
  %1697 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.66)
          to label %1698 unwind label %1840

1698:                                             ; preds = %1696
  %1699 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.65)
          to label %1700 unwind label %1840

1700:                                             ; preds = %1698
  %1701 = getelementptr inbounds %class.DSNetworkStats, ptr %114, i32 0, i32 5
  %1702 = load i32, ptr %1701, align 8, !tbaa !61
  %1703 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1699, i32 noundef %1702)
          to label %1704 unwind label %1840

1704:                                             ; preds = %1700
  %1705 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1703, ptr noundef @.str.43)
          to label %1706 unwind label %1840

1706:                                             ; preds = %1704
  call void @llvm.lifetime.start.p0(i64 152, ptr %115) #13
  %1707 = load ptr, ptr %101, align 8, !tbaa !9
  invoke void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind writable sret(%class.SDMemoryStats) align 8 %115, ptr noundef nonnull align 8 dereferenceable(316) %1707)
          to label %1708 unwind label %1844

1708:                                             ; preds = %1706
  %1709 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.67)
          to label %1710 unwind label %1848

1710:                                             ; preds = %1708
  %1711 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.68)
          to label %1712 unwind label %1848

1712:                                             ; preds = %1710
  %1713 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 2
  %1714 = load i32, ptr %1713, align 4, !tbaa !63
  %1715 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1711, i32 noundef %1714)
          to label %1716 unwind label %1848

1716:                                             ; preds = %1712
  %1717 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1715, ptr noundef @.str.43)
          to label %1718 unwind label %1848

1718:                                             ; preds = %1716
  %1719 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.69)
          to label %1720 unwind label %1848

1720:                                             ; preds = %1718
  %1721 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 3
  %1722 = load i32, ptr %1721, align 8, !tbaa !70
  %1723 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1719, i32 noundef %1722)
          to label %1724 unwind label %1848

1724:                                             ; preds = %1720
  %1725 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1723, ptr noundef @.str.43)
          to label %1726 unwind label %1848

1726:                                             ; preds = %1724
  %1727 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.70)
          to label %1728 unwind label %1848

1728:                                             ; preds = %1726
  %1729 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 4
  %1730 = load i32, ptr %1729, align 4, !tbaa !71
  %1731 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1727, i32 noundef %1730)
          to label %1732 unwind label %1848

1732:                                             ; preds = %1728
  %1733 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1731, ptr noundef @.str.43)
          to label %1734 unwind label %1848

1734:                                             ; preds = %1732
  %1735 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.71)
          to label %1736 unwind label %1848

1736:                                             ; preds = %1734
  %1737 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 5
  %1738 = load i32, ptr %1737, align 8, !tbaa !72
  %1739 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1735, i32 noundef %1738)
          to label %1740 unwind label %1848

1740:                                             ; preds = %1736
  %1741 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1739, ptr noundef @.str.43)
          to label %1742 unwind label %1848

1742:                                             ; preds = %1740
  %1743 = load ptr, ptr %89, align 8, !tbaa !9
  %1744 = icmp eq ptr %1743, null
  br i1 %1744, label %1746, label %1745

1745:                                             ; preds = %1742
  call void @_ZdaPv(ptr noundef %1743) #15
  br label %1746

1746:                                             ; preds = %1745, %1742
  %1747 = load ptr, ptr %92, align 8, !tbaa !9
  %1748 = icmp eq ptr %1747, null
  br i1 %1748, label %1750, label %1749

1749:                                             ; preds = %1746
  call void @_ZdaPv(ptr noundef %1747) #15
  br label %1750

1750:                                             ; preds = %1749, %1746
  %1751 = load ptr, ptr %96, align 8, !tbaa !9
  %1752 = icmp eq ptr %1751, null
  br i1 %1752, label %1754, label %1753

1753:                                             ; preds = %1750
  call void @_ZdaPv(ptr noundef %1751) #15
  br label %1754

1754:                                             ; preds = %1753, %1750
  %1755 = load ptr, ptr %95, align 8, !tbaa !9
  %1756 = icmp eq ptr %1755, null
  br i1 %1756, label %1758, label %1757

1757:                                             ; preds = %1754
  call void @_ZdaPv(ptr noundef %1755) #15
  br label %1758

1758:                                             ; preds = %1757, %1754
  %1759 = load ptr, ptr %101, align 8, !tbaa !9
  %1760 = icmp eq ptr %1759, null
  br i1 %1760, label %1762, label %1761

1761:                                             ; preds = %1758
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %1759) #13
  call void @_ZdlPvm(ptr noundef %1759, i64 noundef 320) #15
  br label %1762

1762:                                             ; preds = %1761, %1758
  %1763 = load i32, ptr %12, align 4, !tbaa !5
  %1764 = icmp eq i32 %1763, 1
  br i1 %1764, label %1765, label %2138

1765:                                             ; preds = %1762
  %1766 = load ptr, ptr %60, align 8, !tbaa !9
  %1767 = load i32, ptr %18, align 4, !tbaa !5
  %1768 = load i32, ptr %9, align 4, !tbaa !5
  %1769 = mul nsw i32 %1767, %1768
  %1770 = sub nsw i32 %1769, 1
  %1771 = sext i32 %1770 to i64
  %1772 = getelementptr inbounds i32, ptr %1766, i64 %1771
  %1773 = load i32, ptr %1772, align 4, !tbaa !5
  store i32 %1773, ptr %36, align 4, !tbaa !5
  %1774 = load ptr, ptr %60, align 8, !tbaa !9
  %1775 = load i32, ptr %18, align 4, !tbaa !5
  %1776 = mul nsw i32 2, %1775
  %1777 = load i32, ptr %9, align 4, !tbaa !5
  %1778 = mul nsw i32 %1776, %1777
  %1779 = sub nsw i32 %1778, 1
  %1780 = sext i32 %1779 to i64
  %1781 = getelementptr inbounds i32, ptr %1774, i64 %1780
  %1782 = load i32, ptr %1781, align 4, !tbaa !5
  %1783 = load ptr, ptr %60, align 8, !tbaa !9
  %1784 = load i32, ptr %18, align 4, !tbaa !5
  %1785 = load i32, ptr %9, align 4, !tbaa !5
  %1786 = mul nsw i32 %1784, %1785
  %1787 = sub nsw i32 %1786, 1
  %1788 = sext i32 %1787 to i64
  %1789 = getelementptr inbounds i32, ptr %1783, i64 %1788
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = sub i32 %1782, %1790
  %1792 = load ptr, ptr %94, align 8, !tbaa !9
  %1793 = load i32, ptr %18, align 4, !tbaa !5
  %1794 = load i32, ptr %10, align 4, !tbaa !5
  %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 !5
  %1800 = icmp ugt i32 %1791, %1799
  br i1 %1800, label %1801, label %1820

1801:                                             ; preds = %1765
  %1802 = load ptr, ptr %60, align 8, !tbaa !9
  %1803 = load i32, ptr %18, align 4, !tbaa !5
  %1804 = mul nsw i32 2, %1803
  %1805 = load i32, ptr %9, align 4, !tbaa !5
  %1806 = mul nsw i32 %1804, %1805
  %1807 = sub nsw i32 %1806, 1
  %1808 = sext i32 %1807 to i64
  %1809 = getelementptr inbounds i32, ptr %1802, i64 %1808
  %1810 = load i32, ptr %1809, align 4, !tbaa !5
  %1811 = load ptr, ptr %60, align 8, !tbaa !9
  %1812 = load i32, ptr %18, align 4, !tbaa !5
  %1813 = load i32, ptr %9, align 4, !tbaa !5
  %1814 = mul nsw i32 %1812, %1813
  %1815 = sub nsw i32 %1814, 1
  %1816 = sext i32 %1815 to i64
  %1817 = getelementptr inbounds i32, ptr %1811, i64 %1816
  %1818 = load i32, ptr %1817, align 4, !tbaa !5
  %1819 = sub i32 %1810, %1818
  br label %1829

1820:                                             ; preds = %1765
  %1821 = load ptr, ptr %94, align 8, !tbaa !9
  %1822 = load i32, ptr %18, align 4, !tbaa !5
  %1823 = load i32, ptr %10, align 4, !tbaa !5
  %1824 = mul nsw i32 %1822, %1823
  %1825 = sub nsw i32 %1824, 1
  %1826 = sext i32 %1825 to i64
  %1827 = getelementptr inbounds i32, ptr %1821, i64 %1826
  %1828 = load i32, ptr %1827, align 4, !tbaa !5
  br label %1829

1829:                                             ; preds = %1820, %1801
  %1830 = phi i32 [ %1819, %1801 ], [ %1828, %1820 ]
  %1831 = load i32, ptr %36, align 4, !tbaa !5
  %1832 = add i32 %1831, %1830
  store i32 %1832, ptr %36, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #13
  store i32 2, ptr %116, align 4, !tbaa !5
  br label %1833

1833:                                             ; preds = %1966, %1829
  %1834 = load i32, ptr %116, align 4, !tbaa !5
  %1835 = load i32, ptr %8, align 4, !tbaa !5
  %1836 = load i32, ptr %18, align 4, !tbaa !5
  %1837 = sdiv i32 %1835, %1836
  %1838 = icmp slt i32 %1834, %1837
  br i1 %1838, label %1852, label %1839

1839:                                             ; preds = %1833
  store i32 65, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #13
  br label %1969

1840:                                             ; preds = %1704, %1700, %1698, %1696, %1694
  %1841 = landingpad { ptr, i32 }
          cleanup
  %1842 = extractvalue { ptr, i32 } %1841, 0
  store ptr %1842, ptr %28, align 8
  %1843 = extractvalue { ptr, i32 } %1841, 1
  store i32 %1843, ptr %29, align 4
  br label %2953

1844:                                             ; preds = %1706
  %1845 = landingpad { ptr, i32 }
          cleanup
  %1846 = extractvalue { ptr, i32 } %1845, 0
  store ptr %1846, ptr %28, align 8
  %1847 = extractvalue { ptr, i32 } %1845, 1
  store i32 %1847, ptr %29, align 4
  br label %2952

1848:                                             ; preds = %2135, %2132, %2130, %2127, %2125, %2123, %2121, %1740, %1736, %1734, %1732, %1728, %1726, %1724, %1720, %1718, %1716, %1712, %1710, %1708
  %1849 = landingpad { ptr, i32 }
          cleanup
  %1850 = extractvalue { ptr, i32 } %1849, 0
  store ptr %1850, ptr %28, align 8
  %1851 = extractvalue { ptr, i32 } %1849, 1
  store i32 %1851, ptr %29, align 4
  br label %2951

1852:                                             ; preds = %1833
  %1853 = load ptr, ptr %60, align 8, !tbaa !9
  %1854 = load i32, ptr %116, align 4, !tbaa !5
  %1855 = load i32, ptr %9, align 4, !tbaa !5
  %1856 = mul nsw i32 %1854, %1855
  %1857 = load i32, ptr %9, align 4, !tbaa !5
  %1858 = add nsw i32 %1856, %1857
  %1859 = load i32, ptr %18, align 4, !tbaa !5
  %1860 = mul nsw i32 %1858, %1859
  %1861 = sub nsw i32 %1860, 1
  %1862 = sext i32 %1861 to i64
  %1863 = getelementptr inbounds i32, ptr %1853, i64 %1862
  %1864 = load i32, ptr %1863, align 4, !tbaa !5
  %1865 = load ptr, ptr %60, align 8, !tbaa !9
  %1866 = load i32, ptr %116, align 4, !tbaa !5
  %1867 = sub nsw i32 %1866, 1
  %1868 = load i32, ptr %9, align 4, !tbaa !5
  %1869 = mul nsw i32 %1867, %1868
  %1870 = load i32, ptr %9, align 4, !tbaa !5
  %1871 = add nsw i32 %1869, %1870
  %1872 = load i32, ptr %18, align 4, !tbaa !5
  %1873 = mul nsw i32 %1871, %1872
  %1874 = sub nsw i32 %1873, 1
  %1875 = sext i32 %1874 to i64
  %1876 = getelementptr inbounds i32, ptr %1865, i64 %1875
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  %1878 = sub i32 %1864, %1877
  %1879 = load ptr, ptr %94, align 8, !tbaa !9
  %1880 = load i32, ptr %116, align 4, !tbaa !5
  %1881 = sub nsw i32 %1880, 1
  %1882 = load i32, ptr %10, align 4, !tbaa !5
  %1883 = mul nsw i32 %1881, %1882
  %1884 = load i32, ptr %10, align 4, !tbaa !5
  %1885 = add nsw i32 %1883, %1884
  %1886 = load i32, ptr %18, align 4, !tbaa !5
  %1887 = mul nsw i32 %1885, %1886
  %1888 = sub nsw i32 %1887, 1
  %1889 = sext i32 %1888 to i64
  %1890 = getelementptr inbounds i32, ptr %1879, i64 %1889
  %1891 = load i32, ptr %1890, align 4, !tbaa !5
  %1892 = load ptr, ptr %94, align 8, !tbaa !9
  %1893 = load i32, ptr %116, align 4, !tbaa !5
  %1894 = sub nsw i32 %1893, 2
  %1895 = load i32, ptr %10, align 4, !tbaa !5
  %1896 = mul nsw i32 %1894, %1895
  %1897 = load i32, ptr %10, align 4, !tbaa !5
  %1898 = add nsw i32 %1896, %1897
  %1899 = load i32, ptr %18, align 4, !tbaa !5
  %1900 = mul nsw i32 %1898, %1899
  %1901 = sub nsw i32 %1900, 1
  %1902 = sext i32 %1901 to i64
  %1903 = getelementptr inbounds i32, ptr %1892, i64 %1902
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = sub i32 %1891, %1904
  %1906 = icmp ugt i32 %1878, %1905
  br i1 %1906, label %1907, label %1934

1907:                                             ; preds = %1852
  %1908 = load ptr, ptr %60, align 8, !tbaa !9
  %1909 = load i32, ptr %18, align 4, !tbaa !5
  %1910 = load i32, ptr %116, align 4, !tbaa !5
  %1911 = load i32, ptr %9, align 4, !tbaa !5
  %1912 = mul nsw i32 %1910, %1911
  %1913 = load i32, ptr %9, align 4, !tbaa !5
  %1914 = add nsw i32 %1912, %1913
  %1915 = mul nsw i32 %1909, %1914
  %1916 = sub nsw i32 %1915, 1
  %1917 = sext i32 %1916 to i64
  %1918 = getelementptr inbounds i32, ptr %1908, i64 %1917
  %1919 = load i32, ptr %1918, align 4, !tbaa !5
  %1920 = load ptr, ptr %60, align 8, !tbaa !9
  %1921 = load i32, ptr %116, align 4, !tbaa !5
  %1922 = sub nsw i32 %1921, 1
  %1923 = load i32, ptr %9, align 4, !tbaa !5
  %1924 = mul nsw i32 %1922, %1923
  %1925 = load i32, ptr %9, align 4, !tbaa !5
  %1926 = add nsw i32 %1924, %1925
  %1927 = load i32, ptr %18, align 4, !tbaa !5
  %1928 = mul nsw i32 %1926, %1927
  %1929 = sub nsw i32 %1928, 1
  %1930 = sext i32 %1929 to i64
  %1931 = getelementptr inbounds i32, ptr %1920, i64 %1930
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = sub i32 %1919, %1932
  br label %1962

1934:                                             ; preds = %1852
  %1935 = load ptr, ptr %94, align 8, !tbaa !9
  %1936 = load i32, ptr %116, align 4, !tbaa !5
  %1937 = sub nsw i32 %1936, 1
  %1938 = load i32, ptr %10, align 4, !tbaa !5
  %1939 = mul nsw i32 %1937, %1938
  %1940 = load i32, ptr %10, align 4, !tbaa !5
  %1941 = add nsw i32 %1939, %1940
  %1942 = load i32, ptr %18, align 4, !tbaa !5
  %1943 = mul nsw i32 %1941, %1942
  %1944 = sub nsw i32 %1943, 1
  %1945 = sext i32 %1944 to i64
  %1946 = getelementptr inbounds i32, ptr %1935, i64 %1945
  %1947 = load i32, ptr %1946, align 4, !tbaa !5
  %1948 = load ptr, ptr %94, align 8, !tbaa !9
  %1949 = load i32, ptr %116, align 4, !tbaa !5
  %1950 = sub nsw i32 %1949, 2
  %1951 = load i32, ptr %10, align 4, !tbaa !5
  %1952 = mul nsw i32 %1950, %1951
  %1953 = load i32, ptr %10, align 4, !tbaa !5
  %1954 = add nsw i32 %1952, %1953
  %1955 = load i32, ptr %18, align 4, !tbaa !5
  %1956 = mul nsw i32 %1954, %1955
  %1957 = sub nsw i32 %1956, 1
  %1958 = sext i32 %1957 to i64
  %1959 = getelementptr inbounds i32, ptr %1948, i64 %1958
  %1960 = load i32, ptr %1959, align 4, !tbaa !5
  %1961 = sub i32 %1947, %1960
  br label %1962

1962:                                             ; preds = %1934, %1907
  %1963 = phi i32 [ %1933, %1907 ], [ %1961, %1934 ]
  %1964 = load i32, ptr %36, align 4, !tbaa !5
  %1965 = add i32 %1964, %1963
  store i32 %1965, ptr %36, align 4, !tbaa !5
  br label %1966

1966:                                             ; preds = %1962
  %1967 = load i32, ptr %116, align 4, !tbaa !5
  %1968 = add nsw i32 %1967, 1
  store i32 %1968, ptr %116, align 4, !tbaa !5
  br label %1833, !llvm.loop !87

1969:                                             ; preds = %1839
  %1970 = load i32, ptr %8, align 4, !tbaa !5
  %1971 = load i32, ptr %18, align 4, !tbaa !5
  %1972 = srem i32 %1970, %1971
  %1973 = icmp ne i32 %1972, 0
  br i1 %1973, label %1974, label %2099

1974:                                             ; preds = %1969
  %1975 = load ptr, ptr %60, align 8, !tbaa !9
  %1976 = load i32, ptr %8, align 4, !tbaa !5
  %1977 = load i32, ptr %9, align 4, !tbaa !5
  %1978 = mul nsw i32 %1976, %1977
  %1979 = sub nsw i32 %1978, 1
  %1980 = sext i32 %1979 to i64
  %1981 = getelementptr inbounds i32, ptr %1975, i64 %1980
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = load ptr, ptr %60, align 8, !tbaa !9
  %1984 = load i32, ptr %8, align 4, !tbaa !5
  %1985 = load i32, ptr %18, align 4, !tbaa !5
  %1986 = sdiv i32 %1984, %1985
  %1987 = load i32, ptr %18, align 4, !tbaa !5
  %1988 = mul nsw i32 %1986, %1987
  %1989 = load i32, ptr %9, align 4, !tbaa !5
  %1990 = mul nsw i32 %1988, %1989
  %1991 = sub nsw i32 %1990, 1
  %1992 = sext i32 %1991 to i64
  %1993 = getelementptr inbounds i32, ptr %1983, i64 %1992
  %1994 = load i32, ptr %1993, align 4, !tbaa !5
  %1995 = sub i32 %1982, %1994
  %1996 = load ptr, ptr %94, align 8, !tbaa !9
  %1997 = load i32, ptr %8, align 4, !tbaa !5
  %1998 = load i32, ptr %18, align 4, !tbaa !5
  %1999 = sdiv i32 %1997, %1998
  %2000 = load i32, ptr %18, align 4, !tbaa !5
  %2001 = mul nsw i32 %1999, %2000
  %2002 = load i32, ptr %10, align 4, !tbaa !5
  %2003 = mul nsw i32 %2001, %2002
  %2004 = sub nsw i32 %2003, 1
  %2005 = sext i32 %2004 to i64
  %2006 = getelementptr inbounds i32, ptr %1996, i64 %2005
  %2007 = load i32, ptr %2006, align 4, !tbaa !5
  %2008 = load ptr, ptr %94, align 8, !tbaa !9
  %2009 = load i32, ptr %8, align 4, !tbaa !5
  %2010 = load i32, ptr %18, align 4, !tbaa !5
  %2011 = sdiv i32 %2009, %2010
  %2012 = sub nsw i32 %2011, 1
  %2013 = load i32, ptr %18, align 4, !tbaa !5
  %2014 = mul nsw i32 %2012, %2013
  %2015 = load i32, ptr %10, align 4, !tbaa !5
  %2016 = mul nsw i32 %2014, %2015
  %2017 = sub nsw i32 %2016, 1
  %2018 = sext i32 %2017 to i64
  %2019 = getelementptr inbounds i32, ptr %2008, i64 %2018
  %2020 = load i32, ptr %2019, align 4, !tbaa !5
  %2021 = sub i32 %2007, %2020
  %2022 = icmp ugt i32 %1995, %2021
  br i1 %2022, label %2023, label %2045

2023:                                             ; preds = %1974
  %2024 = load ptr, ptr %60, align 8, !tbaa !9
  %2025 = load i32, ptr %8, align 4, !tbaa !5
  %2026 = load i32, ptr %9, align 4, !tbaa !5
  %2027 = mul nsw i32 %2025, %2026
  %2028 = sub nsw i32 %2027, 1
  %2029 = sext i32 %2028 to i64
  %2030 = getelementptr inbounds i32, ptr %2024, i64 %2029
  %2031 = load i32, ptr %2030, align 4, !tbaa !5
  %2032 = load ptr, ptr %60, align 8, !tbaa !9
  %2033 = load i32, ptr %8, align 4, !tbaa !5
  %2034 = load i32, ptr %18, align 4, !tbaa !5
  %2035 = sdiv i32 %2033, %2034
  %2036 = load i32, ptr %18, align 4, !tbaa !5
  %2037 = mul nsw i32 %2035, %2036
  %2038 = load i32, ptr %9, align 4, !tbaa !5
  %2039 = mul nsw i32 %2037, %2038
  %2040 = sub nsw i32 %2039, 1
  %2041 = sext i32 %2040 to i64
  %2042 = getelementptr inbounds i32, ptr %2032, i64 %2041
  %2043 = load i32, ptr %2042, align 4, !tbaa !5
  %2044 = sub i32 %2031, %2043
  br label %2072

2045:                                             ; preds = %1974
  %2046 = load ptr, ptr %94, align 8, !tbaa !9
  %2047 = load i32, ptr %8, align 4, !tbaa !5
  %2048 = load i32, ptr %18, align 4, !tbaa !5
  %2049 = sdiv i32 %2047, %2048
  %2050 = load i32, ptr %18, align 4, !tbaa !5
  %2051 = mul nsw i32 %2049, %2050
  %2052 = load i32, ptr %10, align 4, !tbaa !5
  %2053 = mul nsw i32 %2051, %2052
  %2054 = sub nsw i32 %2053, 1
  %2055 = sext i32 %2054 to i64
  %2056 = getelementptr inbounds i32, ptr %2046, i64 %2055
  %2057 = load i32, ptr %2056, align 4, !tbaa !5
  %2058 = load ptr, ptr %94, align 8, !tbaa !9
  %2059 = load i32, ptr %8, align 4, !tbaa !5
  %2060 = load i32, ptr %18, align 4, !tbaa !5
  %2061 = sdiv i32 %2059, %2060
  %2062 = sub nsw i32 %2061, 1
  %2063 = load i32, ptr %18, align 4, !tbaa !5
  %2064 = mul nsw i32 %2062, %2063
  %2065 = load i32, ptr %10, align 4, !tbaa !5
  %2066 = mul nsw i32 %2064, %2065
  %2067 = sub nsw i32 %2066, 1
  %2068 = sext i32 %2067 to i64
  %2069 = getelementptr inbounds i32, ptr %2058, i64 %2068
  %2070 = load i32, ptr %2069, align 4, !tbaa !5
  %2071 = sub i32 %2057, %2070
  br label %2072

2072:                                             ; preds = %2045, %2023
  %2073 = phi i32 [ %2044, %2023 ], [ %2071, %2045 ]
  %2074 = load i32, ptr %36, align 4, !tbaa !5
  %2075 = add i32 %2074, %2073
  store i32 %2075, ptr %36, align 4, !tbaa !5
  %2076 = load ptr, ptr %94, align 8, !tbaa !9
  %2077 = load i32, ptr %8, align 4, !tbaa !5
  %2078 = load i32, ptr %10, align 4, !tbaa !5
  %2079 = mul nsw i32 %2077, %2078
  %2080 = sub nsw i32 %2079, 1
  %2081 = sext i32 %2080 to i64
  %2082 = getelementptr inbounds i32, ptr %2076, i64 %2081
  %2083 = load i32, ptr %2082, align 4, !tbaa !5
  %2084 = load ptr, ptr %94, align 8, !tbaa !9
  %2085 = load i32, ptr %8, align 4, !tbaa !5
  %2086 = load i32, ptr %18, align 4, !tbaa !5
  %2087 = sdiv i32 %2085, %2086
  %2088 = load i32, ptr %18, align 4, !tbaa !5
  %2089 = mul nsw i32 %2087, %2088
  %2090 = load i32, ptr %10, align 4, !tbaa !5
  %2091 = mul nsw i32 %2089, %2090
  %2092 = sub nsw i32 %2091, 1
  %2093 = sext i32 %2092 to i64
  %2094 = getelementptr inbounds i32, ptr %2084, i64 %2093
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = sub i32 %2083, %2095
  %2097 = load i32, ptr %36, align 4, !tbaa !5
  %2098 = add i32 %2097, %2096
  store i32 %2098, ptr %36, align 4, !tbaa !5
  br label %2121

2099:                                             ; preds = %1969
  %2100 = load ptr, ptr %94, align 8, !tbaa !9
  %2101 = load i32, ptr %8, align 4, !tbaa !5
  %2102 = load i32, ptr %10, align 4, !tbaa !5
  %2103 = mul nsw i32 %2101, %2102
  %2104 = sub nsw i32 %2103, 1
  %2105 = sext i32 %2104 to i64
  %2106 = getelementptr inbounds i32, ptr %2100, i64 %2105
  %2107 = load i32, ptr %2106, align 4, !tbaa !5
  %2108 = load ptr, ptr %94, align 8, !tbaa !9
  %2109 = load i32, ptr %8, align 4, !tbaa !5
  %2110 = load i32, ptr %18, align 4, !tbaa !5
  %2111 = sub nsw i32 %2109, %2110
  %2112 = load i32, ptr %10, align 4, !tbaa !5
  %2113 = mul nsw i32 %2111, %2112
  %2114 = sub nsw i32 %2113, 1
  %2115 = sext i32 %2114 to i64
  %2116 = getelementptr inbounds i32, ptr %2108, i64 %2115
  %2117 = load i32, ptr %2116, align 4, !tbaa !5
  %2118 = sub i32 %2107, %2117
  %2119 = load i32, ptr %36, align 4, !tbaa !5
  %2120 = add i32 %2119, %2118
  store i32 %2120, ptr %36, align 4, !tbaa !5
  br label %2121

2121:                                             ; preds = %2099, %2072
  %2122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.88)
          to label %2123 unwind label %1848

2123:                                             ; preds = %2121
  %2124 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.89)
          to label %2125 unwind label %1848

2125:                                             ; preds = %2123
  %2126 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.90)
          to label %2127 unwind label %1848

2127:                                             ; preds = %2125
  %2128 = load i32, ptr %36, align 4, !tbaa !5
  %2129 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2126, i32 noundef %2128)
          to label %2130 unwind label %1848

2130:                                             ; preds = %2127
  %2131 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2129, ptr noundef @.str.91)
          to label %2132 unwind label %1848

2132:                                             ; preds = %2130
  %2133 = load i32, ptr %37, align 4, !tbaa !5
  %2134 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2131, i32 noundef %2133)
          to label %2135 unwind label %1848

2135:                                             ; preds = %2132
  %2136 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2134, ptr noundef @.str.92)
          to label %2137 unwind label %1848

2137:                                             ; preds = %2135
  br label %2138

2138:                                             ; preds = %2137, %1762
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #13
  %2139 = load i32, ptr %8, align 4, !tbaa !5
  %2140 = load i32, ptr %12, align 4, !tbaa !5
  %2141 = sdiv i32 %2139, %2140
  %2142 = load i32, ptr %8, align 4, !tbaa !5
  %2143 = load i32, ptr %12, align 4, !tbaa !5
  %2144 = srem i32 %2142, %2143
  %2145 = icmp ne i32 %2144, 0
  %2146 = zext i1 %2145 to i32
  %2147 = add nsw i32 %2141, %2146
  %2148 = sext i32 %2147 to i64
  %2149 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %2148, i64 4)
  %2150 = extractvalue { i64, i1 } %2149, 1
  %2151 = extractvalue { i64, i1 } %2149, 0
  %2152 = select i1 %2150, i64 -1, i64 %2151
  %2153 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %2152) #14
          to label %2154 unwind label %2162

2154:                                             ; preds = %2138
  store ptr %2153, ptr %117, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #13
  store i32 0, ptr %119, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #13
  store i32 0, ptr %120, align 4, !tbaa !5
  br label %2155

2155:                                             ; preds = %2249, %2154
  %2156 = load i32, ptr %120, align 4, !tbaa !5
  %2157 = load i32, ptr %8, align 4, !tbaa !5
  %2158 = load i32, ptr %12, align 4, !tbaa !5
  %2159 = sdiv i32 %2157, %2158
  %2160 = icmp slt i32 %2156, %2159
  br i1 %2160, label %2166, label %2161

2161:                                             ; preds = %2155
  store i32 68, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #13
  br label %2252

2162:                                             ; preds = %2138
  %2163 = landingpad { ptr, i32 }
          cleanup
  %2164 = extractvalue { ptr, i32 } %2163, 0
  store ptr %2164, ptr %28, align 8
  %2165 = extractvalue { ptr, i32 } %2163, 1
  store i32 %2165, ptr %29, align 4
  br label %2950

2166:                                             ; preds = %2155
  store i32 0, ptr %118, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #13
  store i32 0, ptr %121, align 4, !tbaa !5
  br label %2167

2167:                                             ; preds = %2237, %2166
  %2168 = load i32, ptr %121, align 4, !tbaa !5
  %2169 = load i32, ptr %12, align 4, !tbaa !5
  %2170 = icmp slt i32 %2168, %2169
  br i1 %2170, label %2172, label %2171

2171:                                             ; preds = %2167
  store i32 71, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #13
  br label %2240

2172:                                             ; preds = %2167
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #13
  %2173 = load i32, ptr %120, align 4, !tbaa !5
  %2174 = load i32, ptr %12, align 4, !tbaa !5
  %2175 = mul nsw i32 %2173, %2174
  %2176 = load i32, ptr %121, align 4, !tbaa !5
  %2177 = add nsw i32 %2175, %2176
  store i32 %2177, ptr %122, align 4, !tbaa !5
  %2178 = load i32, ptr %122, align 4, !tbaa !5
  %2179 = icmp eq i32 %2178, 0
  br i1 %2179, label %2180, label %2187

2180:                                             ; preds = %2172
  %2181 = load ptr, ptr %60, align 8, !tbaa !9
  %2182 = load i32, ptr %9, align 4, !tbaa !5
  %2183 = sub nsw i32 %2182, 1
  %2184 = sext i32 %2183 to i64
  %2185 = getelementptr inbounds i32, ptr %2181, i64 %2184
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  store i32 %2186, ptr %118, align 4, !tbaa !5
  br label %2236

2187:                                             ; preds = %2172
  %2188 = load ptr, ptr %60, align 8, !tbaa !9
  %2189 = load i32, ptr %122, align 4, !tbaa !5
  %2190 = load i32, ptr %9, align 4, !tbaa !5
  %2191 = mul nsw i32 %2189, %2190
  %2192 = load i32, ptr %9, align 4, !tbaa !5
  %2193 = add nsw i32 %2191, %2192
  %2194 = sub nsw i32 %2193, 1
  %2195 = sext i32 %2194 to i64
  %2196 = getelementptr inbounds i32, ptr %2188, i64 %2195
  %2197 = load i32, ptr %2196, align 4, !tbaa !5
  %2198 = load ptr, ptr %60, align 8, !tbaa !9
  %2199 = load i32, ptr %122, align 4, !tbaa !5
  %2200 = sub nsw i32 %2199, 1
  %2201 = load i32, ptr %9, align 4, !tbaa !5
  %2202 = mul nsw i32 %2200, %2201
  %2203 = load i32, ptr %9, align 4, !tbaa !5
  %2204 = add nsw i32 %2202, %2203
  %2205 = sub nsw i32 %2204, 1
  %2206 = sext i32 %2205 to i64
  %2207 = getelementptr inbounds i32, ptr %2198, i64 %2206
  %2208 = load i32, ptr %2207, align 4, !tbaa !5
  %2209 = sub i32 %2197, %2208
  %2210 = load i32, ptr %118, align 4, !tbaa !5
  %2211 = icmp ugt i32 %2209, %2210
  br i1 %2211, label %2212, label %2235

2212:                                             ; preds = %2187
  %2213 = load ptr, ptr %60, align 8, !tbaa !9
  %2214 = load i32, ptr %122, align 4, !tbaa !5
  %2215 = load i32, ptr %9, align 4, !tbaa !5
  %2216 = mul nsw i32 %2214, %2215
  %2217 = load i32, ptr %9, align 4, !tbaa !5
  %2218 = add nsw i32 %2216, %2217
  %2219 = sub nsw i32 %2218, 1
  %2220 = sext i32 %2219 to i64
  %2221 = getelementptr inbounds i32, ptr %2213, i64 %2220
  %2222 = load i32, ptr %2221, align 4, !tbaa !5
  %2223 = load ptr, ptr %60, align 8, !tbaa !9
  %2224 = load i32, ptr %122, align 4, !tbaa !5
  %2225 = sub nsw i32 %2224, 1
  %2226 = load i32, ptr %9, align 4, !tbaa !5
  %2227 = mul nsw i32 %2225, %2226
  %2228 = load i32, ptr %9, align 4, !tbaa !5
  %2229 = add nsw i32 %2227, %2228
  %2230 = sub nsw i32 %2229, 1
  %2231 = sext i32 %2230 to i64
  %2232 = getelementptr inbounds i32, ptr %2223, i64 %2231
  %2233 = load i32, ptr %2232, align 4, !tbaa !5
  %2234 = sub i32 %2222, %2233
  store i32 %2234, ptr %118, align 4, !tbaa !5
  br label %2235

2235:                                             ; preds = %2212, %2187
  br label %2236

2236:                                             ; preds = %2235, %2180
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #13
  br label %2237

2237:                                             ; preds = %2236
  %2238 = load i32, ptr %121, align 4, !tbaa !5
  %2239 = add nsw i32 %2238, 1
  store i32 %2239, ptr %121, align 4, !tbaa !5
  br label %2167, !llvm.loop !88

2240:                                             ; preds = %2171
  %2241 = load i32, ptr %118, align 4, !tbaa !5
  %2242 = load i32, ptr %119, align 4, !tbaa !5
  %2243 = add nsw i32 %2242, %2241
  store i32 %2243, ptr %119, align 4, !tbaa !5
  %2244 = load i32, ptr %119, align 4, !tbaa !5
  %2245 = load ptr, ptr %117, align 8, !tbaa !9
  %2246 = load i32, ptr %120, align 4, !tbaa !5
  %2247 = sext i32 %2246 to i64
  %2248 = getelementptr inbounds i32, ptr %2245, i64 %2247
  store i32 %2244, ptr %2248, align 4, !tbaa !5
  br label %2249

2249:                                             ; preds = %2240
  %2250 = load i32, ptr %120, align 4, !tbaa !5
  %2251 = add nsw i32 %2250, 1
  store i32 %2251, ptr %120, align 4, !tbaa !5
  br label %2155, !llvm.loop !89

2252:                                             ; preds = %2161
  %2253 = load i32, ptr %8, align 4, !tbaa !5
  %2254 = load i32, ptr %12, align 4, !tbaa !5
  %2255 = srem i32 %2253, %2254
  %2256 = icmp ne i32 %2255, 0
  br i1 %2256, label %2257, label %2331

2257:                                             ; preds = %2252
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #13
  %2258 = load i32, ptr %12, align 4, !tbaa !5
  %2259 = load i32, ptr %8, align 4, !tbaa !5
  %2260 = load i32, ptr %12, align 4, !tbaa !5
  %2261 = sdiv i32 %2259, %2260
  %2262 = mul nsw i32 %2258, %2261
  store i32 %2262, ptr %123, align 4, !tbaa !5
  br label %2263

2263:                                             ; preds = %2317, %2257
  %2264 = load i32, ptr %123, align 4, !tbaa !5
  %2265 = load i32, ptr %8, align 4, !tbaa !5
  %2266 = icmp slt i32 %2264, %2265
  br i1 %2266, label %2268, label %2267

2267:                                             ; preds = %2263
  store i32 74, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #13
  br label %2320

2268:                                             ; preds = %2263
  store i32 0, ptr %118, align 4, !tbaa !5
  %2269 = load ptr, ptr %60, align 8, !tbaa !9
  %2270 = load i32, ptr %123, align 4, !tbaa !5
  %2271 = load i32, ptr %9, align 4, !tbaa !5
  %2272 = mul nsw i32 %2270, %2271
  %2273 = load i32, ptr %9, align 4, !tbaa !5
  %2274 = add nsw i32 %2272, %2273
  %2275 = sub nsw i32 %2274, 1
  %2276 = sext i32 %2275 to i64
  %2277 = getelementptr inbounds i32, ptr %2269, i64 %2276
  %2278 = load i32, ptr %2277, align 4, !tbaa !5
  %2279 = load ptr, ptr %60, align 8, !tbaa !9
  %2280 = load i32, ptr %123, align 4, !tbaa !5
  %2281 = sub nsw i32 %2280, 1
  %2282 = load i32, ptr %9, align 4, !tbaa !5
  %2283 = mul nsw i32 %2281, %2282
  %2284 = load i32, ptr %9, align 4, !tbaa !5
  %2285 = add nsw i32 %2283, %2284
  %2286 = sub nsw i32 %2285, 1
  %2287 = sext i32 %2286 to i64
  %2288 = getelementptr inbounds i32, ptr %2279, i64 %2287
  %2289 = load i32, ptr %2288, align 4, !tbaa !5
  %2290 = sub i32 %2278, %2289
  %2291 = load i32, ptr %118, align 4, !tbaa !5
  %2292 = icmp ugt i32 %2290, %2291
  br i1 %2292, label %2293, label %2316

2293:                                             ; preds = %2268
  %2294 = load ptr, ptr %60, align 8, !tbaa !9
  %2295 = load i32, ptr %123, align 4, !tbaa !5
  %2296 = load i32, ptr %9, align 4, !tbaa !5
  %2297 = mul nsw i32 %2295, %2296
  %2298 = load i32, ptr %9, align 4, !tbaa !5
  %2299 = add nsw i32 %2297, %2298
  %2300 = sub nsw i32 %2299, 1
  %2301 = sext i32 %2300 to i64
  %2302 = getelementptr inbounds i32, ptr %2294, i64 %2301
  %2303 = load i32, ptr %2302, align 4, !tbaa !5
  %2304 = load ptr, ptr %60, align 8, !tbaa !9
  %2305 = load i32, ptr %123, align 4, !tbaa !5
  %2306 = sub nsw i32 %2305, 1
  %2307 = load i32, ptr %9, align 4, !tbaa !5
  %2308 = mul nsw i32 %2306, %2307
  %2309 = load i32, ptr %9, align 4, !tbaa !5
  %2310 = add nsw i32 %2308, %2309
  %2311 = sub nsw i32 %2310, 1
  %2312 = sext i32 %2311 to i64
  %2313 = getelementptr inbounds i32, ptr %2304, i64 %2312
  %2314 = load i32, ptr %2313, align 4, !tbaa !5
  %2315 = sub i32 %2303, %2314
  store i32 %2315, ptr %118, align 4, !tbaa !5
  br label %2316

2316:                                             ; preds = %2293, %2268
  br label %2317

2317:                                             ; preds = %2316
  %2318 = load i32, ptr %123, align 4, !tbaa !5
  %2319 = add nsw i32 %2318, 1
  store i32 %2319, ptr %123, align 4, !tbaa !5
  br label %2263, !llvm.loop !90

2320:                                             ; preds = %2267
  %2321 = load i32, ptr %118, align 4, !tbaa !5
  %2322 = load i32, ptr %119, align 4, !tbaa !5
  %2323 = add nsw i32 %2322, %2321
  store i32 %2323, ptr %119, align 4, !tbaa !5
  %2324 = load i32, ptr %119, align 4, !tbaa !5
  %2325 = load ptr, ptr %117, align 8, !tbaa !9
  %2326 = load i32, ptr %8, align 4, !tbaa !5
  %2327 = load i32, ptr %12, align 4, !tbaa !5
  %2328 = sdiv i32 %2326, %2327
  %2329 = sext i32 %2328 to i64
  %2330 = getelementptr inbounds i32, ptr %2325, i64 %2329
  store i32 %2324, ptr %2330, align 4, !tbaa !5
  br label %2331

2331:                                             ; preds = %2320, %2252
  %2332 = load i32, ptr %12, align 4, !tbaa !5
  %2333 = icmp ne i32 %2332, 1
  br i1 %2333, label %2334, label %2703

2334:                                             ; preds = %2331
  %2335 = load ptr, ptr %117, align 8, !tbaa !9
  %2336 = load i32, ptr %18, align 4, !tbaa !5
  %2337 = load i32, ptr %12, align 4, !tbaa !5
  %2338 = sdiv i32 %2336, %2337
  %2339 = sub nsw i32 %2338, 1
  %2340 = sext i32 %2339 to i64
  %2341 = getelementptr inbounds i32, ptr %2335, i64 %2340
  %2342 = load i32, ptr %2341, align 4, !tbaa !5
  store i32 %2342, ptr %36, align 4, !tbaa !5
  %2343 = load ptr, ptr %117, align 8, !tbaa !9
  %2344 = load i32, ptr %18, align 4, !tbaa !5
  %2345 = mul nsw i32 2, %2344
  %2346 = load i32, ptr %12, align 4, !tbaa !5
  %2347 = sdiv i32 %2345, %2346
  %2348 = sub nsw i32 %2347, 1
  %2349 = sext i32 %2348 to i64
  %2350 = getelementptr inbounds i32, ptr %2343, i64 %2349
  %2351 = load i32, ptr %2350, align 4, !tbaa !5
  %2352 = load ptr, ptr %117, align 8, !tbaa !9
  %2353 = load i32, ptr %18, align 4, !tbaa !5
  %2354 = load i32, ptr %12, align 4, !tbaa !5
  %2355 = sdiv i32 %2353, %2354
  %2356 = sub nsw i32 %2355, 1
  %2357 = sext i32 %2356 to i64
  %2358 = getelementptr inbounds i32, ptr %2352, i64 %2357
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = sub nsw i32 %2351, %2359
  %2361 = load ptr, ptr %94, align 8, !tbaa !9
  %2362 = load i32, ptr %18, align 4, !tbaa !5
  %2363 = load i32, ptr %10, align 4, !tbaa !5
  %2364 = mul nsw i32 %2362, %2363
  %2365 = sub nsw i32 %2364, 1
  %2366 = sext i32 %2365 to i64
  %2367 = getelementptr inbounds i32, ptr %2361, i64 %2366
  %2368 = load i32, ptr %2367, align 4, !tbaa !5
  %2369 = icmp ugt i32 %2360, %2368
  br i1 %2369, label %2370, label %2389

2370:                                             ; preds = %2334
  %2371 = load ptr, ptr %117, align 8, !tbaa !9
  %2372 = load i32, ptr %18, align 4, !tbaa !5
  %2373 = mul nsw i32 2, %2372
  %2374 = load i32, ptr %12, align 4, !tbaa !5
  %2375 = sdiv i32 %2373, %2374
  %2376 = sub nsw i32 %2375, 1
  %2377 = sext i32 %2376 to i64
  %2378 = getelementptr inbounds i32, ptr %2371, i64 %2377
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = load ptr, ptr %117, align 8, !tbaa !9
  %2381 = load i32, ptr %18, align 4, !tbaa !5
  %2382 = load i32, ptr %12, align 4, !tbaa !5
  %2383 = sdiv i32 %2381, %2382
  %2384 = sub nsw i32 %2383, 1
  %2385 = sext i32 %2384 to i64
  %2386 = getelementptr inbounds i32, ptr %2380, i64 %2385
  %2387 = load i32, ptr %2386, align 4, !tbaa !5
  %2388 = sub nsw i32 %2379, %2387
  br label %2398

2389:                                             ; preds = %2334
  %2390 = load ptr, ptr %94, align 8, !tbaa !9
  %2391 = load i32, ptr %18, align 4, !tbaa !5
  %2392 = load i32, ptr %10, align 4, !tbaa !5
  %2393 = mul nsw i32 %2391, %2392
  %2394 = sub nsw i32 %2393, 1
  %2395 = sext i32 %2394 to i64
  %2396 = getelementptr inbounds i32, ptr %2390, i64 %2395
  %2397 = load i32, ptr %2396, align 4, !tbaa !5
  br label %2398

2398:                                             ; preds = %2389, %2370
  %2399 = phi i32 [ %2388, %2370 ], [ %2397, %2389 ]
  %2400 = load i32, ptr %36, align 4, !tbaa !5
  %2401 = add i32 %2400, %2399
  store i32 %2401, ptr %36, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #13
  store i32 2, ptr %124, align 4, !tbaa !5
  br label %2402

2402:                                             ; preds = %2515, %2398
  %2403 = load i32, ptr %124, align 4, !tbaa !5
  %2404 = load i32, ptr %8, align 4, !tbaa !5
  %2405 = load i32, ptr %18, align 4, !tbaa !5
  %2406 = sdiv i32 %2404, %2405
  %2407 = icmp slt i32 %2403, %2406
  br i1 %2407, label %2409, label %2408

2408:                                             ; preds = %2402
  store i32 77, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #13
  br label %2518

2409:                                             ; preds = %2402
  %2410 = load ptr, ptr %117, align 8, !tbaa !9
  %2411 = load i32, ptr %124, align 4, !tbaa !5
  %2412 = add nsw i32 %2411, 1
  %2413 = load i32, ptr %18, align 4, !tbaa !5
  %2414 = mul nsw i32 %2412, %2413
  %2415 = load i32, ptr %12, align 4, !tbaa !5
  %2416 = sdiv i32 %2414, %2415
  %2417 = sub nsw i32 %2416, 1
  %2418 = sext i32 %2417 to i64
  %2419 = getelementptr inbounds i32, ptr %2410, i64 %2418
  %2420 = load i32, ptr %2419, align 4, !tbaa !5
  %2421 = load ptr, ptr %117, align 8, !tbaa !9
  %2422 = load i32, ptr %124, align 4, !tbaa !5
  %2423 = load i32, ptr %18, align 4, !tbaa !5
  %2424 = mul nsw i32 %2422, %2423
  %2425 = load i32, ptr %12, align 4, !tbaa !5
  %2426 = sdiv i32 %2424, %2425
  %2427 = sub nsw i32 %2426, 1
  %2428 = sext i32 %2427 to i64
  %2429 = getelementptr inbounds i32, ptr %2421, i64 %2428
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = sub nsw i32 %2420, %2430
  %2432 = load ptr, ptr %94, align 8, !tbaa !9
  %2433 = load i32, ptr %124, align 4, !tbaa !5
  %2434 = sub nsw i32 %2433, 1
  %2435 = load i32, ptr %10, align 4, !tbaa !5
  %2436 = mul nsw i32 %2434, %2435
  %2437 = load i32, ptr %10, align 4, !tbaa !5
  %2438 = add nsw i32 %2436, %2437
  %2439 = load i32, ptr %18, align 4, !tbaa !5
  %2440 = mul nsw i32 %2438, %2439
  %2441 = sub nsw i32 %2440, 1
  %2442 = sext i32 %2441 to i64
  %2443 = getelementptr inbounds i32, ptr %2432, i64 %2442
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  %2445 = load ptr, ptr %94, align 8, !tbaa !9
  %2446 = load i32, ptr %124, align 4, !tbaa !5
  %2447 = sub nsw i32 %2446, 2
  %2448 = load i32, ptr %10, align 4, !tbaa !5
  %2449 = mul nsw i32 %2447, %2448
  %2450 = load i32, ptr %10, align 4, !tbaa !5
  %2451 = add nsw i32 %2449, %2450
  %2452 = load i32, ptr %18, align 4, !tbaa !5
  %2453 = mul nsw i32 %2451, %2452
  %2454 = sub nsw i32 %2453, 1
  %2455 = sext i32 %2454 to i64
  %2456 = getelementptr inbounds i32, ptr %2445, i64 %2455
  %2457 = load i32, ptr %2456, align 4, !tbaa !5
  %2458 = sub i32 %2444, %2457
  %2459 = icmp ugt i32 %2431, %2458
  br i1 %2459, label %2460, label %2483

2460:                                             ; preds = %2409
  %2461 = load ptr, ptr %117, align 8, !tbaa !9
  %2462 = load i32, ptr %124, align 4, !tbaa !5
  %2463 = add nsw i32 %2462, 1
  %2464 = load i32, ptr %18, align 4, !tbaa !5
  %2465 = mul nsw i32 %2463, %2464
  %2466 = load i32, ptr %12, align 4, !tbaa !5
  %2467 = sdiv i32 %2465, %2466
  %2468 = sub nsw i32 %2467, 1
  %2469 = sext i32 %2468 to i64
  %2470 = getelementptr inbounds i32, ptr %2461, i64 %2469
  %2471 = load i32, ptr %2470, align 4, !tbaa !5
  %2472 = load ptr, ptr %117, align 8, !tbaa !9
  %2473 = load i32, ptr %124, align 4, !tbaa !5
  %2474 = load i32, ptr %18, align 4, !tbaa !5
  %2475 = mul nsw i32 %2473, %2474
  %2476 = load i32, ptr %12, align 4, !tbaa !5
  %2477 = sdiv i32 %2475, %2476
  %2478 = sub nsw i32 %2477, 1
  %2479 = sext i32 %2478 to i64
  %2480 = getelementptr inbounds i32, ptr %2472, i64 %2479
  %2481 = load i32, ptr %2480, align 4, !tbaa !5
  %2482 = sub nsw i32 %2471, %2481
  br label %2511

2483:                                             ; preds = %2409
  %2484 = load ptr, ptr %94, align 8, !tbaa !9
  %2485 = load i32, ptr %124, align 4, !tbaa !5
  %2486 = sub nsw i32 %2485, 1
  %2487 = load i32, ptr %10, align 4, !tbaa !5
  %2488 = mul nsw i32 %2486, %2487
  %2489 = load i32, ptr %10, align 4, !tbaa !5
  %2490 = add nsw i32 %2488, %2489
  %2491 = load i32, ptr %18, align 4, !tbaa !5
  %2492 = mul nsw i32 %2490, %2491
  %2493 = sub nsw i32 %2492, 1
  %2494 = sext i32 %2493 to i64
  %2495 = getelementptr inbounds i32, ptr %2484, i64 %2494
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  %2497 = load ptr, ptr %94, align 8, !tbaa !9
  %2498 = load i32, ptr %124, align 4, !tbaa !5
  %2499 = sub nsw i32 %2498, 2
  %2500 = load i32, ptr %10, align 4, !tbaa !5
  %2501 = mul nsw i32 %2499, %2500
  %2502 = load i32, ptr %10, align 4, !tbaa !5
  %2503 = add nsw i32 %2501, %2502
  %2504 = load i32, ptr %18, align 4, !tbaa !5
  %2505 = mul nsw i32 %2503, %2504
  %2506 = sub nsw i32 %2505, 1
  %2507 = sext i32 %2506 to i64
  %2508 = getelementptr inbounds i32, ptr %2497, i64 %2507
  %2509 = load i32, ptr %2508, align 4, !tbaa !5
  %2510 = sub i32 %2496, %2509
  br label %2511

2511:                                             ; preds = %2483, %2460
  %2512 = phi i32 [ %2482, %2460 ], [ %2510, %2483 ]
  %2513 = load i32, ptr %36, align 4, !tbaa !5
  %2514 = add i32 %2513, %2512
  store i32 %2514, ptr %36, align 4, !tbaa !5
  br label %2515

2515:                                             ; preds = %2511
  %2516 = load i32, ptr %124, align 4, !tbaa !5
  %2517 = add nsw i32 %2516, 1
  store i32 %2517, ptr %124, align 4, !tbaa !5
  br label %2402, !llvm.loop !91

2518:                                             ; preds = %2408
  %2519 = load i32, ptr %8, align 4, !tbaa !5
  %2520 = load i32, ptr %18, align 4, !tbaa !5
  %2521 = srem i32 %2519, %2520
  %2522 = icmp ne i32 %2521, 0
  br i1 %2522, label %2523, label %2660

2523:                                             ; preds = %2518
  %2524 = load ptr, ptr %117, align 8, !tbaa !9
  %2525 = load i32, ptr %8, align 4, !tbaa !5
  %2526 = load i32, ptr %12, align 4, !tbaa !5
  %2527 = sdiv i32 %2525, %2526
  %2528 = sub nsw i32 %2527, 1
  %2529 = load i32, ptr %8, align 4, !tbaa !5
  %2530 = load i32, ptr %12, align 4, !tbaa !5
  %2531 = srem i32 %2529, %2530
  %2532 = icmp ne i32 %2531, 0
  %2533 = zext i1 %2532 to i32
  %2534 = add nsw i32 %2528, %2533
  %2535 = sext i32 %2534 to i64
  %2536 = getelementptr inbounds i32, ptr %2524, i64 %2535
  %2537 = load i32, ptr %2536, align 4, !tbaa !5
  %2538 = load ptr, ptr %117, align 8, !tbaa !9
  %2539 = load i32, ptr %8, align 4, !tbaa !5
  %2540 = load i32, ptr %18, align 4, !tbaa !5
  %2541 = sdiv i32 %2539, %2540
  %2542 = load i32, ptr %18, align 4, !tbaa !5
  %2543 = mul nsw i32 %2541, %2542
  %2544 = load i32, ptr %12, align 4, !tbaa !5
  %2545 = sdiv i32 %2543, %2544
  %2546 = sub nsw i32 %2545, 1
  %2547 = sext i32 %2546 to i64
  %2548 = getelementptr inbounds i32, ptr %2538, i64 %2547
  %2549 = load i32, ptr %2548, align 4, !tbaa !5
  %2550 = sub nsw i32 %2537, %2549
  %2551 = load ptr, ptr %94, align 8, !tbaa !9
  %2552 = load i32, ptr %8, align 4, !tbaa !5
  %2553 = load i32, ptr %18, align 4, !tbaa !5
  %2554 = sdiv i32 %2552, %2553
  %2555 = load i32, ptr %18, align 4, !tbaa !5
  %2556 = mul nsw i32 %2554, %2555
  %2557 = load i32, ptr %10, align 4, !tbaa !5
  %2558 = mul nsw i32 %2556, %2557
  %2559 = sub nsw i32 %2558, 1
  %2560 = sext i32 %2559 to i64
  %2561 = getelementptr inbounds i32, ptr %2551, i64 %2560
  %2562 = load i32, ptr %2561, align 4, !tbaa !5
  %2563 = load ptr, ptr %94, align 8, !tbaa !9
  %2564 = load i32, ptr %8, align 4, !tbaa !5
  %2565 = load i32, ptr %18, align 4, !tbaa !5
  %2566 = sdiv i32 %2564, %2565
  %2567 = sub nsw i32 %2566, 1
  %2568 = load i32, ptr %10, align 4, !tbaa !5
  %2569 = mul nsw i32 %2567, %2568
  %2570 = load i32, ptr %18, align 4, !tbaa !5
  %2571 = mul nsw i32 %2569, %2570
  %2572 = sub nsw i32 %2571, 1
  %2573 = sext i32 %2572 to i64
  %2574 = getelementptr inbounds i32, ptr %2563, i64 %2573
  %2575 = load i32, ptr %2574, align 4, !tbaa !5
  %2576 = sub i32 %2562, %2575
  %2577 = icmp ugt i32 %2550, %2576
  br i1 %2577, label %2578, label %2606

2578:                                             ; preds = %2523
  %2579 = load ptr, ptr %117, align 8, !tbaa !9
  %2580 = load i32, ptr %8, align 4, !tbaa !5
  %2581 = load i32, ptr %12, align 4, !tbaa !5
  %2582 = sdiv i32 %2580, %2581
  %2583 = sub nsw i32 %2582, 1
  %2584 = load i32, ptr %8, align 4, !tbaa !5
  %2585 = load i32, ptr %12, align 4, !tbaa !5
  %2586 = srem i32 %2584, %2585
  %2587 = icmp ne i32 %2586, 0
  %2588 = zext i1 %2587 to i32
  %2589 = add nsw i32 %2583, %2588
  %2590 = sext i32 %2589 to i64
  %2591 = getelementptr inbounds i32, ptr %2579, i64 %2590
  %2592 = load i32, ptr %2591, align 4, !tbaa !5
  %2593 = load ptr, ptr %117, align 8, !tbaa !9
  %2594 = load i32, ptr %8, align 4, !tbaa !5
  %2595 = load i32, ptr %18, align 4, !tbaa !5
  %2596 = sdiv i32 %2594, %2595
  %2597 = load i32, ptr %18, align 4, !tbaa !5
  %2598 = mul nsw i32 %2596, %2597
  %2599 = load i32, ptr %12, align 4, !tbaa !5
  %2600 = sdiv i32 %2598, %2599
  %2601 = sub nsw i32 %2600, 1
  %2602 = sext i32 %2601 to i64
  %2603 = getelementptr inbounds i32, ptr %2593, i64 %2602
  %2604 = load i32, ptr %2603, align 4, !tbaa !5
  %2605 = sub nsw i32 %2592, %2604
  br label %2633

2606:                                             ; preds = %2523
  %2607 = load ptr, ptr %94, align 8, !tbaa !9
  %2608 = load i32, ptr %8, align 4, !tbaa !5
  %2609 = load i32, ptr %18, align 4, !tbaa !5
  %2610 = sdiv i32 %2608, %2609
  %2611 = load i32, ptr %18, align 4, !tbaa !5
  %2612 = mul nsw i32 %2610, %2611
  %2613 = load i32, ptr %10, align 4, !tbaa !5
  %2614 = mul nsw i32 %2612, %2613
  %2615 = sub nsw i32 %2614, 1
  %2616 = sext i32 %2615 to i64
  %2617 = getelementptr inbounds i32, ptr %2607, i64 %2616
  %2618 = load i32, ptr %2617, align 4, !tbaa !5
  %2619 = load ptr, ptr %94, align 8, !tbaa !9
  %2620 = load i32, ptr %8, align 4, !tbaa !5
  %2621 = load i32, ptr %18, align 4, !tbaa !5
  %2622 = sdiv i32 %2620, %2621
  %2623 = sub nsw i32 %2622, 1
  %2624 = load i32, ptr %10, align 4, !tbaa !5
  %2625 = mul nsw i32 %2623, %2624
  %2626 = load i32, ptr %18, align 4, !tbaa !5
  %2627 = mul nsw i32 %2625, %2626
  %2628 = sub nsw i32 %2627, 1
  %2629 = sext i32 %2628 to i64
  %2630 = getelementptr inbounds i32, ptr %2619, i64 %2629
  %2631 = load i32, ptr %2630, align 4, !tbaa !5
  %2632 = sub i32 %2618, %2631
  br label %2633

2633:                                             ; preds = %2606, %2578
  %2634 = phi i32 [ %2605, %2578 ], [ %2632, %2606 ]
  %2635 = load i32, ptr %36, align 4, !tbaa !5
  %2636 = add i32 %2635, %2634
  store i32 %2636, ptr %36, align 4, !tbaa !5
  %2637 = load ptr, ptr %94, align 8, !tbaa !9
  %2638 = load i32, ptr %8, align 4, !tbaa !5
  %2639 = load i32, ptr %10, align 4, !tbaa !5
  %2640 = mul nsw i32 %2638, %2639
  %2641 = sub nsw i32 %2640, 1
  %2642 = sext i32 %2641 to i64
  %2643 = getelementptr inbounds i32, ptr %2637, i64 %2642
  %2644 = load i32, ptr %2643, align 4, !tbaa !5
  %2645 = load ptr, ptr %94, align 8, !tbaa !9
  %2646 = load i32, ptr %8, align 4, !tbaa !5
  %2647 = load i32, ptr %18, align 4, !tbaa !5
  %2648 = sdiv i32 %2646, %2647
  %2649 = load i32, ptr %18, align 4, !tbaa !5
  %2650 = mul nsw i32 %2648, %2649
  %2651 = load i32, ptr %10, align 4, !tbaa !5
  %2652 = mul nsw i32 %2650, %2651
  %2653 = sub nsw i32 %2652, 1
  %2654 = sext i32 %2653 to i64
  %2655 = getelementptr inbounds i32, ptr %2645, i64 %2654
  %2656 = load i32, ptr %2655, align 4, !tbaa !5
  %2657 = sub i32 %2644, %2656
  %2658 = load i32, ptr %36, align 4, !tbaa !5
  %2659 = add i32 %2658, %2657
  store i32 %2659, ptr %36, align 4, !tbaa !5
  br label %2682

2660:                                             ; preds = %2518
  %2661 = load ptr, ptr %94, align 8, !tbaa !9
  %2662 = load i32, ptr %8, align 4, !tbaa !5
  %2663 = load i32, ptr %10, align 4, !tbaa !5
  %2664 = mul nsw i32 %2662, %2663
  %2665 = sub nsw i32 %2664, 1
  %2666 = sext i32 %2665 to i64
  %2667 = getelementptr inbounds i32, ptr %2661, i64 %2666
  %2668 = load i32, ptr %2667, align 4, !tbaa !5
  %2669 = load ptr, ptr %94, align 8, !tbaa !9
  %2670 = load i32, ptr %8, align 4, !tbaa !5
  %2671 = load i32, ptr %18, align 4, !tbaa !5
  %2672 = sub nsw i32 %2670, %2671
  %2673 = load i32, ptr %10, align 4, !tbaa !5
  %2674 = mul nsw i32 %2672, %2673
  %2675 = sub nsw i32 %2674, 1
  %2676 = sext i32 %2675 to i64
  %2677 = getelementptr inbounds i32, ptr %2669, i64 %2676
  %2678 = load i32, ptr %2677, align 4, !tbaa !5
  %2679 = sub i32 %2668, %2678
  %2680 = load i32, ptr %36, align 4, !tbaa !5
  %2681 = add i32 %2680, %2679
  store i32 %2681, ptr %36, align 4, !tbaa !5
  br label %2682

2682:                                             ; preds = %2660, %2633
  %2683 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.88)
          to label %2684 unwind label %2699

2684:                                             ; preds = %2682
  %2685 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.89)
          to label %2686 unwind label %2699

2686:                                             ; preds = %2684
  %2687 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.90)
          to label %2688 unwind label %2699

2688:                                             ; preds = %2686
  %2689 = load i32, ptr %36, align 4, !tbaa !5
  %2690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2687, i32 noundef %2689)
          to label %2691 unwind label %2699

2691:                                             ; preds = %2688
  %2692 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2690, ptr noundef @.str.93)
          to label %2693 unwind label %2699

2693:                                             ; preds = %2691
  %2694 = load i32, ptr %37, align 4, !tbaa !5
  %2695 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2692, i32 noundef %2694)
          to label %2696 unwind label %2699

2696:                                             ; preds = %2693
  %2697 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2695, ptr noundef @.str.49)
          to label %2698 unwind label %2699

2698:                                             ; preds = %2696
  br label %2703

2699:                                             ; preds = %2724, %2721, %2719, %2717, %2714, %2712, %2710, %2707, %2705, %2703, %2696, %2693, %2691, %2688, %2686, %2684, %2682
  %2700 = landingpad { ptr, i32 }
          cleanup
  %2701 = extractvalue { ptr, i32 } %2700, 0
  store ptr %2701, ptr %28, align 8
  %2702 = extractvalue { ptr, i32 } %2700, 1
  store i32 %2702, ptr %29, align 4
  br label %2949

2703:                                             ; preds = %2698, %2331
  %2704 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.94)
          to label %2705 unwind label %2699

2705:                                             ; preds = %2703
  %2706 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.95)
          to label %2707 unwind label %2699

2707:                                             ; preds = %2705
  %2708 = load i32, ptr %72, align 4, !tbaa !5
  %2709 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %2706, i32 noundef %2708)
          to label %2710 unwind label %2699

2710:                                             ; preds = %2707
  %2711 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2709, ptr noundef @.str.49)
          to label %2712 unwind label %2699

2712:                                             ; preds = %2710
  %2713 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.96)
          to label %2714 unwind label %2699

2714:                                             ; preds = %2712
  %2715 = load i32, ptr %108, align 4, !tbaa !5
  %2716 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %2713, i32 noundef %2715)
          to label %2717 unwind label %2699

2717:                                             ; preds = %2714
  %2718 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2716, ptr noundef @.str.49)
          to label %2719 unwind label %2699

2719:                                             ; preds = %2717
  %2720 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.97)
          to label %2721 unwind label %2699

2721:                                             ; preds = %2719
  %2722 = load i32, ptr %119, align 4, !tbaa !5
  %2723 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2720, i32 noundef %2722)
          to label %2724 unwind label %2699

2724:                                             ; preds = %2721
  %2725 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2723, ptr noundef @.str.49)
          to label %2726 unwind label %2699

2726:                                             ; preds = %2724
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #13
  %2727 = load i32, ptr %119, align 4, !tbaa !5
  %2728 = load i32, ptr %108, align 4, !tbaa !5
  %2729 = add i32 %2727, %2728
  store i32 %2729, ptr %125, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #13
  %2730 = load i32, ptr %8, align 4, !tbaa !5
  %2731 = load i32, ptr %9, align 4, !tbaa !5
  %2732 = mul nsw i32 %2730, %2731
  store i32 %2732, ptr %126, align 4, !tbaa !5
  %2733 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.98)
          to label %2734 unwind label %2813

2734:                                             ; preds = %2726
  %2735 = load i32, ptr %125, align 4, !tbaa !5
  %2736 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2733, i32 noundef %2735)
          to label %2737 unwind label %2813

2737:                                             ; preds = %2734
  %2738 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2736, ptr noundef @.str.99)
          to label %2739 unwind label %2813

2739:                                             ; preds = %2737
  %2740 = load i32, ptr %126, align 4, !tbaa !5
  %2741 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2738, i32 noundef %2740)
          to label %2742 unwind label %2813

2742:                                             ; preds = %2739
  %2743 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2741, ptr noundef @.str.49)
          to label %2744 unwind label %2813

2744:                                             ; preds = %2742
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #13
  %2745 = load i32, ptr %8, align 4, !tbaa !5
  %2746 = load i32, ptr %15, align 4, !tbaa !5
  %2747 = sdiv i32 %2745, %2746
  %2748 = load i32, ptr %8, align 4, !tbaa !5
  %2749 = load i32, ptr %15, align 4, !tbaa !5
  %2750 = srem i32 %2748, %2749
  %2751 = icmp ne i32 %2750, 0
  %2752 = zext i1 %2751 to i32
  %2753 = add nsw i32 %2747, %2752
  %2754 = load i32, ptr %9, align 4, !tbaa !5
  %2755 = load i32, ptr %17, align 4, !tbaa !5
  %2756 = sdiv i32 %2754, %2755
  %2757 = load i32, ptr %9, align 4, !tbaa !5
  %2758 = load i32, ptr %17, align 4, !tbaa !5
  %2759 = srem i32 %2757, %2758
  %2760 = icmp ne i32 %2759, 0
  %2761 = zext i1 %2760 to i32
  %2762 = add nsw i32 %2756, %2761
  %2763 = mul nsw i32 %2753, %2762
  %2764 = load i32, ptr %21, align 4, !tbaa !5
  %2765 = mul nsw i32 %2763, %2764
  %2766 = load i32, ptr %23, align 4, !tbaa !5
  %2767 = sdiv i32 %2765, %2766
  store i32 %2767, ptr %127, align 4, !tbaa !5
  %2768 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.100)
          to label %2769 unwind label %2817

2769:                                             ; preds = %2744
  %2770 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.101)
          to label %2771 unwind label %2817

2771:                                             ; preds = %2769
  %2772 = load i32, ptr %127, align 4, !tbaa !5
  %2773 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2770, i32 noundef %2772)
          to label %2774 unwind label %2817

2774:                                             ; preds = %2771
  %2775 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2773, ptr noundef @.str.49)
          to label %2776 unwind label %2817

2776:                                             ; preds = %2774
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #13
  %2777 = load i32, ptr %10, align 4, !tbaa !5
  %2778 = load i32, ptr %15, align 4, !tbaa !5
  %2779 = mul nsw i32 %2777, %2778
  %2780 = load i32, ptr %9, align 4, !tbaa !5
  %2781 = load i32, ptr %17, align 4, !tbaa !5
  %2782 = sdiv i32 %2780, %2781
  %2783 = load i32, ptr %9, align 4, !tbaa !5
  %2784 = load i32, ptr %17, align 4, !tbaa !5
  %2785 = srem i32 %2783, %2784
  %2786 = icmp ne i32 %2785, 0
  %2787 = zext i1 %2786 to i32
  %2788 = add nsw i32 %2782, %2787
  %2789 = mul nsw i32 %2779, %2788
  store i32 %2789, ptr %128, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #13
  %2790 = load i32, ptr %128, align 4, !tbaa !5
  %2791 = load i32, ptr %21, align 4, !tbaa !5
  %2792 = sdiv i32 %2790, %2791
  %2793 = load i32, ptr %128, align 4, !tbaa !5
  %2794 = load i32, ptr %21, align 4, !tbaa !5
  %2795 = srem i32 %2793, %2794
  %2796 = icmp ne i32 %2795, 0
  %2797 = zext i1 %2796 to i32
  %2798 = add nsw i32 %2792, %2797
  %2799 = load i32, ptr %8, align 4, !tbaa !5
  %2800 = load i32, ptr %15, align 4, !tbaa !5
  %2801 = sdiv i32 %2799, %2800
  %2802 = load i32, ptr %8, align 4, !tbaa !5
  %2803 = load i32, ptr %15, align 4, !tbaa !5
  %2804 = srem i32 %2802, %2803
  %2805 = icmp ne i32 %2804, 0
  %2806 = zext i1 %2805 to i32
  %2807 = add nsw i32 %2801, %2806
  %2808 = mul nsw i32 %2798, %2807
  store i32 %2808, ptr %129, align 4, !tbaa !5
  %2809 = load i32, ptr %9, align 4, !tbaa !5
  %2810 = load i32, ptr %17, align 4, !tbaa !5
  %2811 = icmp eq i32 %2809, %2810
  br i1 %2811, label %2812, label %2821

2812:                                             ; preds = %2776
  store i32 0, ptr %129, align 4, !tbaa !5
  br label %2821

2813:                                             ; preds = %2742, %2739, %2737, %2734, %2726
  %2814 = landingpad { ptr, i32 }
          cleanup
  %2815 = extractvalue { ptr, i32 } %2814, 0
  store ptr %2815, ptr %28, align 8
  %2816 = extractvalue { ptr, i32 } %2814, 1
  store i32 %2816, ptr %29, align 4
  br label %2948

2817:                                             ; preds = %2774, %2771, %2769, %2744
  %2818 = landingpad { ptr, i32 }
          cleanup
  %2819 = extractvalue { ptr, i32 } %2818, 0
  store ptr %2819, ptr %28, align 8
  %2820 = extractvalue { ptr, i32 } %2818, 1
  store i32 %2820, ptr %29, align 4
  br label %2947

2821:                                             ; preds = %2812, %2776
  %2822 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.102)
          to label %2823 unwind label %2866

2823:                                             ; preds = %2821
  %2824 = load i32, ptr %129, align 4, !tbaa !5
  %2825 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2822, i32 noundef %2824)
          to label %2826 unwind label %2866

2826:                                             ; preds = %2823
  %2827 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2825, ptr noundef @.str.49)
          to label %2828 unwind label %2866

2828:                                             ; preds = %2826
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #13
  %2829 = load i32, ptr %125, align 4, !tbaa !5
  %2830 = load i32, ptr %127, align 4, !tbaa !5
  %2831 = sub nsw i32 %2829, %2830
  %2832 = load i32, ptr %129, align 4, !tbaa !5
  %2833 = add nsw i32 %2831, %2832
  store i32 %2833, ptr %130, align 4, !tbaa !5
  %2834 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.103)
          to label %2835 unwind label %2870

2835:                                             ; preds = %2828
  %2836 = load i32, ptr %130, align 4, !tbaa !5
  %2837 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2834, i32 noundef %2836)
          to label %2838 unwind label %2870

2838:                                             ; preds = %2835
  %2839 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2837, ptr noundef @.str.104)
          to label %2840 unwind label %2870

2840:                                             ; preds = %2838
  %2841 = load i32, ptr %128, align 4, !tbaa !5
  %2842 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2839, i32 noundef %2841)
          to label %2843 unwind label %2870

2843:                                             ; preds = %2840
  %2844 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2842, ptr noundef @.str.49)
          to label %2845 unwind label %2870

2845:                                             ; preds = %2843
  %2846 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.105)
          to label %2847 unwind label %2870

2847:                                             ; preds = %2845
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #13
  %2848 = load i32, ptr %10, align 4, !tbaa !5
  %2849 = mul nsw i32 2, %2848
  %2850 = load i32, ptr %8, align 4, !tbaa !5
  %2851 = mul nsw i32 %2849, %2850
  %2852 = load i32, ptr %9, align 4, !tbaa !5
  %2853 = load i32, ptr %17, align 4, !tbaa !5
  %2854 = sdiv i32 %2852, %2853
  %2855 = load i32, ptr %9, align 4, !tbaa !5
  %2856 = load i32, ptr %17, align 4, !tbaa !5
  %2857 = srem i32 %2855, %2856
  %2858 = icmp ne i32 %2857, 0
  %2859 = zext i1 %2858 to i32
  %2860 = add nsw i32 %2854, %2859
  %2861 = mul nsw i32 %2851, %2860
  store i32 %2861, ptr %131, align 4, !tbaa !5
  %2862 = load i32, ptr %9, align 4, !tbaa !5
  %2863 = load i32, ptr %17, align 4, !tbaa !5
  %2864 = icmp eq i32 %2862, %2863
  br i1 %2864, label %2865, label %2874

2865:                                             ; preds = %2847
  store i32 0, ptr %131, align 4, !tbaa !5
  br label %2874

2866:                                             ; preds = %2826, %2823, %2821
  %2867 = landingpad { ptr, i32 }
          cleanup
  %2868 = extractvalue { ptr, i32 } %2867, 0
  store ptr %2868, ptr %28, align 8
  %2869 = extractvalue { ptr, i32 } %2867, 1
  store i32 %2869, ptr %29, align 4
  br label %2946

2870:                                             ; preds = %2845, %2843, %2840, %2838, %2835, %2828
  %2871 = landingpad { ptr, i32 }
          cleanup
  %2872 = extractvalue { ptr, i32 } %2871, 0
  store ptr %2872, ptr %28, align 8
  %2873 = extractvalue { ptr, i32 } %2871, 1
  store i32 %2873, ptr %29, align 4
  br label %2945

2874:                                             ; preds = %2865, %2847
  %2875 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.106)
          to label %2876 unwind label %2931

2876:                                             ; preds = %2874
  %2877 = load i32, ptr %131, align 4, !tbaa !5
  %2878 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2875, i32 noundef %2877)
          to label %2879 unwind label %2931

2879:                                             ; preds = %2876
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #13
  %2880 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 2
  %2881 = load i32, ptr %2880, align 4, !tbaa !63
  %2882 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 3
  %2883 = load i32, ptr %2882, align 8, !tbaa !70
  %2884 = add i32 %2881, %2883
  %2885 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 4
  %2886 = load i32, ptr %2885, align 4, !tbaa !71
  %2887 = add i32 %2884, %2886
  %2888 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 5
  %2889 = load i32, ptr %2888, align 8, !tbaa !72
  %2890 = add i32 %2887, %2889
  %2891 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 2
  %2892 = load i32, ptr %2891, align 4, !tbaa !63
  %2893 = add i32 %2890, %2892
  %2894 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 3
  %2895 = load i32, ptr %2894, align 8, !tbaa !70
  %2896 = add i32 %2893, %2895
  %2897 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 4
  %2898 = load i32, ptr %2897, align 4, !tbaa !71
  %2899 = add i32 %2896, %2898
  %2900 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 5
  %2901 = load i32, ptr %2900, align 8, !tbaa !72
  %2902 = add i32 %2899, %2901
  store i32 %2902, ptr %132, align 4, !tbaa !5
  %2903 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.107)
          to label %2904 unwind label %2935

2904:                                             ; preds = %2879
  %2905 = load i32, ptr %132, align 4, !tbaa !5
  %2906 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2903, i32 noundef %2905)
          to label %2907 unwind label %2935

2907:                                             ; preds = %2904
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #13
  %2908 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 3
  %2909 = load i32, ptr %2908, align 8, !tbaa !70
  %2910 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 4
  %2911 = load i32, ptr %2910, align 4, !tbaa !71
  %2912 = add i32 %2909, %2911
  %2913 = getelementptr inbounds %class.SDMemoryStats, ptr %115, i32 0, i32 5
  %2914 = load i32, ptr %2913, align 8, !tbaa !72
  %2915 = add i32 %2912, %2914
  %2916 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 2
  %2917 = load i32, ptr %2916, align 4, !tbaa !63
  %2918 = add i32 %2915, %2917
  %2919 = getelementptr inbounds %class.SDMemoryStats, ptr %77, i32 0, i32 3
  %2920 = load i32, ptr %2919, align 8, !tbaa !70
  %2921 = add i32 %2918, %2920
  %2922 = load i32, ptr %131, align 4, !tbaa !5
  %2923 = add i32 %2921, %2922
  store i32 %2923, ptr %133, align 4, !tbaa !5
  %2924 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.108)
          to label %2925 unwind label %2939

2925:                                             ; preds = %2907
  %2926 = load i32, ptr %133, align 4, !tbaa !5
  %2927 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %2924, i32 noundef %2926)
          to label %2928 unwind label %2939

2928:                                             ; preds = %2925
  %2929 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.109)
          to label %2930 unwind label %2939

2930:                                             ; preds = %2928
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #13
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %115) #13
  call void @llvm.lifetime.end.p0(i64 152, ptr %115) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr %112) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #13
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %77) #13
  call void @llvm.lifetime.end.p0(i64 152, ptr %77) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr %74) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #13
  call void @llvm.lifetime.end.p0(i64 160, ptr %64) #13
  call void @llvm.lifetime.end.p0(i64 160, ptr %63) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #13
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %51) #13
  call void @llvm.lifetime.end.p0(i64 392, ptr %51) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #13
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %48) #13
  call void @llvm.lifetime.end.p0(i64 520, ptr %48) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #13
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %45) #13
  call void @llvm.lifetime.end.p0(i64 392, ptr %45) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #13
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %42) #13
  call void @llvm.lifetime.end.p0(i64 520, ptr %42) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #13
  br label %2990

2931:                                             ; preds = %2876, %2874
  %2932 = landingpad { ptr, i32 }
          cleanup
  %2933 = extractvalue { ptr, i32 } %2932, 0
  store ptr %2933, ptr %28, align 8
  %2934 = extractvalue { ptr, i32 } %2932, 1
  store i32 %2934, ptr %29, align 4
  br label %2944

2935:                                             ; preds = %2904, %2879
  %2936 = landingpad { ptr, i32 }
          cleanup
  %2937 = extractvalue { ptr, i32 } %2936, 0
  store ptr %2937, ptr %28, align 8
  %2938 = extractvalue { ptr, i32 } %2936, 1
  store i32 %2938, ptr %29, align 4
  br label %2943

2939:                                             ; preds = %2928, %2925, %2907
  %2940 = landingpad { ptr, i32 }
          cleanup
  %2941 = extractvalue { ptr, i32 } %2940, 0
  store ptr %2941, ptr %28, align 8
  %2942 = extractvalue { ptr, i32 } %2940, 1
  store i32 %2942, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #13
  br label %2943

2943:                                             ; preds = %2939, %2935
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #13
  br label %2944

2944:                                             ; preds = %2943, %2931
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #13
  br label %2945

2945:                                             ; preds = %2944, %2870
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #13
  br label %2946

2946:                                             ; preds = %2945, %2866
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #13
  br label %2947

2947:                                             ; preds = %2946, %2817
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #13
  br label %2948

2948:                                             ; preds = %2947, %2813
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #13
  br label %2949

2949:                                             ; preds = %2948, %2699
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #13
  br label %2950

2950:                                             ; preds = %2949, %2162
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #13
  br label %2951

2951:                                             ; preds = %2950, %1848
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %115) #13
  br label %2952

2952:                                             ; preds = %2951, %1844
  call void @llvm.lifetime.end.p0(i64 152, ptr %115) #13
  br label %2953

2953:                                             ; preds = %2952, %1840
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #13
  br label %2954

2954:                                             ; preds = %2953, %1690, %1675
  call void @llvm.lifetime.end.p0(i64 40, ptr %112) #13
  br label %2955

2955:                                             ; preds = %2954, %1599, %1508, %1490
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #13
  br label %2956

2956:                                             ; preds = %2955, %1421
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #13
  br label %2957

2957:                                             ; preds = %2956, %1417, %1413, %1409
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #13
  br label %2958

2958:                                             ; preds = %2957, %1368, %1353, %1341
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #13
  br label %2959

2959:                                             ; preds = %2958, %1337
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #13
  br label %2960

2960:                                             ; preds = %2959, %1333
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #13
  br label %2961

2961:                                             ; preds = %2960, %1263
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #13
  br label %2962

2962:                                             ; preds = %2961, %1259
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #13
  br label %2963

2963:                                             ; preds = %2962, %1220
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #13
  br label %2964

2964:                                             ; preds = %2963, %1216
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #13
  br label %2965

2965:                                             ; preds = %2964, %1140, %920
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %77) #13
  br label %2966

2966:                                             ; preds = %2965, %916
  call void @llvm.lifetime.end.p0(i64 152, ptr %77) #13
  br label %2967

2967:                                             ; preds = %2966, %912
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #13
  br label %2968

2968:                                             ; preds = %2967, %850, %835
  call void @llvm.lifetime.end.p0(i64 40, ptr %74) #13
  br label %2969

2969:                                             ; preds = %2968, %769, %751
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #13
  br label %2970

2970:                                             ; preds = %2969, %747, %743, %739
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #13
  br label %2971

2971:                                             ; preds = %2970, %702, %687, %675
  call void @llvm.lifetime.end.p0(i64 160, ptr %64) #13
  br label %2972

2972:                                             ; preds = %2971, %671
  call void @llvm.lifetime.end.p0(i64 160, ptr %63) #13
  br label %2973

2973:                                             ; preds = %2972, %667
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #13
  br label %2974

2974:                                             ; preds = %2973, %663
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #13
  br label %2975

2975:                                             ; preds = %2974, %659
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #13
  br label %2976

2976:                                             ; preds = %2975, %585
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #13
  br label %2977

2977:                                             ; preds = %2976, %581
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #13
  br label %2978

2978:                                             ; preds = %2977, %547
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #13
  br label %2979

2979:                                             ; preds = %2978, %527, %500, %483, %470
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %51) #13
  br label %2980

2980:                                             ; preds = %2979, %454
  call void @llvm.lifetime.end.p0(i64 392, ptr %51) #13
  br label %2981

2981:                                             ; preds = %2980, %450
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #13
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %48) #13
  br label %2982

2982:                                             ; preds = %2981, %446
  call void @llvm.lifetime.end.p0(i64 520, ptr %48) #13
  br label %2983

2983:                                             ; preds = %2982, %442
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #13
  br label %2984

2984:                                             ; preds = %2983, %438, %411
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %45) #13
  br label %2985

2985:                                             ; preds = %2984, %395
  call void @llvm.lifetime.end.p0(i64 392, ptr %45) #13
  br label %2986

2986:                                             ; preds = %2985, %391
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #13
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %42) #13
  br label %2987

2987:                                             ; preds = %2986, %387
  call void @llvm.lifetime.end.p0(i64 520, ptr %42) #13
  br label %2988

2988:                                             ; preds = %2987, %383
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #13
  br label %2989

2989:                                             ; preds = %2988, %379
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #13
  br label %3023

2990:                                             ; preds = %2930, %342
  %2991 = load i32, ptr %6, align 4, !tbaa !14
  %2992 = icmp eq i32 %2991, 2
  br i1 %2992, label %2993, label %3021

2993:                                             ; preds = %2990
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #13
  store i32 0, ptr %134, align 4, !tbaa !5
  %2994 = load i32, ptr %14, align 4, !tbaa !5
  %2995 = load i32, ptr %17, align 4, !tbaa !5
  %2996 = icmp sgt i32 %2994, %2995
  br i1 %2996, label %2997, label %2999

2997:                                             ; preds = %2993
  %2998 = load i32, ptr %14, align 4, !tbaa !5
  br label %3001

2999:                                             ; preds = %2993
  %3000 = load i32, ptr %17, align 4, !tbaa !5
  br label %3001

3001:                                             ; preds = %2999, %2997
  %3002 = phi i32 [ %2998, %2997 ], [ %3000, %2999 ]
  store i32 %3002, ptr %19, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #13
  %3003 = load i32, ptr %8, align 4, !tbaa !5
  %3004 = mul nsw i32 2, %3003
  %3005 = load i32, ptr %19, align 4, !tbaa !5
  %3006 = mul nsw i32 %3004, %3005
  store i32 %3006, ptr %135, align 4, !tbaa !5
  %3007 = 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 %3008 unwind label %3017

3008:                                             ; preds = %3001
  %3009 = load i32, ptr %134, align 4, !tbaa !5
  %3010 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %3007, i32 noundef %3009)
          to label %3011 unwind label %3017

3011:                                             ; preds = %3008
  %3012 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3010, ptr noundef @.str.46)
          to label %3013 unwind label %3017

3013:                                             ; preds = %3011
  %3014 = load i32, ptr %135, align 4, !tbaa !5
  %3015 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %3012, i32 noundef %3014)
          to label %3016 unwind label %3017

3016:                                             ; preds = %3013
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #13
  br label %3021

3017:                                             ; preds = %3013, %3011, %3008, %3001
  %3018 = landingpad { ptr, i32 }
          cleanup
  %3019 = extractvalue { ptr, i32 } %3018, 0
  store ptr %3019, ptr %28, align 8
  %3020 = extractvalue { ptr, i32 } %3018, 1
  store i32 %3020, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #13
  br label %3023

3021:                                             ; preds = %3016, %2990
  store i32 0, ptr %3, align 4
  store i32 1, ptr %79, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #13
  call void @llvm.lifetime.end.p0(i64 4, 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 %20) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #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
  %3022 = load i32, ptr %3, align 4
  ret i32 %3022

3023:                                             ; preds = %3017, %2989, %338, %178
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #13
  br label %3024

3024:                                             ; preds = %3023, %174
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #13
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #13
  br label %3025

3025:                                             ; preds = %3024, %170
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #13
  call void @llvm.lifetime.end.p0(i64 4, 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 %20) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #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
  br label %3026

3026:                                             ; preds = %3025
  %3027 = load ptr, ptr %28, align 8
  %3028 = load i32, ptr %29, align 4
  %3029 = insertvalue { ptr, i32 } poison, ptr %3027, 0
  %3030 = insertvalue { ptr, i32 } %3029, i32 %3028, 1
  resume { ptr, i32 } %3030
}

; 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) #5

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

; 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_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 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 #0 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) #6

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

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

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

declare noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) #6

; 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 #6

; 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) #6

; 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 #0 align 2

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

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

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

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

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

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #7

; 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) #0 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) #0 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) #6

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

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) #6

; 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 @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #2 align 2

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

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

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #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 = { 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 #5 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { "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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_ZTS11KERNELORDER", !7, i64 0}
!13 = !{!7, !7, i64 0}
!14 = !{!15, !15, i64 0}
!15 = !{!"_ZTS4GRAN", !7, i64 0}
!16 = !{!17, !17, i64 0}
!17 = !{!"float", !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 = distinct !{!24, !19}
!25 = !{!26, !6, i64 28}
!26 = !{!"_ZTS6Config", !6, i64 0, !27, i64 4, !28, i64 8, !29, i64 24, !31, i64 40, !32, i64 64, !34, i64 72, !35, i64 96, !36, i64 104}
!27 = !{!"_ZTS15DSNetworkConfig", !6, i64 0}
!28 = !{!"_ZTS13DSwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12}
!29 = !{!"_ZTS15MSNetworkConfig", !30, i64 0, !6, i64 4, !6, i64 8, !6, i64 12}
!30 = !{!"_ZTS19MultiplierNetwork_t", !7, i64 0}
!31 = !{!"_ZTS13MSwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20}
!32 = !{!"_ZTS15ASNetworkConfig", !33, i64 0, !6, i64 4}
!33 = !{!"_ZTS15ReduceNetwork_t", !7, i64 0}
!34 = !{!"_ZTS13ASwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20}
!35 = !{!"_ZTS17LookUpTableConfig", !6, i64 0, !6, i64 4}
!36 = !{!"_ZTS14SDMemoryConfig", !37, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !38, i64 28, !6, i64 32, !6, i64 36, !6, i64 40, !6, i64 44, !6, i64 48, !6, i64 52}
!37 = !{!"_ZTS18MemoryController_t", !7, i64 0}
!38 = !{!"_ZTS17MemoryHierarchy_t", !7, i64 0}
!39 = !{!26, !6, i64 112}
!40 = !{!26, !6, i64 116}
!41 = !{!26, !6, i64 68}
!42 = !{!26, !37, i64 104}
!43 = !{!26, !6, i64 0}
!44 = !{!26, !33, i64 64}
!45 = !{i64 0, i64 4, !5, i64 4, i64 4, !5, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 4, !5, i64 20, i64 4, !5, i64 24, i64 4, !46, i64 28, i64 4, !5, i64 32, i64 4, !5, i64 36, i64 4, !5, i64 40, i64 4, !5, i64 44, i64 4, !5, i64 48, i64 4, !5, i64 52, i64 4, !5, i64 56, i64 4, !5, i64 60, i64 4, !5, i64 64, i64 4, !47, i64 68, i64 4, !5, i64 72, i64 4, !5, i64 76, i64 4, !5, i64 80, i64 4, !5, i64 84, i64 4, !5, i64 88, i64 4, !5, i64 92, i64 4, !5, i64 96, i64 4, !5, i64 100, i64 4, !5, i64 104, i64 4, !48, i64 108, i64 4, !5, i64 112, i64 4, !5, i64 116, i64 4, !5, i64 120, i64 4, !5, i64 124, i64 4, !5, i64 128, i64 4, !5, i64 132, i64 4, !49, i64 136, i64 4, !5, i64 140, i64 4, !5, i64 144, i64 4, !5, i64 148, i64 4, !5, i64 152, i64 4, !5, i64 156, i64 4, !5}
!46 = !{!30, !30, i64 0}
!47 = !{!33, !33, i64 0}
!48 = !{!37, !37, i64 0}
!49 = !{!38, !38, i64 0}
!50 = distinct !{!50, !19}
!51 = !{!52, !6, i64 16}
!52 = !{!"_ZTS14MSNetworkStats", !53, i64 0, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36}
!53 = !{!"_ZTS5Stats"}
!54 = !{!52, !6, i64 20}
!55 = !{!52, !6, i64 24}
!56 = !{!52, !6, i64 28}
!57 = !{!52, !6, i64 32}
!58 = !{!52, !6, i64 36}
!59 = !{!60, !6, i64 28}
!60 = !{!"_ZTS14ASNetworkStats", !53, i64 0, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !6, i64 28, !6, i64 32}
!61 = !{!62, !6, i64 24}
!62 = !{!"_ZTS14DSNetworkStats", !53, i64 0, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24}
!63 = !{!64, !6, i64 12}
!64 = !{!"_ZTS13SDMemoryStats", !53, i64 0, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 40, !6, i64 44, !65, i64 48, !66, i64 56, !66, i64 80, !66, i64 104, !66, i64 128}
!65 = !{!"_ZTS8Dataflow", !7, i64 0}
!66 = !{!"_ZTSSt6vectorIjSaIjEE", !67, i64 0}
!67 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!70 = !{!64, !6, i64 16}
!71 = !{!64, !6, i64 20}
!72 = !{!64, !6, i64 24}
!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}
!86 = distinct !{!86, !19}
!87 = distinct !{!87, !19}
!88 = distinct !{!88, !19}
!89 = distinct !{!89, !19}
!90 = distinct !{!90, !19}
!91 = distinct !{!91, !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.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 }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.41 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [40 x i8], align 1
@__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
@.str.43 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [141 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [88 x i8], align 1
@__PRETTY_FUNCTION__.main = external hidden unnamed_addr constant [23 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [140 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [5 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z16configParametersiPPcRiS1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_(i32 noundef, ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #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 nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 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 #0 align 2

declare i32 @__gxx_personality_v0(...)

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

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

; 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 #0 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

; 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 #0 align 2

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr noundef %1) local_unnamed_addr #4 personality ptr @__gxx_personality_v0 {
  %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 i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca [4 x i8], align 4
  %24 = alloca [4 x i8], align 4
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %"class.std::basic_ifstream", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %31 = alloca %"class.std::basic_ifstream", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %35 = alloca %class.Config, align 8
  %36 = alloca %class.Config, align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator", align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator", align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %class.MSNetworkStats, align 8
  %43 = alloca %class.ASNetworkStats, align 8
  %44 = alloca %class.DSNetworkStats, align 8
  %45 = alloca %class.SDMemoryStats, align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %class.MSNetworkStats, align 8
  %52 = alloca %class.ASNetworkStats, align 8
  %53 = alloca %class.DSNetworkStats, align 8
  %54 = alloca %class.SDMemoryStats, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #15
  store i32 3786, ptr %3, align 4, !tbaa !5
  store i32 29, ptr %4, align 4, !tbaa !5
  store i32 2, ptr %5, align 4, !tbaa !5
  store i32 14456, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #15
  store i32 17, ptr %7, align 4, !tbaa !5
  store i32 1, ptr %8, align 4, !tbaa !5
  store i32 15, ptr %9, align 4, !tbaa !5
  store i32 85, ptr %10, align 4, !tbaa !5
  store i32 1, ptr %11, align 4, !tbaa !5
  store i32 3, ptr %12, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #15
  store i32 256, ptr %13, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #15
  store i32 256, ptr %14, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #15
  store i32 256, ptr %15, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #15
  store i32 256, ptr %16, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #15
  store i32 256, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #15
  store i32 256, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #15
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #15
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #15
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %55 unwind label %70

55:                                               ; preds = %2
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #15
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #15
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #15
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #15
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.42, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %56 unwind label %72

56:                                               ; preds = %55
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #15
  %57 = load i32, ptr @__const.main.loop_order_agg, align 1
  store i32 %57, ptr %23, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #15
  %58 = load i32, ptr @__const.main.loop_order_cmb, align 1
  store i32 %58, ptr %24, align 4
  invoke void @_Z16configParametersiPPcRiS1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_S1_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_(i32 noundef %0, ptr noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %59 unwind label %74

59:                                               ; preds = %56
  %60 = load i8, ptr %23, align 4
  %61 = load i8, ptr %24, align 4, !tbaa !9
  %62 = icmp eq i8 %60, %61
  br i1 %62, label %63, label %.thread

63:                                               ; preds = %59
  %64 = getelementptr inbounds i8, ptr %23, i64 1
  %65 = load i8, ptr %64, align 1, !tbaa !9
  %66 = getelementptr inbounds i8, ptr %24, i64 1
  %67 = load i8, ptr %66, align 1, !tbaa !9
  %68 = icmp eq i8 %65, %67
  %69 = and i8 %60, -17
  %or.cond = icmp eq i8 %69, 70
  %or.cond643 = and i1 %or.cond, %68
  br i1 %or.cond643, label %79, label %76

70:                                               ; preds = %2
  %71 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #15
  br label %1515

72:                                               ; preds = %55
  %73 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #15
  br label %1514

74:                                               ; preds = %94, %92, %90, %88, %86, %84, %79, %56
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %1513

76:                                               ; preds = %63
  %77 = icmp eq i8 %60, 86
  br i1 %77, label %79, label %.thread

.thread:                                          ; preds = %59, %76
  %78 = icmp eq i8 %60, 70
  %or.cond11 = and i1 %78, %62
  %.644 = select i1 %or.cond11, i32 2, i32 3
  br label %79

79:                                               ; preds = %.thread, %76, %63
  %80 = phi i1 [ true, %63 ], [ false, %76 ], [ false, %.thread ]
  %81 = phi i1 [ false, %63 ], [ true, %76 ], [ false, %.thread ]
  %82 = phi i1 [ false, %63 ], [ false, %76 ], [ %or.cond11, %.thread ]
  %.0 = phi i32 [ 0, %63 ], [ 1, %76 ], [ %.644, %.thread ]
  %83 = 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 %84 unwind label %74

84:                                               ; preds = %79
  %85 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %83, ptr noundef nonnull %23)
          to label %86 unwind label %74

86:                                               ; preds = %84
  %87 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef nonnull @.str.44)
          to label %88 unwind label %74

88:                                               ; preds = %86
  %89 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef nonnull %24)
          to label %90 unwind label %74

90:                                               ; preds = %88
  %91 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef nonnull @.str.44)
          to label %92 unwind label %74

92:                                               ; preds = %90
  %93 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %91, i32 noundef %.0)
          to label %94 unwind label %74

94:                                               ; preds = %92
  %95 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull @.str.43)
          to label %96 unwind label %74

96:                                               ; preds = %94
  br i1 %80, label %97, label %115

97:                                               ; preds = %96
  %98 = load i32, ptr %7, align 4
  %99 = load i32, ptr %10, align 4
  %100 = call i32 @llvm.smax.i32(i32 %98, i32 %99)
  %101 = load i32, ptr %9, align 4
  %102 = load i32, ptr %12, align 4
  %103 = call i32 @llvm.smax.i32(i32 %101, i32 %102)
  %104 = shl nsw i32 %100, 1
  %105 = mul nsw i32 %104, %103
  %106 = 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 %107 unwind label %113

107:                                              ; preds = %97
  %108 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %106, i32 noundef 0)
          to label %109 unwind label %113

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

111:                                              ; preds = %109
  %112 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %110, i32 noundef %105)
          to label %115 unwind label %113

113:                                              ; preds = %111, %109, %107, %97
  %114 = landingpad { ptr, i32 }
          cleanup
  br label %1513

115:                                              ; preds = %111, %96
  br i1 %81, label %116, label %1495

116:                                              ; preds = %115
  %117 = load i32, ptr %7, align 4
  %118 = load i32, ptr %10, align 4
  %119 = call i32 @llvm.smax.i32(i32 %117, i32 %118)
  %120 = shl nsw i32 %119, 1
  %121 = load i32, ptr %4, align 4, !tbaa !5
  %122 = mul nsw i32 %120, %121
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #15
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #15
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #15
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %123 unwind label %137

123:                                              ; preds = %116
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #15
  %124 = load i32, ptr %6, align 4, !tbaa !5
  %125 = sext i32 %124 to i64
  %126 = icmp slt i32 %124, 0
  %127 = shl nsw i64 %125, 2
  %128 = select i1 %126, i64 -1, i64 %127
  %129 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %128) #16
          to label %130 unwind label %139

130:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %27) #15
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %27, ptr noundef nonnull align 8 dereferenceable(32) %21, i32 noundef 8)
          to label %131 unwind label %141

131:                                              ; preds = %130
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #15
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #15
  %132 = 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) %27, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %133 unwind label %143

133:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %30) #15
  %134 = 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) %30, ptr noundef nonnull align 8 dereferenceable(32) %28, i32 noundef %134)
          to label %.preheader675 unwind label %145

.preheader675:                                    ; preds = %133
  %135 = load i32, ptr %6, align 4, !tbaa !5
  %136 = icmp sgt i32 %135, 0
  br i1 %136, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %150, %.preheader675
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %27)
          to label %157 unwind label %171

137:                                              ; preds = %116
  %138 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #15
  br label %1494

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

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

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

145:                                              ; preds = %133
  %146 = landingpad { ptr, i32 }
          cleanup
  br label %1490

.lr.ph:                                           ; preds = %.preheader675, %150
  %indvars.iv = phi i64 [ %indvars.iv.next, %150 ], [ 0, %.preheader675 ]
  %147 = 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) %30, ptr noundef nonnull align 8 dereferenceable(32) %29, i8 noundef signext 44)
          to label %148 unwind label %155

148:                                              ; preds = %.lr.ph
  %149 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef null, i32 noundef 10)
          to label %150 unwind label %155

150:                                              ; preds = %148
  %151 = getelementptr inbounds i32, ptr %129, i64 %indvars.iv
  store i32 %149, ptr %151, align 4, !tbaa !5
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %152 = load i32, ptr %6, align 4, !tbaa !5
  %153 = sext i32 %152 to i64
  %154 = icmp slt i64 %indvars.iv.next, %153
  br i1 %154, label %.lr.ph, label %._crit_edge, !llvm.loop !10

155:                                              ; preds = %148, %.lr.ph
  %156 = landingpad { ptr, i32 }
          cleanup
  br label %1489

157:                                              ; preds = %._crit_edge
  %158 = load i32, ptr %3, align 4, !tbaa !5
  %159 = add nsw i32 %158, 1
  %160 = sext i32 %159 to i64
  %161 = icmp slt i32 %158, -1
  %162 = shl nsw i64 %160, 2
  %163 = select i1 %161, i64 -1, i64 %162
  %164 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %163) #16
          to label %165 unwind label %173

165:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %31) #15
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %31, ptr noundef nonnull align 8 dereferenceable(32) %19, i32 noundef 8)
          to label %166 unwind label %175

166:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #15
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #15
  %167 = 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) %31, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %168 unwind label %177

168:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %34) #15
  %169 = 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) %34, ptr noundef nonnull align 8 dereferenceable(32) %32, i32 noundef %169)
          to label %.preheader674 unwind label %179

.preheader674:                                    ; preds = %168
  %170 = load i32, ptr %3, align 4, !tbaa !5
  %.not682 = icmp slt i32 %170, 0
  br i1 %.not682, label %._crit_edge685, label %.lr.ph684

._crit_edge685:                                   ; preds = %184, %.preheader674
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %31)
          to label %190 unwind label %194

171:                                              ; preds = %._crit_edge
  %172 = landingpad { ptr, i32 }
          cleanup
  br label %1489

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

175:                                              ; preds = %165
  %176 = landingpad { ptr, i32 }
          cleanup
  br label %1488

177:                                              ; preds = %166
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %1487

179:                                              ; preds = %168
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %1486

.lr.ph684:                                        ; preds = %.preheader674, %184
  %indvars.iv816 = phi i64 [ %indvars.iv.next817, %184 ], [ 0, %.preheader674 ]
  %181 = 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) %33, i8 noundef signext 44)
          to label %182 unwind label %188

182:                                              ; preds = %.lr.ph684
  %183 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef null, i32 noundef 10)
          to label %184 unwind label %188

184:                                              ; preds = %182
  %185 = getelementptr inbounds i32, ptr %164, i64 %indvars.iv816
  store i32 %183, ptr %185, align 4, !tbaa !5
  %indvars.iv.next817 = add nuw nsw i64 %indvars.iv816, 1
  %186 = load i32, ptr %3, align 4, !tbaa !5
  %187 = sext i32 %186 to i64
  %.not.not = icmp slt i64 %indvars.iv816, %187
  br i1 %.not.not, label %.lr.ph684, label %._crit_edge685, !llvm.loop !12

188:                                              ; preds = %182, %.lr.ph684
  %189 = landingpad { ptr, i32 }
          cleanup
  br label %1485

190:                                              ; preds = %._crit_edge685
  %191 = 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 %.preheader673 unwind label %194

.preheader673:                                    ; preds = %190
  %192 = load i32, ptr %3, align 4, !tbaa !5
  %.not573686 = icmp slt i32 %192, 0
  br i1 %.not573686, label %._crit_edge689, label %.lr.ph688

._crit_edge689:                                   ; preds = %201, %.preheader673
  %193 = 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 %206 unwind label %194

194:                                              ; preds = %._crit_edge692, %206, %._crit_edge689, %190, %._crit_edge685
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %1485

.lr.ph688:                                        ; preds = %.preheader673, %201
  %indvars.iv819 = phi i64 [ %indvars.iv.next820, %201 ], [ 0, %.preheader673 ]
  %196 = getelementptr inbounds i32, ptr %164, i64 %indvars.iv819
  %197 = load i32, ptr %196, align 4, !tbaa !5
  %198 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %197)
          to label %199 unwind label %204

199:                                              ; preds = %.lr.ph688
  %200 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %198, ptr noundef nonnull @.str.44)
          to label %201 unwind label %204

201:                                              ; preds = %199
  %indvars.iv.next820 = add nuw nsw i64 %indvars.iv819, 1
  %202 = load i32, ptr %3, align 4, !tbaa !5
  %203 = sext i32 %202 to i64
  %.not573.not = icmp slt i64 %indvars.iv819, %203
  br i1 %.not573.not, label %.lr.ph688, label %._crit_edge689, !llvm.loop !13

204:                                              ; preds = %199, %.lr.ph688
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %1485

206:                                              ; preds = %._crit_edge689
  %207 = 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 %.preheader672 unwind label %194

.preheader672:                                    ; preds = %206
  %208 = load i32, ptr %6, align 4, !tbaa !5
  %209 = icmp sgt i32 %208, 0
  br i1 %209, label %.lr.ph691, label %._crit_edge692

._crit_edge692:                                   ; preds = %216, %.preheader672
  %210 = 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 %222 unwind label %194

.lr.ph691:                                        ; preds = %.preheader672, %216
  %indvars.iv822 = phi i64 [ %indvars.iv.next823, %216 ], [ 0, %.preheader672 ]
  %211 = getelementptr inbounds i32, ptr %129, i64 %indvars.iv822
  %212 = load i32, ptr %211, align 4, !tbaa !5
  %213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %212)
          to label %214 unwind label %220

214:                                              ; preds = %.lr.ph691
  %215 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %213, ptr noundef nonnull @.str.44)
          to label %216 unwind label %220

216:                                              ; preds = %214
  %indvars.iv.next823 = add nuw nsw i64 %indvars.iv822, 1
  %217 = load i32, ptr %6, align 4, !tbaa !5
  %218 = sext i32 %217 to i64
  %219 = icmp slt i64 %indvars.iv.next823, %218
  br i1 %219, label %.lr.ph691, label %._crit_edge692, !llvm.loop !14

220:                                              ; preds = %214, %.lr.ph691
  %221 = landingpad { ptr, i32 }
          cleanup
  br label %1485

222:                                              ; preds = %._crit_edge692
  %223 = load i32, ptr %6, align 4, !tbaa !5
  %224 = sext i32 %223 to i64
  %225 = icmp slt i32 %223, 0
  %226 = shl nsw i64 %224, 2
  %227 = select i1 %225, i64 -1, i64 %226
  %228 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %227) #16
          to label %.preheader671 unwind label %236

.preheader671:                                    ; preds = %222
  %229 = icmp sgt i32 %223, 0
  br i1 %229, label %.lr.ph694.preheader, label %._crit_edge695

.lr.ph694.preheader:                              ; preds = %.preheader671
  %wide.trip.count = zext nneg i32 %223 to i64
  %min.iters.check = icmp ult i32 %223, 8
  br i1 %min.iters.check, label %.lr.ph694.preheader990, label %vector.ph

.lr.ph694.preheader990:                           ; preds = %middle.block, %.lr.ph694.preheader
  %indvars.iv825.ph = phi i64 [ 0, %.lr.ph694.preheader ], [ %n.vec, %middle.block ]
  br label %.lr.ph694

vector.ph:                                        ; preds = %.lr.ph694.preheader
  %n.vec = and i64 %wide.trip.count, 2147483640
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %230 = getelementptr inbounds float, ptr %228, i64 %index
  %231 = getelementptr inbounds i8, ptr %230, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %230, align 4, !tbaa !15
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %231, align 4, !tbaa !15
  %index.next = add nuw i64 %index, 8
  %232 = icmp eq i64 %index.next, %n.vec
  br i1 %232, label %middle.block, label %vector.body, !llvm.loop !17

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %n.vec, %wide.trip.count
  br i1 %cmp.n, label %._crit_edge695, label %.lr.ph694.preheader990

._crit_edge695:                                   ; preds = %.lr.ph694, %middle.block, %.preheader671
  %233 = load i32, ptr %3, align 4, !tbaa !5
  %234 = load i32, ptr %4, align 4, !tbaa !5
  %235 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %233, i32 noundef %234, float noundef 0.000000e+00)
          to label %239 unwind label %263

236:                                              ; preds = %222
  %237 = landingpad { ptr, i32 }
          cleanup
  br label %1485

.lr.ph694:                                        ; preds = %.lr.ph694.preheader990, %.lr.ph694
  %indvars.iv825 = phi i64 [ %indvars.iv.next826, %.lr.ph694 ], [ %indvars.iv825.ph, %.lr.ph694.preheader990 ]
  %238 = getelementptr inbounds float, ptr %228, i64 %indvars.iv825
  store float 1.000000e+00, ptr %238, align 4, !tbaa !15
  %indvars.iv.next826 = add nuw nsw i64 %indvars.iv825, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next826, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge695, label %.lr.ph694, !llvm.loop !20

239:                                              ; preds = %._crit_edge695
  %240 = ptrtoint ptr %235 to i64
  %241 = load i32, ptr %3, align 4, !tbaa !5
  %242 = load i32, ptr %4, align 4, !tbaa !5
  %243 = mul nsw i32 %242, %241
  %244 = sext i32 %243 to i64
  %245 = icmp slt i32 %243, 0
  %246 = shl nsw i64 %244, 2
  %247 = select i1 %245, i64 -1, i64 %246
  %248 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %247) #16
          to label %.preheader670 unwind label %265

.preheader670:                                    ; preds = %239
  %249 = icmp sgt i32 %243, 0
  br i1 %249, label %.lr.ph697.preheader, label %._crit_edge698

.lr.ph697.preheader:                              ; preds = %.preheader670
  %250 = ptrtoint ptr %248 to i64
  %wide.trip.count831 = zext nneg i32 %243 to i64
  %min.iters.check924 = icmp ult i32 %243, 8
  %251 = sub i64 %250, %240
  %diff.check = icmp ult i64 %251, 32
  %or.cond977 = or i1 %min.iters.check924, %diff.check
  br i1 %or.cond977, label %.lr.ph697.preheader989, label %vector.ph925

.lr.ph697.preheader989:                           ; preds = %middle.block922, %.lr.ph697.preheader
  %indvars.iv828.ph = phi i64 [ 0, %.lr.ph697.preheader ], [ %n.vec927, %middle.block922 ]
  %xtraiter = and i64 %wide.trip.count831, 3
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.lr.ph697.prol.loopexit, label %.lr.ph697.prol

.lr.ph697.prol:                                   ; preds = %.lr.ph697.preheader989, %.lr.ph697.prol
  %indvars.iv828.prol = phi i64 [ %indvars.iv.next829.prol, %.lr.ph697.prol ], [ %indvars.iv828.ph, %.lr.ph697.preheader989 ]
  %prol.iter = phi i64 [ %prol.iter.next, %.lr.ph697.prol ], [ 0, %.lr.ph697.preheader989 ]
  %252 = getelementptr inbounds float, ptr %235, i64 %indvars.iv828.prol
  %253 = load float, ptr %252, align 4, !tbaa !15
  %254 = getelementptr inbounds float, ptr %248, i64 %indvars.iv828.prol
  store float %253, ptr %254, align 4, !tbaa !15
  %indvars.iv.next829.prol = add nuw nsw i64 %indvars.iv828.prol, 1
  %prol.iter.next = add i64 %prol.iter, 1
  %prol.iter.cmp.not = icmp eq i64 %prol.iter.next, %xtraiter
  br i1 %prol.iter.cmp.not, label %.lr.ph697.prol.loopexit, label %.lr.ph697.prol, !llvm.loop !21

.lr.ph697.prol.loopexit:                          ; preds = %.lr.ph697.prol, %.lr.ph697.preheader989
  %indvars.iv828.unr = phi i64 [ %indvars.iv828.ph, %.lr.ph697.preheader989 ], [ %indvars.iv.next829.prol, %.lr.ph697.prol ]
  %255 = sub nsw i64 %indvars.iv828.ph, %wide.trip.count831
  %256 = icmp ugt i64 %255, -4
  br i1 %256, label %._crit_edge698, label %.lr.ph697

vector.ph925:                                     ; preds = %.lr.ph697.preheader
  %n.vec927 = and i64 %wide.trip.count831, 2147483640
  br label %vector.body929

vector.body929:                                   ; preds = %vector.body929, %vector.ph925
  %index930 = phi i64 [ 0, %vector.ph925 ], [ %index.next932, %vector.body929 ]
  %257 = getelementptr inbounds float, ptr %235, i64 %index930
  %258 = getelementptr inbounds i8, ptr %257, i64 16
  %wide.load = load <4 x float>, ptr %257, align 4, !tbaa !15
  %wide.load931 = load <4 x float>, ptr %258, align 4, !tbaa !15
  %259 = getelementptr inbounds float, ptr %248, i64 %index930
  %260 = getelementptr inbounds i8, ptr %259, i64 16
  store <4 x float> %wide.load, ptr %259, align 4, !tbaa !15
  store <4 x float> %wide.load931, ptr %260, align 4, !tbaa !15
  %index.next932 = add nuw i64 %index930, 8
  %261 = icmp eq i64 %index.next932, %n.vec927
  br i1 %261, label %middle.block922, label %vector.body929, !llvm.loop !23

middle.block922:                                  ; preds = %vector.body929
  %cmp.n933 = icmp eq i64 %n.vec927, %wide.trip.count831
  br i1 %cmp.n933, label %._crit_edge698, label %.lr.ph697.preheader989

._crit_edge698:                                   ; preds = %.lr.ph697.prol.loopexit, %.lr.ph697, %middle.block922, %.preheader670
  %262 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %247) #16
          to label %279 unwind label %303

263:                                              ; preds = %._crit_edge695
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %1485

265:                                              ; preds = %239
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %1485

.lr.ph697:                                        ; preds = %.lr.ph697.prol.loopexit, %.lr.ph697
  %indvars.iv828 = phi i64 [ %indvars.iv.next829.3, %.lr.ph697 ], [ %indvars.iv828.unr, %.lr.ph697.prol.loopexit ]
  %267 = getelementptr inbounds float, ptr %235, i64 %indvars.iv828
  %268 = load float, ptr %267, align 4, !tbaa !15
  %269 = getelementptr inbounds float, ptr %248, i64 %indvars.iv828
  store float %268, ptr %269, align 4, !tbaa !15
  %indvars.iv.next829 = add nuw nsw i64 %indvars.iv828, 1
  %270 = getelementptr inbounds float, ptr %235, i64 %indvars.iv.next829
  %271 = load float, ptr %270, align 4, !tbaa !15
  %272 = getelementptr inbounds float, ptr %248, i64 %indvars.iv.next829
  store float %271, ptr %272, align 4, !tbaa !15
  %indvars.iv.next829.1 = add nuw nsw i64 %indvars.iv828, 2
  %273 = getelementptr inbounds float, ptr %235, i64 %indvars.iv.next829.1
  %274 = load float, ptr %273, align 4, !tbaa !15
  %275 = getelementptr inbounds float, ptr %248, i64 %indvars.iv.next829.1
  store float %274, ptr %275, align 4, !tbaa !15
  %indvars.iv.next829.2 = add nuw nsw i64 %indvars.iv828, 3
  %276 = getelementptr inbounds float, ptr %235, i64 %indvars.iv.next829.2
  %277 = load float, ptr %276, align 4, !tbaa !15
  %278 = getelementptr inbounds float, ptr %248, i64 %indvars.iv.next829.2
  store float %277, ptr %278, align 4, !tbaa !15
  %indvars.iv.next829.3 = add nuw nsw i64 %indvars.iv828, 4
  %exitcond832.not.3 = icmp eq i64 %indvars.iv.next829.3, %wide.trip.count831
  br i1 %exitcond832.not.3, label %._crit_edge698, label %.lr.ph697, !llvm.loop !24

279:                                              ; preds = %._crit_edge698
  %280 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %247) #16
          to label %281 unwind label %305

281:                                              ; preds = %279
  %282 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %247) #16
          to label %283 unwind label %307

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.51)
          to label %285 unwind label %307

285:                                              ; preds = %283
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %35) #15
  invoke void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160) %35)
          to label %286 unwind label %309

286:                                              ; preds = %285
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %36) #15
  invoke void @_ZN6ConfigC1Ev(ptr noundef nonnull align 4 dereferenceable(160) %36)
          to label %287 unwind label %311

287:                                              ; preds = %286
  %288 = load i32, ptr %13, align 4, !tbaa !5
  %289 = getelementptr inbounds i8, ptr %35, i64 28
  store i32 %288, ptr %289, align 4, !tbaa !25
  %290 = load i32, ptr %15, align 4, !tbaa !5
  %291 = getelementptr inbounds i8, ptr %35, i64 104
  %292 = getelementptr inbounds i8, ptr %35, i64 112
  store i32 %290, ptr %292, align 8, !tbaa !39
  %293 = load i32, ptr %17, align 4, !tbaa !5
  %294 = getelementptr inbounds i8, ptr %35, i64 116
  store i32 %293, ptr %294, align 4, !tbaa !40
  %295 = getelementptr inbounds i8, ptr %35, i64 64
  %296 = getelementptr inbounds i8, ptr %35, i64 68
  store i32 1, ptr %296, align 4, !tbaa !41
  store i32 2, ptr %291, align 8, !tbaa !42
  store i32 0, ptr %35, align 8, !tbaa !43
  %297 = load i32, ptr %8, align 4, !tbaa !5
  %298 = icmp sgt i32 %297, 1
  br i1 %298, label %299, label %318

299:                                              ; preds = %287
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #15
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #15
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.52, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %300 unwind label %313

300:                                              ; preds = %299
  %301 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %37)
          to label %302 unwind label %315

302:                                              ; preds = %300
  store i32 %301, ptr %295, align 8, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #15
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #15
  br label %327

303:                                              ; preds = %._crit_edge698
  %304 = landingpad { ptr, i32 }
          cleanup
  br label %1485

305:                                              ; preds = %279
  %306 = landingpad { ptr, i32 }
          cleanup
  br label %1485

307:                                              ; preds = %283, %281
  %308 = landingpad { ptr, i32 }
          cleanup
  br label %1485

309:                                              ; preds = %285
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %1484

311:                                              ; preds = %286
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %1483

313:                                              ; preds = %299
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %317

315:                                              ; preds = %300
  %316 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #15
  br label %317

317:                                              ; preds = %315, %313
  %.pn575 = phi { ptr, i32 } [ %316, %315 ], [ %314, %313 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #15
  br label %1483

318:                                              ; preds = %287
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #15
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #15
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %319 unwind label %322

319:                                              ; preds = %318
  %320 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %39)
          to label %321 unwind label %324

321:                                              ; preds = %319
  store i32 %320, ptr %295, align 8, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #15
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #15
  br label %327

322:                                              ; preds = %318
  %323 = landingpad { ptr, i32 }
          cleanup
  br label %326

324:                                              ; preds = %319
  %325 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #15
  br label %326

326:                                              ; preds = %324, %322
  %.pn = phi { ptr, i32 } [ %325, %324 ], [ %323, %322 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #15
  br label %1483

327:                                              ; preds = %321, %302
  %328 = invoke noalias noundef nonnull dereferenceable(320) ptr @_Znwm(i64 noundef 320) #16
          to label %329 unwind label %347

329:                                              ; preds = %327
  invoke void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316) %328, ptr noundef nonnull byval(%class.Config) align 8 %35)
          to label %330 unwind label %349

330:                                              ; preds = %329
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %331 unwind label %347

331:                                              ; preds = %330
  %332 = load i32, ptr %4, align 4, !tbaa !5
  %333 = load i32, ptr %3, align 4, !tbaa !5
  %334 = load i32, ptr %9, align 4, !tbaa !5
  %335 = load i32, ptr %8, align 4, !tbaa !5
  invoke void @_ZN6Stonne15loadSparseDenseENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_PjS7_S6_jj(ptr noundef nonnull align 8 dereferenceable(316) %328, ptr noundef nonnull %41, i32 noundef %332, i32 noundef %333, i32 noundef %333, ptr noundef nonnull %228, ptr noundef nonnull %248, ptr noundef nonnull %129, ptr noundef nonnull %164, ptr noundef nonnull %282, i32 noundef %334, i32 noundef %335)
          to label %336 unwind label %351

336:                                              ; preds = %331
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #15
  invoke void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316) %328, ptr noundef nonnull %262)
          to label %337 unwind label %347

337:                                              ; preds = %336
  invoke void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316) %328)
          to label %338 unwind label %347

338:                                              ; preds = %337
  %339 = call noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316) %328)
  %340 = 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 %341 unwind label %353

341:                                              ; preds = %338
  %342 = load i32, ptr %4, align 4, !tbaa !5
  %343 = load i32, ptr %3, align 4, !tbaa !5
  %344 = mul nsw i32 %342, %343
  %.not = icmp sgt i32 %342, %344
  br i1 %.not, label %._crit_edge702, label %.lr.ph701.preheader

.lr.ph701.preheader:                              ; preds = %341
  %345 = add nsw i32 %342, -1
  br label %.lr.ph701

._crit_edge702:                                   ; preds = %361, %341
  %346 = 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 %369 unwind label %353

347:                                              ; preds = %337, %336, %330, %327
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %1483

349:                                              ; preds = %329
  %350 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %328, i64 noundef 320) #17
  br label %1483

351:                                              ; preds = %331
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #15
  br label %1483

353:                                              ; preds = %._crit_edge702, %338
  %354 = landingpad { ptr, i32 }
          cleanup
  br label %1483

.lr.ph701:                                        ; preds = %.lr.ph701.preheader, %361
  %.0535699 = phi i32 [ %363, %361 ], [ %345, %.lr.ph701.preheader ]
  %355 = sext i32 %.0535699 to i64
  %356 = getelementptr inbounds i32, ptr %262, i64 %355
  %357 = load i32, ptr %356, align 4, !tbaa !5
  %358 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %357)
          to label %359 unwind label %367

359:                                              ; preds = %.lr.ph701
  %360 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %358, ptr noundef nonnull @.str.44)
          to label %361 unwind label %367

361:                                              ; preds = %359
  %362 = load i32, ptr %4, align 4, !tbaa !5
  %363 = add nsw i32 %362, %.0535699
  %364 = load i32, ptr %3, align 4, !tbaa !5
  %365 = mul nsw i32 %362, %364
  %366 = icmp slt i32 %363, %365
  br i1 %366, label %.lr.ph701, label %._crit_edge702, !llvm.loop !45

367:                                              ; preds = %359, %.lr.ph701
  %368 = landingpad { ptr, i32 }
          cleanup
  br label %1483

369:                                              ; preds = %._crit_edge702
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %42) #15
  invoke void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.MSNetworkStats) align 8 %42, ptr noundef nonnull align 8 dereferenceable(316) %328)
          to label %370 unwind label %427

370:                                              ; preds = %369
  %371 = 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.56)
          to label %372 unwind label %427

372:                                              ; preds = %370
  %373 = 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.57)
          to label %374 unwind label %427

374:                                              ; preds = %372
  %375 = getelementptr inbounds i8, ptr %42, i64 16
  %376 = load i32, ptr %375, align 8, !tbaa !46
  %377 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %373, i32 noundef %376)
          to label %378 unwind label %427

378:                                              ; preds = %374
  %379 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %377, ptr noundef nonnull @.str.43)
          to label %380 unwind label %427

380:                                              ; preds = %378
  %381 = 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.58)
          to label %382 unwind label %427

382:                                              ; preds = %380
  %383 = getelementptr inbounds i8, ptr %42, i64 20
  %384 = load i32, ptr %383, align 4, !tbaa !49
  %385 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %381, i32 noundef %384)
          to label %386 unwind label %427

386:                                              ; preds = %382
  %387 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %385, ptr noundef nonnull @.str.43)
          to label %388 unwind label %427

388:                                              ; preds = %386
  %389 = 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.59)
          to label %390 unwind label %427

390:                                              ; preds = %388
  %391 = getelementptr inbounds i8, ptr %42, i64 24
  %392 = load i32, ptr %391, align 8, !tbaa !50
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %389, i32 noundef %392)
          to label %394 unwind label %427

394:                                              ; preds = %390
  %395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %393, ptr noundef nonnull @.str.43)
          to label %396 unwind label %427

396:                                              ; preds = %394
  %397 = 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.60)
          to label %398 unwind label %427

398:                                              ; preds = %396
  %399 = getelementptr inbounds i8, ptr %42, i64 28
  %400 = load i32, ptr %399, align 4, !tbaa !51
  %401 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %397, i32 noundef %400)
          to label %402 unwind label %427

402:                                              ; preds = %398
  %403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %401, ptr noundef nonnull @.str.43)
          to label %404 unwind label %427

404:                                              ; preds = %402
  %405 = 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.61)
          to label %406 unwind label %427

406:                                              ; preds = %404
  %407 = getelementptr inbounds i8, ptr %42, i64 32
  %408 = load i32, ptr %407, align 8, !tbaa !52
  %409 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %405, i32 noundef %408)
          to label %410 unwind label %427

410:                                              ; preds = %406
  %411 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %409, ptr noundef nonnull @.str.43)
          to label %412 unwind label %427

412:                                              ; preds = %410
  %413 = 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.62)
          to label %414 unwind label %427

414:                                              ; preds = %412
  %415 = getelementptr inbounds i8, ptr %42, i64 36
  %416 = load i32, ptr %415, align 4, !tbaa !53
  %417 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %413, i32 noundef %416)
          to label %418 unwind label %427

418:                                              ; preds = %414
  %419 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %417, ptr noundef nonnull @.str.43)
          to label %420 unwind label %427

420:                                              ; preds = %418
  %421 = 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.63)
          to label %422 unwind label %427

422:                                              ; preds = %420
  %423 = load i32, ptr %8, align 4, !tbaa !5
  %424 = icmp eq i32 %423, 1
  br i1 %424, label %425, label %429

425:                                              ; preds = %422
  %426 = 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.64)
          to label %441 unwind label %427

427:                                              ; preds = %425, %420, %418, %414, %412, %410, %406, %404, %402, %398, %396, %394, %390, %388, %386, %382, %380, %378, %374, %372, %370, %369
  %428 = landingpad { ptr, i32 }
          cleanup
  br label %1482

429:                                              ; preds = %422
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %43) #15
  invoke void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.ASNetworkStats) align 8 %43, ptr noundef nonnull align 8 dereferenceable(316) %328)
          to label %430 unwind label %439

430:                                              ; preds = %429
  %431 = 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.65)
          to label %432 unwind label %439

432:                                              ; preds = %430
  %433 = getelementptr inbounds i8, ptr %43, i64 28
  %434 = load i32, ptr %433, align 4, !tbaa !54
  %435 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %431, i32 noundef %434)
          to label %436 unwind label %439

436:                                              ; preds = %432
  %437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %435, ptr noundef nonnull @.str.43)
          to label %438 unwind label %439

438:                                              ; preds = %436
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %43) #15
  br label %441

439:                                              ; preds = %436, %432, %430, %429
  %440 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %43) #15
  br label %1482

441:                                              ; preds = %425, %438
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #15
  invoke void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.DSNetworkStats) align 8 %44, ptr noundef nonnull align 8 dereferenceable(316) %328)
          to label %442 unwind label %502

442:                                              ; preds = %441
  %443 = 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.66)
          to label %444 unwind label %502

444:                                              ; preds = %442
  %445 = 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.65)
          to label %446 unwind label %502

446:                                              ; preds = %444
  %447 = getelementptr inbounds i8, ptr %44, i64 24
  %448 = load i32, ptr %447, align 8, !tbaa !56
  %449 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %445, i32 noundef %448)
          to label %450 unwind label %502

450:                                              ; preds = %446
  %451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %449, ptr noundef nonnull @.str.43)
          to label %452 unwind label %502

452:                                              ; preds = %450
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %45) #15
  invoke void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind nonnull writable sret(%class.SDMemoryStats) align 8 %45, ptr noundef nonnull align 8 dereferenceable(316) %328)
          to label %453 unwind label %504

453:                                              ; preds = %452
  %454 = 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.67)
          to label %455 unwind label %506

455:                                              ; preds = %453
  %456 = 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.68)
          to label %457 unwind label %506

457:                                              ; preds = %455
  %458 = getelementptr inbounds i8, ptr %45, i64 12
  %459 = load i32, ptr %458, align 4, !tbaa !58
  %460 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %456, i32 noundef %459)
          to label %461 unwind label %506

461:                                              ; preds = %457
  %462 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %460, ptr noundef nonnull @.str.43)
          to label %463 unwind label %506

463:                                              ; preds = %461
  %464 = 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.69)
          to label %465 unwind label %506

465:                                              ; preds = %463
  %466 = getelementptr inbounds i8, ptr %45, i64 16
  %467 = load i32, ptr %466, align 8, !tbaa !66
  %468 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %464, i32 noundef %467)
          to label %469 unwind label %506

469:                                              ; preds = %465
  %470 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %468, ptr noundef nonnull @.str.43)
          to label %471 unwind label %506

471:                                              ; preds = %469
  %472 = 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.70)
          to label %473 unwind label %506

473:                                              ; preds = %471
  %474 = getelementptr inbounds i8, ptr %45, i64 20
  %475 = load i32, ptr %474, align 4, !tbaa !67
  %476 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %472, i32 noundef %475)
          to label %477 unwind label %506

477:                                              ; preds = %473
  %478 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %476, ptr noundef nonnull @.str.43)
          to label %479 unwind label %506

479:                                              ; preds = %477
  %480 = 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.71)
          to label %481 unwind label %506

481:                                              ; preds = %479
  %482 = getelementptr inbounds i8, ptr %45, i64 24
  %483 = load i32, ptr %482, align 8, !tbaa !68
  %484 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %480, i32 noundef %483)
          to label %485 unwind label %506

485:                                              ; preds = %481
  %486 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %484, ptr noundef nonnull @.str.43)
          to label %487 unwind label %506

487:                                              ; preds = %485
  %488 = 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.72)
          to label %489 unwind label %506

489:                                              ; preds = %487
  %490 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %488, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.preheader669 unwind label %506

.preheader669:                                    ; preds = %489
  %491 = load i32, ptr %3, align 4, !tbaa !5
  %492 = icmp sgt i32 %491, 0
  br i1 %492, label %.preheader668.lr.ph, label %._crit_edge718

.preheader668.lr.ph:                              ; preds = %.preheader669
  %493 = load i32, ptr %4, align 4, !tbaa !5
  %494 = icmp sgt i32 %493, 0
  br i1 %494, label %.preheader668.us.preheader, label %.lr.ph713

.preheader668.us.preheader:                       ; preds = %.preheader668.lr.ph
  %495 = zext nneg i32 %493 to i64
  %496 = zext nneg i32 %491 to i64
  %497 = mul nuw nsw i64 %495, %496
  %498 = shl nuw i64 %497, 2
  call void @llvm.memset.p0.i64(ptr nonnull align 4 %280, i8 0, i64 %498, i1 false), !tbaa !15
  %.pr900 = load i32, ptr %4, align 4, !tbaa !5
  br label %.lr.ph713

.lr.ph713:                                        ; preds = %.preheader668.lr.ph, %.preheader668.us.preheader
  %499 = phi i32 [ %493, %.preheader668.lr.ph ], [ %.pr900, %.preheader668.us.preheader ]
  %500 = icmp sgt i32 %499, 0
  %501 = zext i32 %499 to i64
  %wide.trip.count850 = zext nneg i32 %491 to i64
  %.pre = load i32, ptr %164, align 4, !tbaa !5
  br label %509

502:                                              ; preds = %450, %446, %444, %442, %441
  %503 = landingpad { ptr, i32 }
          cleanup
  br label %1481

504:                                              ; preds = %452
  %505 = landingpad { ptr, i32 }
          cleanup
  br label %1480

506:                                              ; preds = %626, %624, %619, %617, %._crit_edge718, %489, %487, %485, %481, %479, %477, %473, %471, %469, %465, %463, %461, %457, %455, %453
  %507 = landingpad { ptr, i32 }
          cleanup
  br label %1479

.loopexit:                                        ; preds = %._crit_edge709.us, %509
  %exitcond851.not = icmp eq i64 %indvars.iv.next848, %wide.trip.count850
  br i1 %exitcond851.not, label %.preheader665, label %509, !llvm.loop !69

.preheader665:                                    ; preds = %.loopexit
  br i1 %492, label %.preheader664.lr.ph, label %._crit_edge718

.preheader664.lr.ph:                              ; preds = %.preheader665
  %508 = icmp eq ptr %235, null
  %.pre898 = load i32, ptr %4, align 4, !tbaa !5
  br label %.preheader664

509:                                              ; preds = %.lr.ph713, %.loopexit
  %510 = phi i32 [ %.pre, %.lr.ph713 ], [ %512, %.loopexit ]
  %indvars.iv847 = phi i64 [ 0, %.lr.ph713 ], [ %indvars.iv.next848, %.loopexit ]
  %indvars.iv.next848 = add nuw nsw i64 %indvars.iv847, 1
  %511 = getelementptr inbounds i32, ptr %164, i64 %indvars.iv.next848
  %512 = load i32, ptr %511, align 4, !tbaa !5
  %513 = sub i32 %512, %510
  %514 = icmp sgt i32 %513, 0
  %or.cond978 = select i1 %500, i1 %514, i1 false
  br i1 %or.cond978, label %.preheader666.us.preheader, label %.loopexit

.preheader666.us.preheader:                       ; preds = %509
  %515 = mul nuw nsw i64 %indvars.iv847, %501
  %516 = sext i32 %510 to i64
  %517 = getelementptr inbounds float, ptr %280, i64 %515
  %wide.trip.count840 = zext nneg i32 %513 to i64
  %xtraiter991 = and i64 %wide.trip.count840, 1
  %518 = icmp eq i32 %513, 1
  %unroll_iter = and i64 %wide.trip.count840, 2147483646
  %lcmp.mod992.not = icmp eq i64 %xtraiter991, 0
  br label %.preheader666.us

.preheader666.us:                                 ; preds = %.preheader666.us.preheader, %._crit_edge709.us
  %indvars.iv842 = phi i64 [ 0, %.preheader666.us.preheader ], [ %indvars.iv.next843, %._crit_edge709.us ]
  %519 = getelementptr inbounds float, ptr %517, i64 %indvars.iv842
  %.promoted.us = load float, ptr %519, align 4, !tbaa !15
  %520 = trunc nuw nsw i64 %indvars.iv842 to i32
  br i1 %518, label %._crit_edge709.us.unr-lcssa, label %.preheader666.us.new

.preheader666.us.new:                             ; preds = %.preheader666.us, %.preheader666.us.new
  %indvars.iv837 = phi i64 [ %indvars.iv.next838.1, %.preheader666.us.new ], [ 0, %.preheader666.us ]
  %521 = phi float [ %543, %.preheader666.us.new ], [ %.promoted.us, %.preheader666.us ]
  %niter = phi i64 [ %niter.next.1, %.preheader666.us.new ], [ 0, %.preheader666.us ]
  %522 = add nsw i64 %indvars.iv837, %516
  %523 = getelementptr inbounds float, ptr %228, i64 %522
  %524 = load float, ptr %523, align 4, !tbaa !15
  %525 = getelementptr inbounds i32, ptr %129, i64 %522
  %526 = load i32, ptr %525, align 4, !tbaa !5
  %527 = mul nsw i32 %526, %499
  %528 = add nsw i32 %527, %520
  %529 = sext i32 %528 to i64
  %530 = getelementptr inbounds float, ptr %248, i64 %529
  %531 = load float, ptr %530, align 4, !tbaa !15
  %532 = call float @llvm.fmuladd.f32(float %524, float %531, float %521)
  %indvars.iv.next838 = or disjoint i64 %indvars.iv837, 1
  %533 = add nsw i64 %indvars.iv.next838, %516
  %534 = getelementptr inbounds float, ptr %228, i64 %533
  %535 = load float, ptr %534, align 4, !tbaa !15
  %536 = getelementptr inbounds i32, ptr %129, i64 %533
  %537 = load i32, ptr %536, align 4, !tbaa !5
  %538 = mul nsw i32 %537, %499
  %539 = add nsw i32 %538, %520
  %540 = sext i32 %539 to i64
  %541 = getelementptr inbounds float, ptr %248, i64 %540
  %542 = load float, ptr %541, align 4, !tbaa !15
  %543 = call float @llvm.fmuladd.f32(float %535, float %542, float %532)
  %indvars.iv.next838.1 = add nuw nsw i64 %indvars.iv837, 2
  %niter.next.1 = add i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %._crit_edge709.us.unr-lcssa, label %.preheader666.us.new, !llvm.loop !70

._crit_edge709.us.unr-lcssa:                      ; preds = %.preheader666.us.new, %.preheader666.us
  %.lcssa988.ph = phi float [ poison, %.preheader666.us ], [ %543, %.preheader666.us.new ]
  %indvars.iv837.unr = phi i64 [ 0, %.preheader666.us ], [ %indvars.iv.next838.1, %.preheader666.us.new ]
  %.unr = phi float [ %.promoted.us, %.preheader666.us ], [ %543, %.preheader666.us.new ]
  br i1 %lcmp.mod992.not, label %._crit_edge709.us, label %._crit_edge709.us.epilog-lcssa

._crit_edge709.us.epilog-lcssa:                   ; preds = %._crit_edge709.us.unr-lcssa
  %544 = add nsw i64 %indvars.iv837.unr, %516
  %545 = getelementptr inbounds float, ptr %228, i64 %544
  %546 = load float, ptr %545, align 4, !tbaa !15
  %547 = getelementptr inbounds i32, ptr %129, i64 %544
  %548 = load i32, ptr %547, align 4, !tbaa !5
  %549 = mul nsw i32 %548, %499
  %550 = add nsw i32 %549, %520
  %551 = sext i32 %550 to i64
  %552 = getelementptr inbounds float, ptr %248, i64 %551
  %553 = load float, ptr %552, align 4, !tbaa !15
  %554 = call float @llvm.fmuladd.f32(float %546, float %553, float %.unr)
  br label %._crit_edge709.us

._crit_edge709.us:                                ; preds = %._crit_edge709.us.unr-lcssa, %._crit_edge709.us.epilog-lcssa
  %.lcssa988 = phi float [ %.lcssa988.ph, %._crit_edge709.us.unr-lcssa ], [ %554, %._crit_edge709.us.epilog-lcssa ]
  store float %.lcssa988, ptr %519, align 4, !tbaa !15
  %indvars.iv.next843 = add nuw nsw i64 %indvars.iv842, 1
  %exitcond846.not = icmp eq i64 %indvars.iv.next843, %501
  br i1 %exitcond846.not, label %.loopexit, label %.preheader666.us, !llvm.loop !71

.preheader664:                                    ; preds = %.preheader664.lr.ph, %._crit_edge716
  %555 = phi i32 [ %491, %.preheader664.lr.ph ], [ %559, %._crit_edge716 ]
  %556 = phi i32 [ %.pre898, %.preheader664.lr.ph ], [ %560, %._crit_edge716 ]
  %.0543717 = phi i32 [ 0, %.preheader664.lr.ph ], [ %561, %._crit_edge716 ]
  %557 = icmp sgt i32 %556, 0
  br i1 %557, label %.lr.ph715, label %._crit_edge716

._crit_edge718:                                   ; preds = %._crit_edge716, %.preheader669, %.preheader665
  %558 = 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.78)
          to label %617 unwind label %506

._crit_edge716.loopexit:                          ; preds = %613
  %.pre899 = load i32, ptr %3, align 4, !tbaa !5
  br label %._crit_edge716

._crit_edge716:                                   ; preds = %._crit_edge716.loopexit, %.preheader664
  %559 = phi i32 [ %.pre899, %._crit_edge716.loopexit ], [ %555, %.preheader664 ]
  %560 = phi i32 [ %615, %._crit_edge716.loopexit ], [ %556, %.preheader664 ]
  %561 = add nuw nsw i32 %.0543717, 1
  %562 = icmp slt i32 %561, %559
  br i1 %562, label %.preheader664, label %._crit_edge718, !llvm.loop !72

.lr.ph715:                                        ; preds = %.preheader664, %613
  %563 = phi i32 [ %615, %613 ], [ %556, %.preheader664 ]
  %.0544714 = phi i32 [ %614, %613 ], [ 0, %.preheader664 ]
  %564 = mul nsw i32 %563, %.0543717
  %565 = add nsw i32 %564, %.0544714
  %566 = sext i32 %565 to i64
  %567 = getelementptr inbounds float, ptr %280, i64 %566
  %568 = load float, ptr %567, align 4, !tbaa !15
  %569 = getelementptr inbounds float, ptr %282, i64 %566
  %570 = load float, ptr %569, align 4, !tbaa !15
  %571 = fsub float %568, %570
  %572 = call noundef float @_ZSt4fabsf(float noundef %571)
  %573 = fcmp ogt float %572, 0x3FA99999A0000000
  br i1 %573, label %574, label %613

574:                                              ; preds = %.lr.ph715
  %575 = 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.73)
          to label %576 unwind label %611

576:                                              ; preds = %574
  %577 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %575, i32 noundef %.0543717)
          to label %578 unwind label %611

578:                                              ; preds = %576
  %579 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %577, ptr noundef nonnull @.str.74)
          to label %580 unwind label %611

580:                                              ; preds = %578
  %581 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %579, i32 noundef %.0544714)
          to label %582 unwind label %611

582:                                              ; preds = %580
  %583 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %581, ptr noundef nonnull @.str.75)
          to label %584 unwind label %611

584:                                              ; preds = %582
  %585 = load i32, ptr %4, align 4, !tbaa !5
  %586 = mul nsw i32 %585, %.0543717
  %587 = add nsw i32 %586, %.0544714
  %588 = sext i32 %587 to i64
  %589 = getelementptr inbounds float, ptr %282, i64 %588
  %590 = load float, ptr %589, align 4, !tbaa !15
  %591 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %583, float noundef %590)
          to label %592 unwind label %611

592:                                              ; preds = %584
  %593 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %591, ptr noundef nonnull @.str.76)
          to label %594 unwind label %611

594:                                              ; preds = %592
  %595 = load i32, ptr %4, align 4, !tbaa !5
  %596 = mul nsw i32 %595, %.0543717
  %597 = add nsw i32 %596, %.0544714
  %598 = sext i32 %597 to i64
  %599 = getelementptr inbounds float, ptr %280, i64 %598
  %600 = load float, ptr %599, align 4, !tbaa !15
  %601 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %593, float noundef %600)
          to label %602 unwind label %611

602:                                              ; preds = %594
  %603 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %601, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %604 unwind label %611

604:                                              ; preds = %602
  %605 = 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.77)
          to label %606 unwind label %611

606:                                              ; preds = %604
  %607 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %605, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %608 unwind label %611

608:                                              ; preds = %606
  call void @_ZdaPv(ptr noundef nonnull %248) #17
  br i1 %508, label %610, label %609

609:                                              ; preds = %608
  call void @_ZdaPv(ptr noundef nonnull %235) #17
  br label %610

610:                                              ; preds = %608, %609
  call void @_ZdaPv(ptr noundef nonnull %129) #17
  call void @_ZdaPv(ptr noundef nonnull %164) #17
  call void @_ZdaPv(ptr noundef nonnull %228) #17
  call void @_ZdaPv(ptr noundef nonnull %280) #17
  call void @_ZdaPv(ptr noundef nonnull %282) #17
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %328) #15
  call void @_ZdlPvm(ptr noundef nonnull %328, i64 noundef 320) #17
  br label %613

611:                                              ; preds = %606, %604, %602, %594, %592, %584, %582, %580, %578, %576, %574
  %612 = landingpad { ptr, i32 }
          cleanup
  br label %1479

613:                                              ; preds = %610, %.lr.ph715
  %614 = add nuw nsw i32 %.0544714, 1
  %615 = load i32, ptr %4, align 4, !tbaa !5
  %616 = icmp slt i32 %614, %615
  br i1 %616, label %.lr.ph715, label %._crit_edge716.loopexit, !llvm.loop !73

617:                                              ; preds = %._crit_edge718
  %618 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %558, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %619 unwind label %506

619:                                              ; preds = %617
  %620 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %618, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %621 unwind label %506

621:                                              ; preds = %619
  %622 = icmp eq ptr %235, null
  br i1 %622, label %624, label %623

623:                                              ; preds = %621
  call void @_ZdaPv(ptr noundef nonnull %235) #17
  br label %624

624:                                              ; preds = %621, %623
  call void @_ZdaPv(ptr noundef nonnull %248) #17
  call void @_ZdaPv(ptr noundef nonnull %129) #17
  call void @_ZdaPv(ptr noundef nonnull %164) #17
  call void @_ZdaPv(ptr noundef nonnull %228) #17
  call void @_ZdaPv(ptr noundef nonnull %280) #17
  call void @_ZdaPv(ptr noundef nonnull %282) #17
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %328) #15
  call void @_ZdlPvm(ptr noundef nonnull %328, i64 noundef 320) #17
  %625 = 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.79)
          to label %626 unwind label %506

626:                                              ; preds = %624
  %627 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.80)
          to label %628 unwind label %506

628:                                              ; preds = %626
  %629 = load i32, ptr %3, align 4, !tbaa !5
  %630 = load i32, ptr %4, align 4, !tbaa !5
  %631 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %629, i32 noundef %630, float noundef 0.000000e+00)
          to label %632 unwind label %657

632:                                              ; preds = %628
  %633 = ptrtoint ptr %631 to i64
  %634 = load i32, ptr %3, align 4, !tbaa !5
  %635 = load i32, ptr %4, align 4, !tbaa !5
  %636 = mul nsw i32 %635, %634
  %637 = sext i32 %636 to i64
  %638 = icmp slt i32 %636, 0
  %639 = shl nsw i64 %637, 2
  %640 = select i1 %638, i64 -1, i64 %639
  %641 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %640) #16
          to label %.preheader663 unwind label %659

.preheader663:                                    ; preds = %632
  %642 = icmp sgt i32 %636, 0
  br i1 %642, label %.lr.ph720.preheader, label %._crit_edge721

.lr.ph720.preheader:                              ; preds = %.preheader663
  %643 = ptrtoint ptr %641 to i64
  %wide.trip.count855 = zext nneg i32 %636 to i64
  %min.iters.check938 = icmp ult i32 %636, 8
  %644 = sub i64 %643, %633
  %diff.check935 = icmp ult i64 %644, 32
  %or.cond979 = or i1 %min.iters.check938, %diff.check935
  br i1 %or.cond979, label %.lr.ph720.preheader986, label %vector.ph939

.lr.ph720.preheader986:                           ; preds = %middle.block936, %.lr.ph720.preheader
  %indvars.iv852.ph = phi i64 [ 0, %.lr.ph720.preheader ], [ %n.vec941, %middle.block936 ]
  %xtraiter994 = and i64 %wide.trip.count855, 3
  %lcmp.mod995.not = icmp eq i64 %xtraiter994, 0
  br i1 %lcmp.mod995.not, label %.lr.ph720.prol.loopexit, label %.lr.ph720.prol

.lr.ph720.prol:                                   ; preds = %.lr.ph720.preheader986, %.lr.ph720.prol
  %indvars.iv852.prol = phi i64 [ %indvars.iv.next853.prol, %.lr.ph720.prol ], [ %indvars.iv852.ph, %.lr.ph720.preheader986 ]
  %prol.iter996 = phi i64 [ %prol.iter996.next, %.lr.ph720.prol ], [ 0, %.lr.ph720.preheader986 ]
  %645 = getelementptr inbounds float, ptr %631, i64 %indvars.iv852.prol
  %646 = load float, ptr %645, align 4, !tbaa !15
  %647 = getelementptr inbounds float, ptr %641, i64 %indvars.iv852.prol
  store float %646, ptr %647, align 4, !tbaa !15
  %indvars.iv.next853.prol = add nuw nsw i64 %indvars.iv852.prol, 1
  %prol.iter996.next = add i64 %prol.iter996, 1
  %prol.iter996.cmp.not = icmp eq i64 %prol.iter996.next, %xtraiter994
  br i1 %prol.iter996.cmp.not, label %.lr.ph720.prol.loopexit, label %.lr.ph720.prol, !llvm.loop !74

.lr.ph720.prol.loopexit:                          ; preds = %.lr.ph720.prol, %.lr.ph720.preheader986
  %indvars.iv852.unr = phi i64 [ %indvars.iv852.ph, %.lr.ph720.preheader986 ], [ %indvars.iv.next853.prol, %.lr.ph720.prol ]
  %648 = sub nsw i64 %indvars.iv852.ph, %wide.trip.count855
  %649 = icmp ugt i64 %648, -4
  br i1 %649, label %._crit_edge721, label %.lr.ph720

vector.ph939:                                     ; preds = %.lr.ph720.preheader
  %n.vec941 = and i64 %wide.trip.count855, 2147483640
  br label %vector.body943

vector.body943:                                   ; preds = %vector.body943, %vector.ph939
  %index944 = phi i64 [ 0, %vector.ph939 ], [ %index.next947, %vector.body943 ]
  %650 = getelementptr inbounds float, ptr %631, i64 %index944
  %651 = getelementptr inbounds i8, ptr %650, i64 16
  %wide.load945 = load <4 x float>, ptr %650, align 4, !tbaa !15
  %wide.load946 = load <4 x float>, ptr %651, align 4, !tbaa !15
  %652 = getelementptr inbounds float, ptr %641, i64 %index944
  %653 = getelementptr inbounds i8, ptr %652, i64 16
  store <4 x float> %wide.load945, ptr %652, align 4, !tbaa !15
  store <4 x float> %wide.load946, ptr %653, align 4, !tbaa !15
  %index.next947 = add nuw i64 %index944, 8
  %654 = icmp eq i64 %index.next947, %n.vec941
  br i1 %654, label %middle.block936, label %vector.body943, !llvm.loop !75

middle.block936:                                  ; preds = %vector.body943
  %cmp.n948 = icmp eq i64 %n.vec941, %wide.trip.count855
  br i1 %cmp.n948, label %._crit_edge721, label %.lr.ph720.preheader986

._crit_edge721:                                   ; preds = %.lr.ph720.prol.loopexit, %.lr.ph720, %middle.block936, %.preheader663
  %655 = load i32, ptr %5, align 4, !tbaa !5
  %656 = invoke noundef ptr @_Z19generateMatrixDensejjf(i32 noundef %635, i32 noundef %655, float noundef 0.000000e+00)
          to label %673 unwind label %703

657:                                              ; preds = %628
  %658 = landingpad { ptr, i32 }
          cleanup
  br label %1479

659:                                              ; preds = %632
  %660 = landingpad { ptr, i32 }
          cleanup
  br label %1479

.lr.ph720:                                        ; preds = %.lr.ph720.prol.loopexit, %.lr.ph720
  %indvars.iv852 = phi i64 [ %indvars.iv.next853.3, %.lr.ph720 ], [ %indvars.iv852.unr, %.lr.ph720.prol.loopexit ]
  %661 = getelementptr inbounds float, ptr %631, i64 %indvars.iv852
  %662 = load float, ptr %661, align 4, !tbaa !15
  %663 = getelementptr inbounds float, ptr %641, i64 %indvars.iv852
  store float %662, ptr %663, align 4, !tbaa !15
  %indvars.iv.next853 = add nuw nsw i64 %indvars.iv852, 1
  %664 = getelementptr inbounds float, ptr %631, i64 %indvars.iv.next853
  %665 = load float, ptr %664, align 4, !tbaa !15
  %666 = getelementptr inbounds float, ptr %641, i64 %indvars.iv.next853
  store float %665, ptr %666, align 4, !tbaa !15
  %indvars.iv.next853.1 = add nuw nsw i64 %indvars.iv852, 2
  %667 = getelementptr inbounds float, ptr %631, i64 %indvars.iv.next853.1
  %668 = load float, ptr %667, align 4, !tbaa !15
  %669 = getelementptr inbounds float, ptr %641, i64 %indvars.iv.next853.1
  store float %668, ptr %669, align 4, !tbaa !15
  %indvars.iv.next853.2 = add nuw nsw i64 %indvars.iv852, 3
  %670 = getelementptr inbounds float, ptr %631, i64 %indvars.iv.next853.2
  %671 = load float, ptr %670, align 4, !tbaa !15
  %672 = getelementptr inbounds float, ptr %641, i64 %indvars.iv.next853.2
  store float %671, ptr %672, align 4, !tbaa !15
  %indvars.iv.next853.3 = add nuw nsw i64 %indvars.iv852, 4
  %exitcond856.not.3 = icmp eq i64 %indvars.iv.next853.3, %wide.trip.count855
  br i1 %exitcond856.not.3, label %._crit_edge721, label %.lr.ph720, !llvm.loop !76

673:                                              ; preds = %._crit_edge721
  %674 = ptrtoint ptr %656 to i64
  %675 = load i32, ptr %4, align 4, !tbaa !5
  %676 = load i32, ptr %5, align 4, !tbaa !5
  %677 = mul nsw i32 %676, %675
  %678 = sext i32 %677 to i64
  %679 = icmp slt i32 %677, 0
  %680 = shl nsw i64 %678, 2
  %681 = select i1 %679, i64 -1, i64 %680
  %682 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %681) #16
          to label %.preheader662 unwind label %705

.preheader662:                                    ; preds = %673
  %683 = icmp sgt i32 %677, 0
  br i1 %683, label %.lr.ph723.preheader, label %._crit_edge724

.lr.ph723.preheader:                              ; preds = %.preheader662
  %684 = ptrtoint ptr %682 to i64
  %wide.trip.count860 = zext nneg i32 %677 to i64
  %min.iters.check953 = icmp ult i32 %677, 8
  %685 = sub i64 %684, %674
  %diff.check950 = icmp ult i64 %685, 32
  %or.cond980 = or i1 %min.iters.check953, %diff.check950
  br i1 %or.cond980, label %.lr.ph723.preheader985, label %vector.ph954

.lr.ph723.preheader985:                           ; preds = %middle.block951, %.lr.ph723.preheader
  %indvars.iv857.ph = phi i64 [ 0, %.lr.ph723.preheader ], [ %n.vec956, %middle.block951 ]
  %xtraiter997 = and i64 %wide.trip.count860, 3
  %lcmp.mod998.not = icmp eq i64 %xtraiter997, 0
  br i1 %lcmp.mod998.not, label %.lr.ph723.prol.loopexit, label %.lr.ph723.prol

.lr.ph723.prol:                                   ; preds = %.lr.ph723.preheader985, %.lr.ph723.prol
  %indvars.iv857.prol = phi i64 [ %indvars.iv.next858.prol, %.lr.ph723.prol ], [ %indvars.iv857.ph, %.lr.ph723.preheader985 ]
  %prol.iter999 = phi i64 [ %prol.iter999.next, %.lr.ph723.prol ], [ 0, %.lr.ph723.preheader985 ]
  %686 = getelementptr inbounds float, ptr %656, i64 %indvars.iv857.prol
  %687 = load float, ptr %686, align 4, !tbaa !15
  %688 = getelementptr inbounds float, ptr %682, i64 %indvars.iv857.prol
  store float %687, ptr %688, align 4, !tbaa !15
  %indvars.iv.next858.prol = add nuw nsw i64 %indvars.iv857.prol, 1
  %prol.iter999.next = add i64 %prol.iter999, 1
  %prol.iter999.cmp.not = icmp eq i64 %prol.iter999.next, %xtraiter997
  br i1 %prol.iter999.cmp.not, label %.lr.ph723.prol.loopexit, label %.lr.ph723.prol, !llvm.loop !77

.lr.ph723.prol.loopexit:                          ; preds = %.lr.ph723.prol, %.lr.ph723.preheader985
  %indvars.iv857.unr = phi i64 [ %indvars.iv857.ph, %.lr.ph723.preheader985 ], [ %indvars.iv.next858.prol, %.lr.ph723.prol ]
  %689 = sub nsw i64 %indvars.iv857.ph, %wide.trip.count860
  %690 = icmp ugt i64 %689, -4
  br i1 %690, label %._crit_edge724, label %.lr.ph723

vector.ph954:                                     ; preds = %.lr.ph723.preheader
  %n.vec956 = and i64 %wide.trip.count860, 2147483640
  br label %vector.body958

vector.body958:                                   ; preds = %vector.body958, %vector.ph954
  %index959 = phi i64 [ 0, %vector.ph954 ], [ %index.next962, %vector.body958 ]
  %691 = getelementptr inbounds float, ptr %656, i64 %index959
  %692 = getelementptr inbounds i8, ptr %691, i64 16
  %wide.load960 = load <4 x float>, ptr %691, align 4, !tbaa !15
  %wide.load961 = load <4 x float>, ptr %692, align 4, !tbaa !15
  %693 = getelementptr inbounds float, ptr %682, i64 %index959
  %694 = getelementptr inbounds i8, ptr %693, i64 16
  store <4 x float> %wide.load960, ptr %693, align 4, !tbaa !15
  store <4 x float> %wide.load961, ptr %694, align 4, !tbaa !15
  %index.next962 = add nuw i64 %index959, 8
  %695 = icmp eq i64 %index.next962, %n.vec956
  br i1 %695, label %middle.block951, label %vector.body958, !llvm.loop !78

middle.block951:                                  ; preds = %vector.body958
  %cmp.n963 = icmp eq i64 %n.vec956, %wide.trip.count860
  br i1 %cmp.n963, label %._crit_edge724, label %.lr.ph723.preheader985

._crit_edge724:                                   ; preds = %.lr.ph723.prol.loopexit, %.lr.ph723, %middle.block951, %.preheader662
  %696 = load i32, ptr %3, align 4, !tbaa !5
  %697 = mul nsw i32 %696, %676
  %698 = sext i32 %697 to i64
  %699 = icmp slt i32 %697, 0
  %700 = shl nsw i64 %698, 2
  %701 = select i1 %699, i64 -1, i64 %700
  %702 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %701) #16
          to label %719 unwind label %739

703:                                              ; preds = %._crit_edge721
  %704 = landingpad { ptr, i32 }
          cleanup
  br label %1479

705:                                              ; preds = %673
  %706 = landingpad { ptr, i32 }
          cleanup
  br label %1479

.lr.ph723:                                        ; preds = %.lr.ph723.prol.loopexit, %.lr.ph723
  %indvars.iv857 = phi i64 [ %indvars.iv.next858.3, %.lr.ph723 ], [ %indvars.iv857.unr, %.lr.ph723.prol.loopexit ]
  %707 = getelementptr inbounds float, ptr %656, i64 %indvars.iv857
  %708 = load float, ptr %707, align 4, !tbaa !15
  %709 = getelementptr inbounds float, ptr %682, i64 %indvars.iv857
  store float %708, ptr %709, align 4, !tbaa !15
  %indvars.iv.next858 = add nuw nsw i64 %indvars.iv857, 1
  %710 = getelementptr inbounds float, ptr %656, i64 %indvars.iv.next858
  %711 = load float, ptr %710, align 4, !tbaa !15
  %712 = getelementptr inbounds float, ptr %682, i64 %indvars.iv.next858
  store float %711, ptr %712, align 4, !tbaa !15
  %indvars.iv.next858.1 = add nuw nsw i64 %indvars.iv857, 2
  %713 = getelementptr inbounds float, ptr %656, i64 %indvars.iv.next858.1
  %714 = load float, ptr %713, align 4, !tbaa !15
  %715 = getelementptr inbounds float, ptr %682, i64 %indvars.iv.next858.1
  store float %714, ptr %715, align 4, !tbaa !15
  %indvars.iv.next858.2 = add nuw nsw i64 %indvars.iv857, 3
  %716 = getelementptr inbounds float, ptr %656, i64 %indvars.iv.next858.2
  %717 = load float, ptr %716, align 4, !tbaa !15
  %718 = getelementptr inbounds float, ptr %682, i64 %indvars.iv.next858.2
  store float %717, ptr %718, align 4, !tbaa !15
  %indvars.iv.next858.3 = add nuw nsw i64 %indvars.iv857, 4
  %exitcond861.not.3 = icmp eq i64 %indvars.iv.next858.3, %wide.trip.count860
  br i1 %exitcond861.not.3, label %._crit_edge724, label %.lr.ph723, !llvm.loop !79

719:                                              ; preds = %._crit_edge724
  %720 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %701) #16
          to label %721 unwind label %741

721:                                              ; preds = %719
  %722 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %701) #16
          to label %723 unwind label %743

723:                                              ; preds = %721
  %724 = load i32, ptr %14, align 4, !tbaa !5
  %725 = getelementptr inbounds i8, ptr %36, i64 28
  store i32 %724, ptr %725, align 4, !tbaa !25
  %726 = load i32, ptr %16, align 4, !tbaa !5
  %727 = getelementptr inbounds i8, ptr %36, i64 104
  %728 = getelementptr inbounds i8, ptr %36, i64 112
  store i32 %726, ptr %728, align 8, !tbaa !39
  %729 = load i32, ptr %18, align 4, !tbaa !5
  %730 = getelementptr inbounds i8, ptr %36, i64 116
  store i32 %729, ptr %730, align 4, !tbaa !40
  %731 = getelementptr inbounds i8, ptr %36, i64 64
  %732 = getelementptr inbounds i8, ptr %36, i64 68
  store i32 1, ptr %732, align 4, !tbaa !41
  store i32 0, ptr %727, align 8, !tbaa !42
  store i32 0, ptr %36, align 8, !tbaa !43
  %733 = load i32, ptr %12, align 4, !tbaa !5
  %734 = icmp sgt i32 %733, 1
  br i1 %734, label %735, label %750

735:                                              ; preds = %723
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #15
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #15
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @.str.52, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %736 unwind label %745

736:                                              ; preds = %735
  %737 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %46)
          to label %738 unwind label %747

738:                                              ; preds = %736
  store i32 %737, ptr %731, align 8, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #15
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #15
  br label %759

739:                                              ; preds = %._crit_edge724
  %740 = landingpad { ptr, i32 }
          cleanup
  br label %1479

741:                                              ; preds = %719
  %742 = landingpad { ptr, i32 }
          cleanup
  br label %1479

743:                                              ; preds = %721
  %744 = landingpad { ptr, i32 }
          cleanup
  br label %1479

745:                                              ; preds = %735
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %749

747:                                              ; preds = %736
  %748 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #15
  br label %749

749:                                              ; preds = %747, %745
  %.pn579 = phi { ptr, i32 } [ %748, %747 ], [ %746, %745 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #15
  br label %1479

750:                                              ; preds = %723
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %49) #15
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #15
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %751 unwind label %754

751:                                              ; preds = %750
  %752 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %48)
          to label %753 unwind label %756

753:                                              ; preds = %751
  store i32 %752, ptr %731, align 8, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #15
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #15
  br label %759

754:                                              ; preds = %750
  %755 = landingpad { ptr, i32 }
          cleanup
  br label %758

756:                                              ; preds = %751
  %757 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #15
  br label %758

758:                                              ; preds = %756, %754
  %.pn577 = phi { ptr, i32 } [ %757, %756 ], [ %755, %754 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #15
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #15
  br label %1479

759:                                              ; preds = %753, %738
  %760 = invoke noalias noundef nonnull dereferenceable(320) ptr @_Znwm(i64 noundef 320) #16
          to label %761 unwind label %807

761:                                              ; preds = %759
  invoke void @_ZN6StonneC1E6Config(ptr noundef nonnull align 8 dereferenceable(316) %760, ptr noundef nonnull byval(%class.Config) align 8 %36)
          to label %762 unwind label %809

762:                                              ; preds = %761
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %763 unwind label %807

763:                                              ; preds = %762
  %764 = load i32, ptr %5, align 4, !tbaa !5
  %765 = load i32, ptr %4, align 4, !tbaa !5
  %766 = load i32, ptr %3, align 4, !tbaa !5
  invoke void @_ZN6Stonne13loadDenseGEMMENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjjjPfS6_S6_8Dataflow(ptr noundef nonnull align 8 dereferenceable(316) %760, ptr noundef nonnull %50, i32 noundef %764, i32 noundef %765, i32 noundef %766, ptr noundef nonnull %641, ptr noundef nonnull %682, ptr noundef nonnull %722, i32 noundef 0)
          to label %767 unwind label %811

767:                                              ; preds = %763
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #15
  invoke void @_ZN6Stonne12loadClockingEPj(ptr noundef nonnull align 8 dereferenceable(316) %760, ptr noundef nonnull %702)
          to label %768 unwind label %807

768:                                              ; preds = %767
  %769 = load i32, ptr %11, align 4, !tbaa !5
  %770 = load i32, ptr %12, align 4, !tbaa !5
  %771 = load i32, ptr %10, align 4, !tbaa !5
  invoke void @_ZN6Stonne12loadGEMMTileEjjj(ptr noundef nonnull align 8 dereferenceable(316) %760, i32 noundef %769, i32 noundef %770, i32 noundef %771)
          to label %772 unwind label %807

772:                                              ; preds = %768
  invoke void @_ZN6Stonne3runEv(ptr noundef nonnull align 8 dereferenceable(316) %760)
          to label %773 unwind label %807

773:                                              ; preds = %772
  %774 = load i32, ptr %3, align 4, !tbaa !5
  %775 = load i32, ptr %5, align 4, !tbaa !5
  %776 = mul nsw i32 %775, %774
  %777 = sext i32 %776 to i64
  %778 = icmp slt i32 %776, 0
  %779 = shl nsw i64 %777, 2
  %780 = select i1 %778, i64 -1, i64 %779
  %781 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %780) #16
          to label %.preheader661 unwind label %813

.preheader661:                                    ; preds = %773
  %782 = icmp sgt i32 %776, 0
  br i1 %782, label %.lr.ph726.preheader, label %.preheader660

.lr.ph726.preheader:                              ; preds = %.preheader661
  %783 = zext nneg i32 %776 to i64
  %784 = shl nuw nsw i64 %783, 2
  call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %781, ptr nonnull align 4 %702, i64 %784, i1 false), !tbaa !5
  br label %.preheader660

.preheader660:                                    ; preds = %.lr.ph726.preheader, %.preheader661
  %785 = icmp sgt i32 %774, 0
  %786 = icmp sgt i32 %775, 0
  %or.cond916 = and i1 %785, %786
  br i1 %or.cond916, label %.preheader659.us.preheader, label %._crit_edge731

.preheader659.us.preheader:                       ; preds = %.preheader660
  %787 = zext nneg i32 %774 to i64
  %788 = zext nneg i32 %775 to i64
  %min.iters.check966 = icmp ugt i32 %775, 7
  %ident.check.not = icmp eq i32 %774, 1
  %or.cond981 = and i1 %min.iters.check966, %ident.check.not
  %n.vec969 = and i64 %788, 2147483640
  %cmp.n976 = icmp eq i64 %n.vec969, %788
  %xtraiter1000 = and i64 %788, 3
  %lcmp.mod1001.not = icmp eq i64 %xtraiter1000, 0
  br label %.preheader659.us

.preheader659.us:                                 ; preds = %.preheader659.us.preheader, %._crit_edge729.us
  %indvars.iv870 = phi i64 [ 0, %.preheader659.us.preheader ], [ %indvars.iv.next871, %._crit_edge729.us ]
  %789 = mul nuw nsw i64 %indvars.iv870, %788
  %invariant.gep910 = getelementptr inbounds i32, ptr %781, i64 %indvars.iv870
  %invariant.gep912 = getelementptr inbounds i32, ptr %702, i64 %789
  br i1 %or.cond981, label %vector.body971, label %scalar.ph965.preheader

vector.body971:                                   ; preds = %.preheader659.us, %vector.body971
  %index972 = phi i64 [ %index.next975, %vector.body971 ], [ 0, %.preheader659.us ]
  %790 = getelementptr inbounds i32, ptr %invariant.gep910, i64 %index972
  %791 = getelementptr inbounds i8, ptr %790, i64 16
  %wide.load973 = load <4 x i32>, ptr %790, align 4, !tbaa !5
  %wide.load974 = load <4 x i32>, ptr %791, align 4, !tbaa !5
  %792 = getelementptr inbounds i32, ptr %invariant.gep912, i64 %index972
  %793 = getelementptr inbounds i8, ptr %792, i64 16
  store <4 x i32> %wide.load973, ptr %792, align 4, !tbaa !5
  store <4 x i32> %wide.load974, ptr %793, align 4, !tbaa !5
  %index.next975 = add nuw i64 %index972, 8
  %794 = icmp eq i64 %index.next975, %n.vec969
  br i1 %794, label %middle.block964, label %vector.body971, !llvm.loop !80

middle.block964:                                  ; preds = %vector.body971
  br i1 %cmp.n976, label %._crit_edge729.us, label %scalar.ph965.preheader

scalar.ph965.preheader:                           ; preds = %middle.block964, %.preheader659.us
  %indvars.iv865.ph = phi i64 [ 0, %.preheader659.us ], [ %n.vec969, %middle.block964 ]
  br i1 %lcmp.mod1001.not, label %scalar.ph965.prol.loopexit, label %scalar.ph965.prol

scalar.ph965.prol:                                ; preds = %scalar.ph965.preheader, %scalar.ph965.prol
  %indvars.iv865.prol = phi i64 [ %indvars.iv.next866.prol, %scalar.ph965.prol ], [ %indvars.iv865.ph, %scalar.ph965.preheader ]
  %prol.iter1002 = phi i64 [ %prol.iter1002.next, %scalar.ph965.prol ], [ 0, %scalar.ph965.preheader ]
  %795 = mul nuw nsw i64 %indvars.iv865.prol, %787
  %gep911.prol = getelementptr inbounds i32, ptr %invariant.gep910, i64 %795
  %796 = load i32, ptr %gep911.prol, align 4, !tbaa !5
  %gep913.prol = getelementptr inbounds i32, ptr %invariant.gep912, i64 %indvars.iv865.prol
  store i32 %796, ptr %gep913.prol, align 4, !tbaa !5
  %indvars.iv.next866.prol = add nuw nsw i64 %indvars.iv865.prol, 1
  %prol.iter1002.next = add i64 %prol.iter1002, 1
  %prol.iter1002.cmp.not = icmp eq i64 %prol.iter1002.next, %xtraiter1000
  br i1 %prol.iter1002.cmp.not, label %scalar.ph965.prol.loopexit, label %scalar.ph965.prol, !llvm.loop !81

scalar.ph965.prol.loopexit:                       ; preds = %scalar.ph965.prol, %scalar.ph965.preheader
  %indvars.iv865.unr = phi i64 [ %indvars.iv865.ph, %scalar.ph965.preheader ], [ %indvars.iv.next866.prol, %scalar.ph965.prol ]
  %797 = sub nsw i64 %indvars.iv865.ph, %788
  %798 = icmp ugt i64 %797, -4
  br i1 %798, label %._crit_edge729.us, label %scalar.ph965

scalar.ph965:                                     ; preds = %scalar.ph965.prol.loopexit, %scalar.ph965
  %indvars.iv865 = phi i64 [ %indvars.iv.next866.3, %scalar.ph965 ], [ %indvars.iv865.unr, %scalar.ph965.prol.loopexit ]
  %799 = mul nuw nsw i64 %indvars.iv865, %787
  %gep911 = getelementptr inbounds i32, ptr %invariant.gep910, i64 %799
  %800 = load i32, ptr %gep911, align 4, !tbaa !5
  %gep913 = getelementptr inbounds i32, ptr %invariant.gep912, i64 %indvars.iv865
  store i32 %800, ptr %gep913, align 4, !tbaa !5
  %indvars.iv.next866 = add nuw nsw i64 %indvars.iv865, 1
  %801 = mul nuw nsw i64 %indvars.iv.next866, %787
  %gep911.1 = getelementptr inbounds i32, ptr %invariant.gep910, i64 %801
  %802 = load i32, ptr %gep911.1, align 4, !tbaa !5
  %gep913.1 = getelementptr inbounds i32, ptr %invariant.gep912, i64 %indvars.iv.next866
  store i32 %802, ptr %gep913.1, align 4, !tbaa !5
  %indvars.iv.next866.1 = add nuw nsw i64 %indvars.iv865, 2
  %803 = mul nuw nsw i64 %indvars.iv.next866.1, %787
  %gep911.2 = getelementptr inbounds i32, ptr %invariant.gep910, i64 %803
  %804 = load i32, ptr %gep911.2, align 4, !tbaa !5
  %gep913.2 = getelementptr inbounds i32, ptr %invariant.gep912, i64 %indvars.iv.next866.1
  store i32 %804, ptr %gep913.2, align 4, !tbaa !5
  %indvars.iv.next866.2 = add nuw nsw i64 %indvars.iv865, 3
  %805 = mul nuw nsw i64 %indvars.iv.next866.2, %787
  %gep911.3 = getelementptr inbounds i32, ptr %invariant.gep910, i64 %805
  %806 = load i32, ptr %gep911.3, align 4, !tbaa !5
  %gep913.3 = getelementptr inbounds i32, ptr %invariant.gep912, i64 %indvars.iv.next866.2
  store i32 %806, ptr %gep913.3, align 4, !tbaa !5
  %indvars.iv.next866.3 = add nuw nsw i64 %indvars.iv865, 4
  %exitcond869.not.3 = icmp eq i64 %indvars.iv.next866.3, %788
  br i1 %exitcond869.not.3, label %._crit_edge729.us, label %scalar.ph965, !llvm.loop !82

._crit_edge729.us:                                ; preds = %scalar.ph965.prol.loopexit, %scalar.ph965, %middle.block964
  %indvars.iv.next871 = add nuw nsw i64 %indvars.iv870, 1
  %exitcond874.not = icmp eq i64 %indvars.iv.next871, %787
  br i1 %exitcond874.not, label %._crit_edge731, label %.preheader659.us, !llvm.loop !83

807:                                              ; preds = %772, %768, %767, %762, %759
  %808 = landingpad { ptr, i32 }
          cleanup
  br label %1479

809:                                              ; preds = %761
  %810 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %760, i64 noundef 320) #17
  br label %1479

811:                                              ; preds = %763
  %812 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #15
  br label %1479

813:                                              ; preds = %773
  %814 = landingpad { ptr, i32 }
          cleanup
  br label %1479

._crit_edge731:                                   ; preds = %._crit_edge729.us, %.preheader660
  %815 = call noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316) %760)
  %816 = 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.81)
          to label %817 unwind label %823

817:                                              ; preds = %._crit_edge731
  %818 = load i32, ptr %5, align 4, !tbaa !5
  %819 = load i32, ptr %3, align 4, !tbaa !5
  %820 = mul nsw i32 %818, %819
  %.not804 = icmp sgt i32 %818, %820
  br i1 %.not804, label %._crit_edge735, label %.lr.ph734.preheader

.lr.ph734.preheader:                              ; preds = %817
  %821 = add nsw i32 %818, -1
  br label %.lr.ph734

._crit_edge735:                                   ; preds = %831, %817
  %822 = 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.72)
          to label %839 unwind label %823

823:                                              ; preds = %893, %891, %889, %._crit_edge740, %841, %839, %._crit_edge735, %._crit_edge731
  %824 = landingpad { ptr, i32 }
          cleanup
  br label %1479

.lr.ph734:                                        ; preds = %.lr.ph734.preheader, %831
  %.0530732 = phi i32 [ %833, %831 ], [ %821, %.lr.ph734.preheader ]
  %825 = sext i32 %.0530732 to i64
  %826 = getelementptr inbounds i32, ptr %702, i64 %825
  %827 = load i32, ptr %826, align 4, !tbaa !5
  %828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %827)
          to label %829 unwind label %837

829:                                              ; preds = %.lr.ph734
  %830 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %828, ptr noundef nonnull @.str.44)
          to label %831 unwind label %837

831:                                              ; preds = %829
  %832 = load i32, ptr %5, align 4, !tbaa !5
  %833 = add nsw i32 %832, %.0530732
  %834 = load i32, ptr %3, align 4, !tbaa !5
  %835 = mul nsw i32 %832, %834
  %836 = icmp slt i32 %833, %835
  br i1 %836, label %.lr.ph734, label %._crit_edge735, !llvm.loop !84

837:                                              ; preds = %829, %.lr.ph734
  %838 = landingpad { ptr, i32 }
          cleanup
  br label %1479

839:                                              ; preds = %._crit_edge735
  %840 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %822, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %841 unwind label %823

841:                                              ; preds = %839
  %842 = load i32, ptr %4, align 4, !tbaa !5
  %843 = load i32, ptr %3, align 4, !tbaa !5
  %844 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_Z16sequential_layerjjjjjjjjjPfS_S_(i32 noundef 1, i32 noundef %842, i32 noundef 1, i32 noundef %843, i32 noundef 1, i32 noundef 1, i32 noundef %844, i32 noundef %842, i32 noundef 1, ptr noundef nonnull %682, ptr noundef nonnull %641, ptr noundef nonnull %720)
          to label %.preheader658 unwind label %823

.preheader658:                                    ; preds = %841
  %845 = load i32, ptr %3, align 4, !tbaa !5
  %846 = load i32, ptr %5, align 4, !tbaa !5
  %847 = mul nsw i32 %846, %845
  %848 = icmp sgt i32 %847, 0
  br i1 %848, label %.lr.ph739, label %._crit_edge740

._crit_edge740:                                   ; preds = %883, %.preheader658
  %849 = 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.78)
          to label %889 unwind label %823

.lr.ph739:                                        ; preds = %.preheader658, %883
  %indvars.iv875 = phi i64 [ %indvars.iv.next876, %883 ], [ 0, %.preheader658 ]
  %850 = getelementptr inbounds float, ptr %722, i64 %indvars.iv875
  %851 = load float, ptr %850, align 4, !tbaa !15
  %852 = getelementptr inbounds float, ptr %720, i64 %indvars.iv875
  %853 = load float, ptr %852, align 4, !tbaa !15
  %854 = fsub float %851, %853
  %855 = call noundef float @_ZSt4fabsf(float noundef %854)
  %856 = fcmp ogt float %855, 0x3FA99999A0000000
  br i1 %856, label %857, label %883

857:                                              ; preds = %.lr.ph739
  %858 = getelementptr inbounds float, ptr %722, i64 %indvars.iv875
  %859 = getelementptr inbounds float, ptr %720, i64 %indvars.iv875
  %860 = 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.82)
          to label %861 unwind label %881

861:                                              ; preds = %857
  %862 = trunc nuw nsw i64 %indvars.iv875 to i32
  %863 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %860, i32 noundef %862)
          to label %864 unwind label %881

864:                                              ; preds = %861
  %865 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %863, ptr noundef nonnull @.str.83)
          to label %866 unwind label %881

866:                                              ; preds = %864
  %867 = load float, ptr %858, align 4, !tbaa !15
  %868 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %865, float noundef %867)
          to label %869 unwind label %881

869:                                              ; preds = %866
  %870 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %868, ptr noundef nonnull @.str.84)
          to label %871 unwind label %881

871:                                              ; preds = %869
  %872 = load float, ptr %859, align 4, !tbaa !15
  %873 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %870, float noundef %872)
          to label %874 unwind label %881

874:                                              ; preds = %871
  %875 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %873, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %876 unwind label %881

876:                                              ; preds = %874
  %877 = 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.77)
          to label %878 unwind label %881

878:                                              ; preds = %876
  %879 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %877, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %880 unwind label %881

880:                                              ; preds = %878
  call void @_ZdaPv(ptr noundef nonnull %641) #17
  call void @_ZdaPv(ptr noundef nonnull %682) #17
  call void @_ZdaPv(ptr noundef nonnull %722) #17
  call void @_ZdaPv(ptr noundef nonnull %720) #17
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %328) #15
  call void @_ZdlPvm(ptr noundef nonnull %328, i64 noundef 320) #17
  call void @__assert_fail(ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.86, i32 noundef 587, ptr noundef nonnull @__PRETTY_FUNCTION__.main) #18
  unreachable

881:                                              ; preds = %878, %876, %874, %871, %869, %866, %864, %861, %857
  %882 = landingpad { ptr, i32 }
          cleanup
  br label %1479

883:                                              ; preds = %.lr.ph739
  %indvars.iv.next876 = add nuw nsw i64 %indvars.iv875, 1
  %884 = load i32, ptr %3, align 4, !tbaa !5
  %885 = load i32, ptr %5, align 4, !tbaa !5
  %886 = mul nsw i32 %885, %884
  %887 = sext i32 %886 to i64
  %888 = icmp slt i64 %indvars.iv.next876, %887
  br i1 %888, label %.lr.ph739, label %._crit_edge740, !llvm.loop !85

889:                                              ; preds = %._crit_edge740
  %890 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %849, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %891 unwind label %823

891:                                              ; preds = %889
  %892 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %890, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %893 unwind label %823

893:                                              ; preds = %891
  %894 = 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.87)
          to label %895 unwind label %823

895:                                              ; preds = %893
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %51) #15
  invoke void @_ZN6Stonne25getMultiplierNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.MSNetworkStats) align 8 %51, ptr noundef nonnull align 8 dereferenceable(316) %760)
          to label %896 unwind label %953

896:                                              ; preds = %895
  %897 = 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.56)
          to label %898 unwind label %953

898:                                              ; preds = %896
  %899 = 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.57)
          to label %900 unwind label %953

900:                                              ; preds = %898
  %901 = getelementptr inbounds i8, ptr %51, i64 16
  %902 = load i32, ptr %901, align 8, !tbaa !46
  %903 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %899, i32 noundef %902)
          to label %904 unwind label %953

904:                                              ; preds = %900
  %905 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %903, ptr noundef nonnull @.str.43)
          to label %906 unwind label %953

906:                                              ; preds = %904
  %907 = 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.58)
          to label %908 unwind label %953

908:                                              ; preds = %906
  %909 = getelementptr inbounds i8, ptr %51, i64 20
  %910 = load i32, ptr %909, align 4, !tbaa !49
  %911 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %907, i32 noundef %910)
          to label %912 unwind label %953

912:                                              ; preds = %908
  %913 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %911, ptr noundef nonnull @.str.43)
          to label %914 unwind label %953

914:                                              ; preds = %912
  %915 = 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.59)
          to label %916 unwind label %953

916:                                              ; preds = %914
  %917 = getelementptr inbounds i8, ptr %51, i64 24
  %918 = load i32, ptr %917, align 8, !tbaa !50
  %919 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %915, i32 noundef %918)
          to label %920 unwind label %953

920:                                              ; preds = %916
  %921 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %919, ptr noundef nonnull @.str.43)
          to label %922 unwind label %953

922:                                              ; preds = %920
  %923 = 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.60)
          to label %924 unwind label %953

924:                                              ; preds = %922
  %925 = getelementptr inbounds i8, ptr %51, i64 28
  %926 = load i32, ptr %925, align 4, !tbaa !51
  %927 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %923, i32 noundef %926)
          to label %928 unwind label %953

928:                                              ; preds = %924
  %929 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %927, ptr noundef nonnull @.str.43)
          to label %930 unwind label %953

930:                                              ; preds = %928
  %931 = 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.61)
          to label %932 unwind label %953

932:                                              ; preds = %930
  %933 = getelementptr inbounds i8, ptr %51, i64 32
  %934 = load i32, ptr %933, align 8, !tbaa !52
  %935 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %931, i32 noundef %934)
          to label %936 unwind label %953

936:                                              ; preds = %932
  %937 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %935, ptr noundef nonnull @.str.43)
          to label %938 unwind label %953

938:                                              ; preds = %936
  %939 = 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.62)
          to label %940 unwind label %953

940:                                              ; preds = %938
  %941 = getelementptr inbounds i8, ptr %51, i64 36
  %942 = load i32, ptr %941, align 4, !tbaa !53
  %943 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %939, i32 noundef %942)
          to label %944 unwind label %953

944:                                              ; preds = %940
  %945 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %943, ptr noundef nonnull @.str.43)
          to label %946 unwind label %953

946:                                              ; preds = %944
  %947 = 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.63)
          to label %948 unwind label %953

948:                                              ; preds = %946
  %949 = load i32, ptr %12, align 4, !tbaa !5
  %950 = icmp eq i32 %949, 1
  br i1 %950, label %951, label %955

951:                                              ; preds = %948
  %952 = 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.64)
          to label %967 unwind label %953

953:                                              ; preds = %951, %946, %944, %940, %938, %936, %932, %930, %928, %924, %922, %920, %916, %914, %912, %908, %906, %904, %900, %898, %896, %895
  %954 = landingpad { ptr, i32 }
          cleanup
  br label %1478

955:                                              ; preds = %948
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %52) #15
  invoke void @_ZN6Stonne17getASNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.ASNetworkStats) align 8 %52, ptr noundef nonnull align 8 dereferenceable(316) %760)
          to label %956 unwind label %965

956:                                              ; preds = %955
  %957 = 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.65)
          to label %958 unwind label %965

958:                                              ; preds = %956
  %959 = getelementptr inbounds i8, ptr %52, i64 28
  %960 = load i32, ptr %959, align 4, !tbaa !54
  %961 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %957, i32 noundef %960)
          to label %962 unwind label %965

962:                                              ; preds = %958
  %963 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %961, ptr noundef nonnull @.str.43)
          to label %964 unwind label %965

964:                                              ; preds = %962
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #15
  br label %967

965:                                              ; preds = %962, %958, %956, %955
  %966 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #15
  br label %1478

967:                                              ; preds = %951, %964
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #15
  invoke void @_ZN6Stonne17getDSNetworkStatsEv(ptr dead_on_unwind nonnull writable sret(%class.DSNetworkStats) align 8 %53, ptr noundef nonnull align 8 dereferenceable(316) %760)
          to label %968 unwind label %1040

968:                                              ; preds = %967
  %969 = 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.66)
          to label %970 unwind label %1040

970:                                              ; preds = %968
  %971 = 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.65)
          to label %972 unwind label %1040

972:                                              ; preds = %970
  %973 = getelementptr inbounds i8, ptr %53, i64 24
  %974 = load i32, ptr %973, align 8, !tbaa !56
  %975 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %971, i32 noundef %974)
          to label %976 unwind label %1040

976:                                              ; preds = %972
  %977 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %975, ptr noundef nonnull @.str.43)
          to label %978 unwind label %1040

978:                                              ; preds = %976
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %54) #15
  invoke void @_ZN6Stonne14getMemoryStatsEv(ptr dead_on_unwind nonnull writable sret(%class.SDMemoryStats) align 8 %54, ptr noundef nonnull align 8 dereferenceable(316) %760)
          to label %979 unwind label %1042

979:                                              ; preds = %978
  %980 = 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.67)
          to label %981 unwind label %1044

981:                                              ; preds = %979
  %982 = 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.68)
          to label %983 unwind label %1044

983:                                              ; preds = %981
  %984 = getelementptr inbounds i8, ptr %54, i64 12
  %985 = load i32, ptr %984, align 4, !tbaa !58
  %986 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %982, i32 noundef %985)
          to label %987 unwind label %1044

987:                                              ; preds = %983
  %988 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %986, ptr noundef nonnull @.str.43)
          to label %989 unwind label %1044

989:                                              ; preds = %987
  %990 = 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.69)
          to label %991 unwind label %1044

991:                                              ; preds = %989
  %992 = getelementptr inbounds i8, ptr %54, i64 16
  %993 = load i32, ptr %992, align 8, !tbaa !66
  %994 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %990, i32 noundef %993)
          to label %995 unwind label %1044

995:                                              ; preds = %991
  %996 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %994, ptr noundef nonnull @.str.43)
          to label %997 unwind label %1044

997:                                              ; preds = %995
  %998 = 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.70)
          to label %999 unwind label %1044

999:                                              ; preds = %997
  %1000 = getelementptr inbounds i8, ptr %54, i64 20
  %1001 = load i32, ptr %1000, align 4, !tbaa !67
  %1002 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %998, i32 noundef %1001)
          to label %1003 unwind label %1044

1003:                                             ; preds = %999
  %1004 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1002, ptr noundef nonnull @.str.43)
          to label %1005 unwind label %1044

1005:                                             ; preds = %1003
  %1006 = 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.71)
          to label %1007 unwind label %1044

1007:                                             ; preds = %1005
  %1008 = getelementptr inbounds i8, ptr %54, i64 24
  %1009 = load i32, ptr %1008, align 8, !tbaa !68
  %1010 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1006, i32 noundef %1009)
          to label %1011 unwind label %1044

1011:                                             ; preds = %1007
  %1012 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1010, ptr noundef nonnull @.str.43)
          to label %1013 unwind label %1044

1013:                                             ; preds = %1011
  call void @_ZdaPv(ptr noundef nonnull %641) #17
  call void @_ZdaPv(ptr noundef nonnull %682) #17
  call void @_ZdaPv(ptr noundef nonnull %722) #17
  call void @_ZdaPv(ptr noundef nonnull %720) #17
  call void @_ZN6StonneD1Ev(ptr noundef nonnull align 8 dereferenceable(316) %760) #15
  call void @_ZdlPvm(ptr noundef nonnull %760, i64 noundef 320) #17
  %1014 = load i32, ptr %7, align 4, !tbaa !5
  %1015 = icmp eq i32 %1014, 1
  br i1 %1015, label %1016, label %1133

1016:                                             ; preds = %1013
  %1017 = load i32, ptr %4, align 4, !tbaa !5
  %1018 = mul i32 %1017, %119
  %1019 = sext i32 %1018 to i64
  %1020 = getelementptr i32, ptr %262, i64 %1019
  %1021 = getelementptr i8, ptr %1020, i64 -4
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = mul nsw i32 %1017, %120
  %1024 = sext i32 %1023 to i64
  %1025 = getelementptr i32, ptr %262, i64 %1024
  %1026 = getelementptr i8, ptr %1025, i64 -4
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = sub i32 %1027, %1022
  %1029 = load i32, ptr %5, align 4, !tbaa !5
  %1030 = mul i32 %1029, %119
  %1031 = sext i32 %1030 to i64
  %1032 = getelementptr i32, ptr %702, i64 %1031
  %1033 = getelementptr i8, ptr %1032, i64 -4
  %1034 = load i32, ptr %1033, align 4, !tbaa !5
  %.645 = call i32 @llvm.umax.i32(i32 %1028, i32 %1034)
  %1035 = add i32 %.645, %1022
  %1036 = load i32, ptr %3, align 4, !tbaa !5
  %.fr = freeze i32 %1036
  %1037 = sdiv i32 %.fr, %119
  %1038 = srem i32 %.fr, %119
  %invariant.gep = getelementptr i8, ptr %262, i64 -4
  %invariant.gep743 = getelementptr i8, ptr %702, i64 -4
  %1039 = icmp sgt i32 %1037, 2
  br i1 %1039, label %.lr.ph750, label %._crit_edge751

.lr.ph750:                                        ; preds = %1016
  %wide.trip.count881 = zext nneg i32 %1037 to i64
  br label %1046

._crit_edge751:                                   ; preds = %1046, %1016
  %.0508.lcssa = phi i32 [ %1035, %1016 ], [ %1065, %1046 ]
  %.not581 = icmp eq i32 %1038, 0
  br i1 %.not581, label %1105, label %1066

1040:                                             ; preds = %976, %972, %970, %968, %967
  %1041 = landingpad { ptr, i32 }
          cleanup
  br label %1477

1042:                                             ; preds = %978
  %1043 = landingpad { ptr, i32 }
          cleanup
  br label %1476

1044:                                             ; preds = %1131, %1129, %1127, %1125, %1123, %1121, %1119, %1011, %1007, %1005, %1003, %999, %997, %995, %991, %989, %987, %983, %981, %979
  %1045 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1046:                                             ; preds = %.lr.ph750, %1046
  %indvars.iv878 = phi i64 [ 2, %.lr.ph750 ], [ %indvars.iv.next879, %1046 ]
  %.0508748 = phi i32 [ %1035, %.lr.ph750 ], [ %1065, %1046 ]
  %indvars.iv.next879 = add nuw nsw i64 %indvars.iv878, 1
  %1047 = trunc nuw nsw i64 %indvars.iv.next879 to i32
  %1048 = mul i32 %1018, %1047
  %1049 = sext i32 %1048 to i64
  %gep = getelementptr i32, ptr %invariant.gep, i64 %1049
  %1050 = load i32, ptr %gep, align 4, !tbaa !5
  %1051 = trunc nuw nsw i64 %indvars.iv878 to i32
  %1052 = mul i32 %1018, %1051
  %1053 = sext i32 %1052 to i64
  %gep742 = getelementptr i32, ptr %invariant.gep, i64 %1053
  %1054 = load i32, ptr %gep742, align 4, !tbaa !5
  %1055 = sub i32 %1050, %1054
  %1056 = mul i32 %1030, %1051
  %1057 = sext i32 %1056 to i64
  %gep744 = getelementptr i32, ptr %invariant.gep743, i64 %1057
  %1058 = load i32, ptr %gep744, align 4, !tbaa !5
  %1059 = trunc i64 %indvars.iv878 to i32
  %1060 = add i32 %1059, -1
  %1061 = mul i32 %1030, %1060
  %1062 = sext i32 %1061 to i64
  %gep746 = getelementptr i32, ptr %invariant.gep743, i64 %1062
  %1063 = load i32, ptr %gep746, align 4, !tbaa !5
  %1064 = sub i32 %1058, %1063
  %.646 = call i32 @llvm.umax.i32(i32 %1055, i32 %1064)
  %1065 = add i32 %.646, %.0508748
  %exitcond882.not = icmp eq i64 %indvars.iv.next879, %wide.trip.count881
  br i1 %exitcond882.not, label %._crit_edge751, label %1046, !llvm.loop !86

1066:                                             ; preds = %._crit_edge751
  %1067 = mul nsw i32 %.fr, %1017
  %1068 = sext i32 %1067 to i64
  %1069 = getelementptr i32, ptr %262, i64 %1068
  %1070 = getelementptr i8, ptr %1069, i64 -4
  %1071 = load i32, ptr %1070, align 4, !tbaa !5
  %1072 = mul nsw i32 %1037, %119
  %1073 = mul nsw i32 %1072, %1017
  %1074 = sext i32 %1073 to i64
  %1075 = getelementptr i32, ptr %262, i64 %1074
  %1076 = getelementptr i8, ptr %1075, i64 -4
  %1077 = load i32, ptr %1076, align 4, !tbaa !5
  %1078 = sub i32 %1071, %1077
  %1079 = mul nsw i32 %1072, %1029
  %1080 = sext i32 %1079 to i64
  %1081 = getelementptr i32, ptr %702, i64 %1080
  %1082 = getelementptr i8, ptr %1081, i64 -4
  %1083 = load i32, ptr %1082, align 4, !tbaa !5
  %1084 = add nsw i32 %1037, -1
  %1085 = mul i32 %1030, %1084
  %1086 = sext i32 %1085 to i64
  %1087 = getelementptr i32, ptr %702, i64 %1086
  %1088 = getelementptr i8, ptr %1087, i64 -4
  %1089 = load i32, ptr %1088, align 4, !tbaa !5
  %1090 = sub i32 %1083, %1089
  %.647 = call i32 @llvm.umax.i32(i32 %1078, i32 %1090)
  %1091 = mul nsw i32 %.fr, %1029
  %1092 = sext i32 %1091 to i64
  %1093 = getelementptr i32, ptr %702, i64 %1092
  %1094 = getelementptr i8, ptr %1093, i64 -4
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = sub nsw i32 %.fr, %1038
  %1097 = mul nsw i32 %1096, %1029
  %1098 = sext i32 %1097 to i64
  %1099 = getelementptr i32, ptr %702, i64 %1098
  %1100 = getelementptr i8, ptr %1099, i64 -4
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  %1102 = add i32 %1095, %.0508.lcssa
  %1103 = add i32 %1102, %.647
  %1104 = sub i32 %1103, %1101
  br label %1119

1105:                                             ; preds = %._crit_edge751
  %1106 = mul nsw i32 %.fr, %1029
  %1107 = sext i32 %1106 to i64
  %1108 = getelementptr i32, ptr %702, i64 %1107
  %1109 = getelementptr i8, ptr %1108, i64 -4
  %1110 = load i32, ptr %1109, align 4, !tbaa !5
  %1111 = sub nsw i32 %.fr, %119
  %1112 = mul nsw i32 %1111, %1029
  %1113 = sext i32 %1112 to i64
  %1114 = getelementptr i32, ptr %702, i64 %1113
  %1115 = getelementptr i8, ptr %1114, i64 -4
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  %1117 = add i32 %1110, %.0508.lcssa
  %1118 = sub i32 %1117, %1116
  br label %1119

1119:                                             ; preds = %1105, %1066
  %.1509 = phi i32 [ %1104, %1066 ], [ %1118, %1105 ]
  %1120 = 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.88)
          to label %1121 unwind label %1044

1121:                                             ; preds = %1119
  %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.89)
          to label %1123 unwind label %1044

1123:                                             ; preds = %1121
  %1124 = 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.90)
          to label %1125 unwind label %1044

1125:                                             ; preds = %1123
  %1126 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1124, i32 noundef %.1509)
          to label %1127 unwind label %1044

1127:                                             ; preds = %1125
  %1128 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1126, ptr noundef nonnull @.str.91)
          to label %1129 unwind label %1044

1129:                                             ; preds = %1127
  %1130 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1128, i32 noundef %122)
          to label %1131 unwind label %1044

1131:                                             ; preds = %1129
  %1132 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1130, ptr noundef nonnull @.str.92)
          to label %thread-pre-split unwind label %1044

thread-pre-split:                                 ; preds = %1131
  %.pr = load i32, ptr %7, align 4, !tbaa !5
  br label %1133

1133:                                             ; preds = %thread-pre-split, %1013
  %1134 = phi i32 [ %.pr, %thread-pre-split ], [ %1014, %1013 ]
  %1135 = load i32, ptr %3, align 4, !tbaa !5
  %.fr585 = freeze i32 %1135
  %1136 = sdiv i32 %.fr585, %1134
  %1137 = srem i32 %.fr585, %1134
  %1138 = icmp ne i32 %1137, 0
  %1139 = zext i1 %1138 to i32
  %1140 = add i32 %1136, %1139
  %1141 = sext i32 %1140 to i64
  %1142 = icmp slt i32 %1140, 0
  %1143 = shl nsw i64 %1141, 2
  %1144 = select i1 %1142, i64 -1, i64 %1143
  %1145 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %1144) #16
          to label %.preheader657 unwind label %1152

.preheader657:                                    ; preds = %1133
  %1146 = icmp sgt i32 %1136, 0
  br i1 %1146, label %.preheader.lr.ph, label %._crit_edge768

.preheader.lr.ph:                                 ; preds = %.preheader657
  %invariant.gep755 = getelementptr i8, ptr %262, i64 -4
  %1147 = icmp sgt i32 %1134, 0
  %1148 = load i32, ptr %4, align 4
  %1149 = sext i32 %1148 to i64
  %gep760 = getelementptr i32, ptr %invariant.gep755, i64 %1149
  %1150 = sext i32 %1134 to i64
  %wide.trip.count891 = zext nneg i32 %1136 to i64
  %wide.trip.count886 = zext nneg i32 %1134 to i64
  br label %.preheader

.preheader:                                       ; preds = %.preheader.lr.ph, %._crit_edge764
  %indvars.iv888 = phi i64 [ 0, %.preheader.lr.ph ], [ %indvars.iv.next889, %._crit_edge764 ]
  %.0519766 = phi i32 [ 0, %.preheader.lr.ph ], [ %1154, %._crit_edge764 ]
  br i1 %1147, label %.lr.ph763, label %._crit_edge764

.lr.ph763:                                        ; preds = %.preheader
  %1151 = mul nuw nsw i64 %indvars.iv888, %1150
  br label %1156

._crit_edge768:                                   ; preds = %._crit_edge764, %.preheader657
  %.0521.lcssa = phi i32 [ undef, %.preheader657 ], [ %.1522.lcssa, %._crit_edge764 ]
  %.0519.lcssa = phi i32 [ 0, %.preheader657 ], [ %1154, %._crit_edge764 ]
  %.not582 = icmp eq i32 %1137, 0
  br i1 %.not582, label %1188, label %1172

1152:                                             ; preds = %1133
  %1153 = landingpad { ptr, i32 }
          cleanup
  br label %1475

._crit_edge764:                                   ; preds = %1171, %.preheader
  %.1522.lcssa = phi i32 [ 0, %.preheader ], [ %.2523, %1171 ]
  %1154 = add nsw i32 %.1522.lcssa, %.0519766
  %1155 = getelementptr inbounds i32, ptr %1145, i64 %indvars.iv888
  store i32 %1154, ptr %1155, align 4, !tbaa !5
  %indvars.iv.next889 = add nuw nsw i64 %indvars.iv888, 1
  %exitcond892.not = icmp eq i64 %indvars.iv.next889, %wide.trip.count891
  br i1 %exitcond892.not, label %._crit_edge768, label %.preheader, !llvm.loop !87

1156:                                             ; preds = %.lr.ph763, %1171
  %indvars.iv883 = phi i64 [ 0, %.lr.ph763 ], [ %indvars.iv.next884, %1171 ]
  %.1522761 = phi i32 [ 0, %.lr.ph763 ], [ %.2523, %1171 ]
  %1157 = add nuw nsw i64 %indvars.iv883, %1151
  %1158 = icmp eq i64 %1157, 0
  br i1 %1158, label %1159, label %1161

1159:                                             ; preds = %1156
  %1160 = load i32, ptr %gep760, align 4, !tbaa !5
  br label %1171

1161:                                             ; preds = %1156
  %1162 = trunc nsw i64 %1157 to i32
  %1163 = add nuw i32 %1162, 1
  %1164 = mul i32 %1148, %1163
  %1165 = sext i32 %1164 to i64
  %gep756 = getelementptr i32, ptr %invariant.gep755, i64 %1165
  %1166 = load i32, ptr %gep756, align 4, !tbaa !5
  %1167 = mul i32 %1148, %1162
  %1168 = sext i32 %1167 to i64
  %gep758 = getelementptr i32, ptr %invariant.gep755, i64 %1168
  %1169 = load i32, ptr %gep758, align 4, !tbaa !5
  %1170 = sub i32 %1166, %1169
  %spec.select = call i32 @llvm.umax.i32(i32 %1170, i32 %.1522761)
  br label %1171

1171:                                             ; preds = %1161, %1159
  %.2523 = phi i32 [ %1160, %1159 ], [ %spec.select, %1161 ]
  %indvars.iv.next884 = add nuw nsw i64 %indvars.iv883, 1
  %exitcond887.not = icmp eq i64 %indvars.iv.next884, %wide.trip.count886
  br i1 %exitcond887.not, label %._crit_edge764, label %1156, !llvm.loop !88

1172:                                             ; preds = %._crit_edge768
  %1173 = mul nsw i32 %1136, %1134
  %1174 = icmp slt i32 %1173, %.fr585
  br i1 %1174, label %.lr.ph777.preheader, label %1184

.lr.ph777.preheader:                              ; preds = %1172
  %invariant.gep771 = getelementptr i8, ptr %262, i64 -4
  %1175 = add nsw i32 %.fr585, -1
  %1176 = load i32, ptr %4, align 4, !tbaa !5
  %1177 = mul i32 %1176, %.fr585
  %1178 = sext i32 %1177 to i64
  %gep772.le = getelementptr i32, ptr %invariant.gep771, i64 %1178
  %1179 = load i32, ptr %gep772.le, align 4, !tbaa !5
  %1180 = mul i32 %1176, %1175
  %1181 = sext i32 %1180 to i64
  %gep774.le = getelementptr i32, ptr %invariant.gep771, i64 %1181
  %1182 = load i32, ptr %gep774.le, align 4, !tbaa !5
  %1183 = sub i32 %1179, %1182
  br label %1184

1184:                                             ; preds = %.lr.ph777.preheader, %1172
  %.3524.lcssa = phi i32 [ %1183, %.lr.ph777.preheader ], [ %.0521.lcssa, %1172 ]
  %1185 = add nsw i32 %.3524.lcssa, %.0519.lcssa
  %1186 = sext i32 %1136 to i64
  %1187 = getelementptr inbounds i32, ptr %1145, i64 %1186
  store i32 %1185, ptr %1187, align 4, !tbaa !5
  br label %1188

1188:                                             ; preds = %1184, %._crit_edge768
  %.1520 = phi i32 [ %1185, %1184 ], [ %.0519.lcssa, %._crit_edge768 ]
  %.not583 = icmp eq i32 %1134, 1
  br i1 %.not583, label %1302, label %1189

1189:                                             ; preds = %1188
  %1190 = sdiv i32 %119, %1134
  %1191 = sext i32 %1190 to i64
  %1192 = getelementptr i32, ptr %1145, i64 %1191
  %1193 = getelementptr i8, ptr %1192, i64 -4
  %1194 = load i32, ptr %1193, align 4, !tbaa !5
  %1195 = sdiv i32 %120, %1134
  %1196 = sext i32 %1195 to i64
  %1197 = getelementptr i32, ptr %1145, i64 %1196
  %1198 = getelementptr i8, ptr %1197, i64 -4
  %1199 = load i32, ptr %1198, align 4, !tbaa !5
  %1200 = sub nsw i32 %1199, %1194
  %1201 = load i32, ptr %5, align 4, !tbaa !5
  %1202 = mul i32 %1201, %119
  %1203 = sext i32 %1202 to i64
  %1204 = getelementptr i32, ptr %702, i64 %1203
  %1205 = getelementptr i8, ptr %1204, i64 -4
  %1206 = load i32, ptr %1205, align 4, !tbaa !5
  %.649 = call i32 @llvm.umax.i32(i32 %1200, i32 %1206)
  %1207 = add i32 %.649, %1194
  %1208 = sdiv i32 %.fr585, %119
  %1209 = srem i32 %.fr585, %119
  %invariant.gep789 = getelementptr i8, ptr %1145, i64 -4
  %invariant.gep793 = getelementptr i8, ptr %702, i64 -4
  %1210 = icmp sgt i32 %1208, 2
  br i1 %1210, label %.lr.ph800, label %._crit_edge801

.lr.ph800:                                        ; preds = %1189
  %wide.trip.count896 = zext nneg i32 %1208 to i64
  br label %1211

._crit_edge801:                                   ; preds = %1211, %1189
  %.2510.lcssa = phi i32 [ %1207, %1189 ], [ %1233, %1211 ]
  %.not584 = icmp eq i32 %1209, 0
  br i1 %.not584, label %1272, label %1234

1211:                                             ; preds = %.lr.ph800, %1211
  %indvars.iv893 = phi i64 [ 2, %.lr.ph800 ], [ %indvars.iv.next894, %1211 ]
  %.2510798 = phi i32 [ %1207, %.lr.ph800 ], [ %1233, %1211 ]
  %indvars.iv.next894 = add nuw nsw i64 %indvars.iv893, 1
  %1212 = trunc i64 %indvars.iv.next894 to i32
  %1213 = mul i32 %119, %1212
  %1214 = sdiv i32 %1213, %1134
  %1215 = sext i32 %1214 to i64
  %gep790 = getelementptr i32, ptr %invariant.gep789, i64 %1215
  %1216 = load i32, ptr %gep790, align 4, !tbaa !5
  %1217 = trunc i64 %indvars.iv893 to i32
  %1218 = mul i32 %119, %1217
  %1219 = sdiv i32 %1218, %1134
  %1220 = sext i32 %1219 to i64
  %gep792 = getelementptr i32, ptr %invariant.gep789, i64 %1220
  %1221 = load i32, ptr %gep792, align 4, !tbaa !5
  %1222 = sub nsw i32 %1216, %1221
  %1223 = trunc nuw nsw i64 %indvars.iv893 to i32
  %1224 = mul i32 %1202, %1223
  %1225 = sext i32 %1224 to i64
  %gep794 = getelementptr i32, ptr %invariant.gep793, i64 %1225
  %1226 = load i32, ptr %gep794, align 4, !tbaa !5
  %1227 = trunc i64 %indvars.iv893 to i32
  %1228 = add i32 %1227, -1
  %1229 = mul i32 %1202, %1228
  %1230 = sext i32 %1229 to i64
  %gep796 = getelementptr i32, ptr %invariant.gep793, i64 %1230
  %1231 = load i32, ptr %gep796, align 4, !tbaa !5
  %1232 = sub i32 %1226, %1231
  %.650 = call i32 @llvm.umax.i32(i32 %1222, i32 %1232)
  %1233 = add i32 %.650, %.2510798
  %exitcond897.not = icmp eq i64 %indvars.iv.next894, %wide.trip.count896
  br i1 %exitcond897.not, label %._crit_edge801, label %1211, !llvm.loop !89

1234:                                             ; preds = %._crit_edge801
  %1235 = add i32 %1140, -1
  %1236 = sext i32 %1235 to i64
  %1237 = getelementptr inbounds i32, ptr %1145, i64 %1236
  %1238 = load i32, ptr %1237, align 4, !tbaa !5
  %1239 = mul nsw i32 %1208, %119
  %1240 = sdiv i32 %1239, %1134
  %1241 = sext i32 %1240 to i64
  %1242 = getelementptr i32, ptr %1145, i64 %1241
  %1243 = getelementptr i8, ptr %1242, i64 -4
  %1244 = load i32, ptr %1243, align 4, !tbaa !5
  %1245 = sub nsw i32 %1238, %1244
  %1246 = mul nsw i32 %1239, %1201
  %1247 = sext i32 %1246 to i64
  %1248 = getelementptr i32, ptr %702, i64 %1247
  %1249 = getelementptr i8, ptr %1248, i64 -4
  %1250 = load i32, ptr %1249, align 4, !tbaa !5
  %1251 = add nsw i32 %1208, -1
  %1252 = mul i32 %1202, %1251
  %1253 = sext i32 %1252 to i64
  %1254 = getelementptr i32, ptr %702, i64 %1253
  %1255 = getelementptr i8, ptr %1254, i64 -4
  %1256 = load i32, ptr %1255, align 4, !tbaa !5
  %1257 = sub i32 %1250, %1256
  %.651 = call i32 @llvm.umax.i32(i32 %1245, i32 %1257)
  %1258 = mul nsw i32 %1201, %.fr585
  %1259 = sext i32 %1258 to i64
  %1260 = getelementptr i32, ptr %702, i64 %1259
  %1261 = getelementptr i8, ptr %1260, i64 -4
  %1262 = load i32, ptr %1261, align 4, !tbaa !5
  %1263 = sub nsw i32 %.fr585, %1209
  %1264 = mul nsw i32 %1263, %1201
  %1265 = sext i32 %1264 to i64
  %1266 = getelementptr i32, ptr %702, i64 %1265
  %1267 = getelementptr i8, ptr %1266, i64 -4
  %1268 = load i32, ptr %1267, align 4, !tbaa !5
  %1269 = add i32 %1262, %.2510.lcssa
  %1270 = add i32 %1269, %.651
  %1271 = sub i32 %1270, %1268
  br label %1286

1272:                                             ; preds = %._crit_edge801
  %1273 = mul nsw i32 %1201, %.fr585
  %1274 = sext i32 %1273 to i64
  %1275 = getelementptr i32, ptr %702, i64 %1274
  %1276 = getelementptr i8, ptr %1275, i64 -4
  %1277 = load i32, ptr %1276, align 4, !tbaa !5
  %1278 = sub nsw i32 %.fr585, %119
  %1279 = mul nsw i32 %1201, %1278
  %1280 = sext i32 %1279 to i64
  %1281 = getelementptr i32, ptr %702, i64 %1280
  %1282 = getelementptr i8, ptr %1281, i64 -4
  %1283 = load i32, ptr %1282, align 4, !tbaa !5
  %1284 = add i32 %1277, %.2510.lcssa
  %1285 = sub i32 %1284, %1283
  br label %1286

1286:                                             ; preds = %1272, %1234
  %.3511 = phi i32 [ %1271, %1234 ], [ %1285, %1272 ]
  %1287 = 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.88)
          to label %1288 unwind label %1300

1288:                                             ; preds = %1286
  %1289 = 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.89)
          to label %1290 unwind label %1300

1290:                                             ; preds = %1288
  %1291 = 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.90)
          to label %1292 unwind label %1300

1292:                                             ; preds = %1290
  %1293 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1291, i32 noundef %.3511)
          to label %1294 unwind label %1300

1294:                                             ; preds = %1292
  %1295 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1293, ptr noundef nonnull @.str.93)
          to label %1296 unwind label %1300

1296:                                             ; preds = %1294
  %1297 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1295, i32 noundef %122)
          to label %1298 unwind label %1300

1298:                                             ; preds = %1296
  %1299 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1297, ptr noundef nonnull @.str.49)
          to label %1302 unwind label %1300

1300:                                             ; preds = %1320, %1318, %1316, %1314, %1312, %1310, %1308, %1306, %1304, %1302, %1298, %1296, %1294, %1292, %1290, %1288, %1286
  %1301 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1302:                                             ; preds = %1298, %1188
  %1303 = 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.94)
          to label %1304 unwind label %1300

1304:                                             ; preds = %1302
  %1305 = 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.95)
          to label %1306 unwind label %1300

1306:                                             ; preds = %1304
  %1307 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1305, i32 noundef %339)
          to label %1308 unwind label %1300

1308:                                             ; preds = %1306
  %1309 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1307, ptr noundef nonnull @.str.49)
          to label %1310 unwind label %1300

1310:                                             ; preds = %1308
  %1311 = 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.96)
          to label %1312 unwind label %1300

1312:                                             ; preds = %1310
  %1313 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1311, i32 noundef %815)
          to label %1314 unwind label %1300

1314:                                             ; preds = %1312
  %1315 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1313, ptr noundef nonnull @.str.49)
          to label %1316 unwind label %1300

1316:                                             ; preds = %1314
  %1317 = 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.97)
          to label %1318 unwind label %1300

1318:                                             ; preds = %1316
  %1319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1317, i32 noundef %.1520)
          to label %1320 unwind label %1300

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

1322:                                             ; preds = %1320
  %1323 = add i32 %.1520, %815
  %1324 = load i32, ptr %3, align 4, !tbaa !5
  %1325 = load i32, ptr %4, align 4, !tbaa !5
  %1326 = mul nsw i32 %1325, %1324
  %1327 = 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.98)
          to label %1328 unwind label %1390

1328:                                             ; preds = %1322
  %1329 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1327, i32 noundef %1323)
          to label %1330 unwind label %1390

1330:                                             ; preds = %1328
  %1331 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1329, ptr noundef nonnull @.str.99)
          to label %1332 unwind label %1390

1332:                                             ; preds = %1330
  %1333 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1331, i32 noundef %1326)
          to label %1334 unwind label %1390

1334:                                             ; preds = %1332
  %1335 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1333, ptr noundef nonnull @.str.49)
          to label %1336 unwind label %1390

1336:                                             ; preds = %1334
  %1337 = load i32, ptr %3, align 4, !tbaa !5
  %1338 = load i32, ptr %10, align 4, !tbaa !5
  %1339 = sdiv i32 %1337, %1338
  %1340 = srem i32 %1337, %1338
  %1341 = icmp ne i32 %1340, 0
  %1342 = zext i1 %1341 to i32
  %1343 = add nsw i32 %1339, %1342
  %1344 = load i32, ptr %4, align 4, !tbaa !5
  %1345 = load i32, ptr %12, align 4, !tbaa !5
  %1346 = sdiv i32 %1344, %1345
  %1347 = srem i32 %1344, %1345
  %1348 = icmp ne i32 %1347, 0
  %1349 = zext i1 %1348 to i32
  %1350 = add nsw i32 %1346, %1349
  %1351 = load i32, ptr %14, align 4, !tbaa !5
  %1352 = mul i32 %1351, %1343
  %1353 = mul i32 %1352, %1350
  %1354 = load i32, ptr %16, align 4, !tbaa !5
  %1355 = sdiv i32 %1353, %1354
  %1356 = 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.100)
          to label %1357 unwind label %1392

1357:                                             ; preds = %1336
  %1358 = 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.101)
          to label %1359 unwind label %1392

1359:                                             ; preds = %1357
  %1360 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1358, i32 noundef %1355)
          to label %1361 unwind label %1392

1361:                                             ; preds = %1359
  %1362 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1360, ptr noundef nonnull @.str.49)
          to label %1363 unwind label %1392

1363:                                             ; preds = %1361
  %1364 = load i32, ptr %5, align 4, !tbaa !5
  %1365 = load i32, ptr %10, align 4, !tbaa !5
  %1366 = mul nsw i32 %1365, %1364
  %1367 = load i32, ptr %4, align 4, !tbaa !5
  %1368 = load i32, ptr %12, align 4, !tbaa !5
  %1369 = sdiv i32 %1367, %1368
  %1370 = srem i32 %1367, %1368
  %1371 = icmp ne i32 %1370, 0
  %1372 = zext i1 %1371 to i32
  %1373 = add nsw i32 %1369, %1372
  %1374 = mul nsw i32 %1366, %1373
  %1375 = load i32, ptr %14, align 4, !tbaa !5
  %1376 = sdiv i32 %1374, %1375
  %1377 = srem i32 %1374, %1375
  %1378 = icmp ne i32 %1377, 0
  %1379 = zext i1 %1378 to i32
  %1380 = add nsw i32 %1376, %1379
  %1381 = load i32, ptr %3, align 4, !tbaa !5
  %1382 = sdiv i32 %1381, %1365
  %1383 = srem i32 %1381, %1365
  %1384 = icmp ne i32 %1383, 0
  %1385 = zext i1 %1384 to i32
  %1386 = add nsw i32 %1382, %1385
  %1387 = mul nsw i32 %1386, %1380
  %1388 = icmp eq i32 %1367, %1368
  %spec.store.select = select i1 %1388, i32 0, i32 %1387
  %1389 = 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.102)
          to label %1394 unwind label %1427

1390:                                             ; preds = %1334, %1332, %1330, %1328, %1322
  %1391 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1392:                                             ; preds = %1361, %1359, %1357, %1336
  %1393 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1394:                                             ; preds = %1363
  %1395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1389, i32 noundef %spec.store.select)
          to label %1396 unwind label %1427

1396:                                             ; preds = %1394
  %1397 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1395, ptr noundef nonnull @.str.49)
          to label %1398 unwind label %1427

1398:                                             ; preds = %1396
  %1399 = 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.103)
          to label %1400 unwind label %1429

1400:                                             ; preds = %1398
  %1401 = sub i32 %1323, %1355
  %1402 = add nsw i32 %1401, %spec.store.select
  %1403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1399, i32 noundef %1402)
          to label %1404 unwind label %1429

1404:                                             ; preds = %1400
  %1405 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1403, ptr noundef nonnull @.str.104)
          to label %1406 unwind label %1429

1406:                                             ; preds = %1404
  %1407 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1405, i32 noundef %1374)
          to label %1408 unwind label %1429

1408:                                             ; preds = %1406
  %1409 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1407, ptr noundef nonnull @.str.49)
          to label %1410 unwind label %1429

1410:                                             ; preds = %1408
  %1411 = 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.105)
          to label %1412 unwind label %1429

1412:                                             ; preds = %1410
  %1413 = load i32, ptr %5, align 4, !tbaa !5
  %1414 = shl nsw i32 %1413, 1
  %1415 = load i32, ptr %3, align 4, !tbaa !5
  %1416 = mul nsw i32 %1414, %1415
  %1417 = load i32, ptr %4, align 4, !tbaa !5
  %1418 = load i32, ptr %12, align 4, !tbaa !5
  %1419 = sdiv i32 %1417, %1418
  %1420 = srem i32 %1417, %1418
  %1421 = icmp ne i32 %1420, 0
  %1422 = zext i1 %1421 to i32
  %1423 = add nsw i32 %1419, %1422
  %1424 = mul nsw i32 %1416, %1423
  %1425 = icmp eq i32 %1417, %1418
  %spec.store.select44 = select i1 %1425, i32 0, i32 %1424
  %1426 = 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.106)
          to label %1431 unwind label %1469

1427:                                             ; preds = %1396, %1394, %1363
  %1428 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1429:                                             ; preds = %1410, %1408, %1406, %1404, %1400, %1398
  %1430 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1431:                                             ; preds = %1412
  %1432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1426, i32 noundef %spec.store.select44)
          to label %1433 unwind label %1469

1433:                                             ; preds = %1431
  %1434 = load i32, ptr %984, align 4, !tbaa !58
  %1435 = load i32, ptr %992, align 8, !tbaa !66
  %1436 = load i32, ptr %1000, align 4, !tbaa !67
  %1437 = load i32, ptr %1008, align 8, !tbaa !68
  %1438 = load i32, ptr %458, align 4, !tbaa !58
  %1439 = load i32, ptr %466, align 8, !tbaa !66
  %1440 = load i32, ptr %474, align 4, !tbaa !67
  %1441 = load i32, ptr %482, align 8, !tbaa !68
  %1442 = 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.107)
          to label %1443 unwind label %1471

1443:                                             ; preds = %1433
  %1444 = add i32 %1435, %1434
  %1445 = add i32 %1444, %1436
  %1446 = add i32 %1445, %1437
  %1447 = add i32 %1446, %1438
  %1448 = add i32 %1447, %1439
  %1449 = add i32 %1448, %1440
  %1450 = add i32 %1449, %1441
  %1451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1442, i32 noundef %1450)
          to label %1452 unwind label %1471

1452:                                             ; preds = %1443
  %1453 = load i32, ptr %992, align 8, !tbaa !66
  %1454 = load i32, ptr %1000, align 4, !tbaa !67
  %1455 = load i32, ptr %1008, align 8, !tbaa !68
  %1456 = load i32, ptr %458, align 4, !tbaa !58
  %1457 = load i32, ptr %466, align 8, !tbaa !66
  %1458 = 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.108)
          to label %1459 unwind label %1473

1459:                                             ; preds = %1452
  %1460 = add i32 %1453, %spec.store.select44
  %1461 = add i32 %1460, %1454
  %1462 = add i32 %1461, %1455
  %1463 = add i32 %1462, %1456
  %1464 = add i32 %1463, %1457
  %1465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1458, i32 noundef %1464)
          to label %1466 unwind label %1473

1466:                                             ; preds = %1459
  %1467 = 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.109)
          to label %1468 unwind label %1473

1468:                                             ; preds = %1466
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %54) #15
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %54) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #15
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %51) #15
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %45) #15
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %45) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #15
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %42) #15
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %36) #15
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %35) #15
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %34) #15
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %34) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #15
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %31) #15
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %31) #15
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30) #15
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %30) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #15
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %27) #15
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %27) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #15
  br label %1495

1469:                                             ; preds = %1431, %1412
  %1470 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1471:                                             ; preds = %1443, %1433
  %1472 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1473:                                             ; preds = %1466, %1459, %1452
  %1474 = landingpad { ptr, i32 }
          cleanup
  br label %1475

1475:                                             ; preds = %1152, %1390, %1427, %1469, %1473, %1471, %1429, %1392, %1300, %1044
  %.pn586.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1045, %1044 ], [ %1153, %1152 ], [ %1301, %1300 ], [ %1391, %1390 ], [ %1393, %1392 ], [ %1428, %1427 ], [ %1430, %1429 ], [ %1470, %1469 ], [ %1474, %1473 ], [ %1472, %1471 ]
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %54) #15
  br label %1476

1476:                                             ; preds = %1475, %1042
  %.pn586.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn586.pn.pn.pn.pn.pn.pn.pn.pn, %1475 ], [ %1043, %1042 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %54) #15
  br label %1477

1477:                                             ; preds = %1476, %1040
  %.pn586.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn586.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1476 ], [ %1041, %1040 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #15
  br label %1478

1478:                                             ; preds = %1477, %965, %953
  %.pn586.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn586.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1477 ], [ %954, %953 ], [ %966, %965 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %51) #15
  br label %1479

1479:                                             ; preds = %657, %703, %739, %743, %749, %758, %813, %1478, %881, %837, %823, %811, %809, %807, %741, %705, %659, %611, %506
  %.pn611 = phi { ptr, i32 } [ %612, %611 ], [ %507, %506 ], [ %658, %657 ], [ %660, %659 ], [ %704, %703 ], [ %706, %705 ], [ %740, %739 ], [ %742, %741 ], [ %.pn579, %749 ], [ %.pn577, %758 ], [ %744, %743 ], [ %808, %807 ], [ %812, %811 ], [ %810, %809 ], [ %814, %813 ], [ %838, %837 ], [ %882, %881 ], [ %.pn586.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1478 ], [ %824, %823 ]
  call void @_ZN13SDMemoryStatsD2Ev(ptr noundef nonnull align 8 dereferenceable(152) %45) #15
  br label %1480

1480:                                             ; preds = %1479, %504
  %.pn611.pn = phi { ptr, i32 } [ %.pn611, %1479 ], [ %505, %504 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %45) #15
  br label %1481

1481:                                             ; preds = %1480, %502
  %.pn611.pn.pn = phi { ptr, i32 } [ %.pn611.pn, %1480 ], [ %503, %502 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #15
  br label %1482

1482:                                             ; preds = %1481, %439, %427
  %.pn611.pn.pn.pn = phi { ptr, i32 } [ %.pn611.pn.pn, %1481 ], [ %428, %427 ], [ %440, %439 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %42) #15
  br label %1483

1483:                                             ; preds = %347, %349, %351, %1482, %367, %353, %326, %317, %311
  %.pn616.pn.pn = phi { ptr, i32 } [ %.pn575, %317 ], [ %.pn, %326 ], [ %312, %311 ], [ %348, %347 ], [ %352, %351 ], [ %350, %349 ], [ %368, %367 ], [ %.pn611.pn.pn.pn, %1482 ], [ %354, %353 ]
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %36) #15
  br label %1484

1484:                                             ; preds = %1483, %309
  %.pn616.pn.pn.pn = phi { ptr, i32 } [ %.pn616.pn.pn, %1483 ], [ %310, %309 ]
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %35) #15
  br label %1485

1485:                                             ; preds = %236, %265, %305, %1484, %307, %303, %263, %220, %204, %194, %188
  %.pn627 = phi { ptr, i32 } [ %189, %188 ], [ %205, %204 ], [ %221, %220 ], [ %195, %194 ], [ %237, %236 ], [ %264, %263 ], [ %266, %265 ], [ %304, %303 ], [ %306, %305 ], [ %.pn616.pn.pn.pn, %1484 ], [ %308, %307 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %34) #15
  br label %1486

1486:                                             ; preds = %1485, %179
  %.pn627.pn = phi { ptr, i32 } [ %.pn627, %1485 ], [ %180, %179 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %34) #15
  br label %1487

1487:                                             ; preds = %1486, %177
  %.pn627.pn.pn = phi { ptr, i32 } [ %.pn627.pn, %1486 ], [ %178, %177 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #15
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %31) #15
  br label %1488

1488:                                             ; preds = %1487, %175
  %.pn627.pn.pn.pn = phi { ptr, i32 } [ %.pn627.pn.pn, %1487 ], [ %176, %175 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %31) #15
  br label %1489

1489:                                             ; preds = %173, %1488, %171, %155
  %.pn633 = phi { ptr, i32 } [ %156, %155 ], [ %172, %171 ], [ %.pn627.pn.pn.pn, %1488 ], [ %174, %173 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30) #15
  br label %1490

1490:                                             ; preds = %1489, %145
  %.pn633.pn = phi { ptr, i32 } [ %.pn633, %1489 ], [ %146, %145 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %30) #15
  br label %1491

1491:                                             ; preds = %1490, %143
  %.pn633.pn.pn = phi { ptr, i32 } [ %.pn633.pn, %1490 ], [ %144, %143 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #15
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %27) #15
  br label %1492

1492:                                             ; preds = %1491, %141
  %.pn633.pn.pn.pn = phi { ptr, i32 } [ %.pn633.pn.pn, %1491 ], [ %142, %141 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %27) #15
  br label %1493

1493:                                             ; preds = %1492, %139
  %.pn633.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn633.pn.pn.pn, %1492 ], [ %140, %139 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #15
  br label %1494

1494:                                             ; preds = %1493, %137
  %.pn633.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn633.pn.pn.pn.pn, %1493 ], [ %138, %137 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #15
  br label %1513

1495:                                             ; preds = %1468, %115
  br i1 %82, label %1496, label %1512

1496:                                             ; preds = %1495
  %1497 = load i32, ptr %9, align 4
  %1498 = load i32, ptr %12, align 4
  %1499 = call i32 @llvm.smax.i32(i32 %1497, i32 %1498)
  %1500 = load i32, ptr %3, align 4, !tbaa !5
  %1501 = shl nsw i32 %1500, 1
  %1502 = mul nsw i32 %1501, %1499
  %1503 = 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 %1504 unwind label %1510

1504:                                             ; preds = %1496
  %1505 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1503, i32 noundef 0)
          to label %1506 unwind label %1510

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

1508:                                             ; preds = %1506
  %1509 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1507, i32 noundef %1502)
          to label %1512 unwind label %1510

1510:                                             ; preds = %1508, %1506, %1504, %1496
  %1511 = landingpad { ptr, i32 }
          cleanup
  br label %1513

1512:                                             ; preds = %1508, %1495
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #15
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #15
  ret i32 0

1513:                                             ; preds = %1510, %1494, %113, %74
  %.pn633.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn633.pn.pn.pn.pn.pn, %1494 ], [ %1511, %1510 ], [ %114, %113 ], [ %75, %74 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #15
  br label %1514

1514:                                             ; preds = %1513, %72
  %.pn633.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn633.pn.pn.pn.pn.pn.pn, %1513 ], [ %73, %72 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #15
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #15
  br label %1515

1515:                                             ; preds = %1514, %70
  %.pn633.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn633.pn.pn.pn.pn.pn.pn.pn, %1514 ], [ %71, %70 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #15
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #15
  resume { ptr, i32 } %.pn633.pn.pn.pn.pn.pn.pn.pn.pn
}

; 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) #5

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 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 #0 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 #6

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

declare noundef ptr @_Z19generateMatrixDensejjf(i32 noundef, i32 noundef, float noundef) local_unnamed_addr #6

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

declare noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) local_unnamed_addr #6

; 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 #6

; 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 #6

; 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 #0 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN6Stonne9getCyclesEv(ptr noundef nonnull align 8 dereferenceable(316)) local_unnamed_addr #2 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 #6

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

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

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #10

; 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 #0 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 #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) local_unnamed_addr #0 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 #6

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

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 #6

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

; 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 @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #2 align 2

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smax.i32(i32, i32) #13

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umax.i32(i32, i32) #13

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

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #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 = { 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 #5 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { "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 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #14 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #15 = { nounwind }
attributes #16 = { builtin allocsize(0) }
attributes #17 = { builtin nounwind }
attributes #18 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!7, !7, i64 0}
!10 = distinct !{!10, !11}
!11 = !{!"llvm.loop.mustprogress"}
!12 = distinct !{!12, !11}
!13 = distinct !{!13, !11}
!14 = distinct !{!14, !11}
!15 = !{!16, !16, i64 0}
!16 = !{!"float", !7, i64 0}
!17 = distinct !{!17, !11, !18, !19}
!18 = !{!"llvm.loop.isvectorized", i32 1}
!19 = !{!"llvm.loop.unroll.runtime.disable"}
!20 = distinct !{!20, !11, !19, !18}
!21 = distinct !{!21, !22}
!22 = !{!"llvm.loop.unroll.disable"}
!23 = distinct !{!23, !11, !18, !19}
!24 = distinct !{!24, !11, !18}
!25 = !{!26, !6, i64 28}
!26 = !{!"_ZTS6Config", !6, i64 0, !27, i64 4, !28, i64 8, !29, i64 24, !31, i64 40, !32, i64 64, !34, i64 72, !35, i64 96, !36, i64 104}
!27 = !{!"_ZTS15DSNetworkConfig", !6, i64 0}
!28 = !{!"_ZTS13DSwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12}
!29 = !{!"_ZTS15MSNetworkConfig", !30, i64 0, !6, i64 4, !6, i64 8, !6, i64 12}
!30 = !{!"_ZTS19MultiplierNetwork_t", !7, i64 0}
!31 = !{!"_ZTS13MSwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20}
!32 = !{!"_ZTS15ASNetworkConfig", !33, i64 0, !6, i64 4}
!33 = !{!"_ZTS15ReduceNetwork_t", !7, i64 0}
!34 = !{!"_ZTS13ASwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20}
!35 = !{!"_ZTS17LookUpTableConfig", !6, i64 0, !6, i64 4}
!36 = !{!"_ZTS14SDMemoryConfig", !37, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !38, i64 28, !6, i64 32, !6, i64 36, !6, i64 40, !6, i64 44, !6, i64 48, !6, i64 52}
!37 = !{!"_ZTS18MemoryController_t", !7, i64 0}
!38 = !{!"_ZTS17MemoryHierarchy_t", !7, i64 0}
!39 = !{!26, !6, i64 112}
!40 = !{!26, !6, i64 116}
!41 = !{!26, !6, i64 68}
!42 = !{!26, !37, i64 104}
!43 = !{!26, !6, i64 0}
!44 = !{!26, !33, i64 64}
!45 = distinct !{!45, !11}
!46 = !{!47, !6, i64 16}
!47 = !{!"_ZTS14MSNetworkStats", !48, i64 0, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36}
!48 = !{!"_ZTS5Stats"}
!49 = !{!47, !6, i64 20}
!50 = !{!47, !6, i64 24}
!51 = !{!47, !6, i64 28}
!52 = !{!47, !6, i64 32}
!53 = !{!47, !6, i64 36}
!54 = !{!55, !6, i64 28}
!55 = !{!"_ZTS14ASNetworkStats", !48, i64 0, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !6, i64 28, !6, i64 32}
!56 = !{!57, !6, i64 24}
!57 = !{!"_ZTS14DSNetworkStats", !48, i64 0, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24}
!58 = !{!59, !6, i64 12}
!59 = !{!"_ZTS13SDMemoryStats", !48, i64 0, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 40, !6, i64 44, !60, i64 48, !61, i64 56, !61, i64 80, !61, i64 104, !61, i64 128}
!60 = !{!"_ZTS8Dataflow", !7, i64 0}
!61 = !{!"_ZTSSt6vectorIjSaIjEE", !62, i64 0}
!62 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !63, i64 0}
!63 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !64, i64 0}
!64 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !65, i64 0, !65, i64 8, !65, i64 16}
!65 = !{!"any pointer", !7, i64 0}
!66 = !{!59, !6, i64 16}
!67 = !{!59, !6, i64 20}
!68 = !{!59, !6, i64 24}
!69 = distinct !{!69, !11}
!70 = distinct !{!70, !11}
!71 = distinct !{!71, !11}
!72 = distinct !{!72, !11}
!73 = distinct !{!73, !11}
!74 = distinct !{!74, !22}
!75 = distinct !{!75, !11, !18, !19}
!76 = distinct !{!76, !11, !18}
!77 = distinct !{!77, !22}
!78 = distinct !{!78, !11, !18, !19}
!79 = distinct !{!79, !11, !18}
!80 = distinct !{!80, !11, !18, !19}
!81 = distinct !{!81, !22}
!82 = distinct !{!82, !11, !18}
!83 = distinct !{!83, !11}
!84 = distinct !{!84, !11}
!85 = distinct !{!85, !11}
!86 = distinct !{!86, !11}
!87 = distinct !{!87, !11}
!88 = distinct !{!88, !11}
!89 = distinct !{!89, !11}


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