; LLVM IR from NervanaSystems/ngraph :: doc/examples/mnist_mlp (dist_mnist_mlp)

; 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.ngraph::element::Type" = type { i32 }
%"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::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%class.MNistDataLoader = type { i64, %class.MNistImageLoader, %class.MNistLabelLoader, i32, i64, i64, %"class.std::unique_ptr", %"class.std::unique_ptr", i64 }
%class.MNistImageLoader = type { %class.MNistLoader, i32, i32 }
%class.MNistLoader = type { ptr, %"class.std::__cxx11::basic_string", ptr, i32, i32, %struct._G_fpos_t }
%"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] }
%struct._G_fpos_t = type { i64, %struct.__mbstate_t }
%struct.__mbstate_t = type { i32, %union.anon.136 }
%union.anon.136 = type { i32 }
%class.MNistLabelLoader = type { %class.MNistLoader }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.138" }
%"struct.std::_Head_base.138" = type { ptr }
%"class.std::allocator.56" = type { i8 }
%"class.std::shared_ptr.154" = type { %"class.std::__shared_ptr.155" }
%"class.std::__shared_ptr.155" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Shape" = type { %"class.std::vector.119" }
%"class.std::vector.119" = type { %"struct.std::_Vector_base.120" }
%"struct.std::_Vector_base.120" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.157" = type { ptr, i64 }
%"class.std::shared_ptr.158" = type { %"class.std::__shared_ptr.159" }
%"class.std::__shared_ptr.159" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.161" = type { %"class.std::__shared_ptr.162" }
%"class.std::__shared_ptr.162" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::AxisSet" = type { %"class.std::set.164" }
%"class.std::set.164" = type { %"class.std::_Rb_tree.165" }
%"class.std::_Rb_tree.165" = type { %"struct.std::_Rb_tree<unsigned long, unsigned long, std::_Identity<unsigned long>, std::less<unsigned long>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned long, unsigned long, std::_Identity<unsigned long>, std::less<unsigned long>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::shared_ptr.170" = type { %"class.std::__shared_ptr.171" }
%"class.std::__shared_ptr.171" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.27" = type { %"class.std::__shared_ptr.28" }
%"class.std::__shared_ptr.28" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.27", i64 }
%"class.std::shared_ptr.173" = type { %"class.std::__shared_ptr.174" }
%"class.std::__shared_ptr.174" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.176" = type { %"class.std::__shared_ptr.177" }
%"class.std::__shared_ptr.177" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.179" = type { %"class.std::__shared_ptr.180" }
%"class.std::__shared_ptr.180" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.182" = type { %"struct.std::_Vector_base.183" }
%"struct.std::_Vector_base.183" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.187" = type { ptr, i64 }
%"class.std::allocator.184" = type { i8 }
%"class.std::shared_ptr.188" = type { %"class.std::__shared_ptr.189" }
%"class.std::__shared_ptr.189" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.191" = type { %"class.std::__shared_ptr.192" }
%"class.std::__shared_ptr.192" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.194" = type { %"class.std::__shared_ptr.195" }
%"class.std::__shared_ptr.195" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.197" = type { %"class.std::__shared_ptr.198" }
%"class.std::__shared_ptr.198" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.200" = type { %"class.std::__shared_ptr.201" }
%"class.std::__shared_ptr.201" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::autodiff::Adjoints" = type { %"class.std::map.203" }
%"class.std::map.203" = type { %"class.std::_Rb_tree.204" }
%"class.std::_Rb_tree.204" = type { %"struct.std::_Rb_tree<ngraph::Node *, std::pair<ngraph::Node *const, std::vector<ngraph::Output<Node>>>, std::_Select1st<std::pair<ngraph::Node *const, std::vector<ngraph::Output<Node>>>>, std::less<ngraph::Node *>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ngraph::Node *, std::pair<ngraph::Node *const, std::vector<ngraph::Output<Node>>>, std::_Select1st<std::pair<ngraph::Node *const, std::vector<ngraph::Output<Node>>>>, std::less<ngraph::Node *>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.209" = type { %"struct.std::_Vector_base.210" }
%"struct.std::_Vector_base.210" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.214" = type { ptr, i64 }
%"class.std::allocator.211" = type { i8 }
%"class.std::shared_ptr.215" = type { %"class.std::__shared_ptr.216" }
%"class.std::__shared_ptr.216" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.24" = type { %"class.std::__shared_ptr.25" }
%"class.std::__shared_ptr.25" = type { ptr, %"class.std::__shared_count" }
%"class.std::function.218" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::_Bind" = type { %"class.std::uniform_real_distribution", %"class.std::tuple.220" }
%"class.std::uniform_real_distribution" = type { %"struct.std::uniform_real_distribution<float>::param_type" }
%"struct.std::uniform_real_distribution<float>::param_type" = type { float, float }
%"class.std::tuple.220" = type { %"struct.std::_Tuple_impl.221" }
%"struct.std::_Tuple_impl.221" = type { %"struct.std::_Head_base.222" }
%"struct.std::_Head_base.222" = type { %"class.std::linear_congruential_engine" }
%"class.std::linear_congruential_engine" = type { i64 }
%"class.std::unordered_map.223" = type { %"class.std::_Hashtable.224" }
%"class.std::_Hashtable.224" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::shared_ptr.237" = type { %"class.std::__shared_ptr.238" }
%"class.std::__shared_ptr.238" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Function" = type { %"class.ngraph::Lambda", i64, i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i64, %"class.std::function.240" }
%"class.ngraph::Lambda" = type { ptr, %"class.std::vector.144", %"class.std::vector.139" }
%"class.std::vector.144" = type { %"struct.std::_Vector_base.145" }
%"struct.std::_Vector_base.145" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.139" = type { %"struct.std::_Vector_base.140" }
%"struct.std::_Vector_base.140" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::function.240" = type { %"class.std::_Function_base", ptr }
%"class.std::initializer_list.242" = type { ptr, i64 }
%"class.std::allocator.141" = type { i8 }
%"class.std::shared_ptr.133" = type { %"class.std::__shared_ptr.134" }
%"class.std::__shared_ptr.134" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.149" = type { %"struct.std::_Vector_base.150" }
%"struct.std::_Vector_base.150" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::runtime::Tensor>, std::allocator<std::shared_ptr<ngraph::runtime::Tensor>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::runtime::Tensor>, std::allocator<std::shared_ptr<ngraph::runtime::Tensor>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::runtime::Tensor>, std::allocator<std::shared_ptr<ngraph::runtime::Tensor>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::runtime::Tensor>, std::allocator<std::shared_ptr<ngraph::runtime::Tensor>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::allocator.151" = type { i8 }

@_ZN16MNistImageLoader4TESTE = external constant ptr, align 8
@_ZN16MNistLabelLoader4TESTE = external global ptr, align 8
@_ZN16MNistImageLoader5TRAINE = external constant ptr, align 8
@_ZN16MNistLabelLoader5TRAINE = external global ptr, align 8
@_ZN6ngraph7element3f32E = external global %"class.ngraph::element::Type", align 4
@.str.4 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.6 = external hidden unnamed_addr constant [16 x i8], align 1

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), i64 noundef) #1

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef float @_Z13test_accuracyR15MNistDataLoaderSt10shared_ptrIN6ngraph7runtime10ExecutableEERKS1_INS3_6TensorEES9_S9_S9_S9_S9_S9_(ptr noundef nonnull align 8 dereferenceable(208), ptr noundef, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208)) #2 align 2

declare void @_ZN15MNistDataLoader4loadEv(ptr noundef nonnull align 8 dereferenceable(208)) #4

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK15MNistDataLoader20get_image_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208)) #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK15MNistDataLoader20get_label_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208)) #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr noundef %1) #5 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i64, align 8
  %7 = alloca i64, align 8
  %8 = alloca i64, align 8
  %9 = alloca i64, align 8
  %10 = alloca i64, align 8
  %11 = alloca float, align 4
  %12 = alloca %class.MNistDataLoader, align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator.56", align 1
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator.56", align 1
  %19 = alloca %class.MNistDataLoader, align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator.56", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator.56", align 1
  %24 = alloca i64, align 8
  %25 = alloca %"class.std::shared_ptr.154", align 8
  %26 = alloca %"class.ngraph::Shape", align 8
  %27 = alloca %"class.std::initializer_list.157", align 8
  %28 = alloca [2 x i64], align 8
  %29 = alloca %"class.std::shared_ptr.154", align 8
  %30 = alloca %"class.ngraph::Shape", align 8
  %31 = alloca %"class.std::initializer_list.157", align 8
  %32 = alloca [2 x i64], align 8
  %33 = alloca %"class.std::shared_ptr.154", align 8
  %34 = alloca %"class.ngraph::Shape", align 8
  %35 = alloca %"class.std::initializer_list.157", align 8
  %36 = alloca [1 x i64], align 8
  %37 = alloca %"class.std::shared_ptr.158", align 8
  %38 = alloca i32, align 4
  %39 = alloca %"class.std::shared_ptr.161", align 8
  %40 = alloca %"class.ngraph::Shape", align 8
  %41 = alloca %"class.std::initializer_list.157", align 8
  %42 = alloca [2 x i64], align 8
  %43 = alloca %"class.ngraph::AxisSet", align 8
  %44 = alloca %"class.std::initializer_list.157", align 8
  %45 = alloca [1 x i64], align 8
  %46 = alloca %"class.std::shared_ptr.170", align 8
  %47 = alloca %"class.std::shared_ptr.27", align 8
  %48 = alloca %"class.ngraph::Output", align 8
  %49 = alloca %"class.ngraph::Output", align 8
  %50 = alloca %"class.std::shared_ptr.154", align 8
  %51 = alloca %"class.ngraph::Shape", align 8
  %52 = alloca %"class.std::initializer_list.157", align 8
  %53 = alloca [2 x i64], align 8
  %54 = alloca %"class.std::shared_ptr.154", align 8
  %55 = alloca %"class.ngraph::Shape", align 8
  %56 = alloca %"class.std::initializer_list.157", align 8
  %57 = alloca [1 x i64], align 8
  %58 = alloca %"class.std::shared_ptr.158", align 8
  %59 = alloca i32, align 4
  %60 = alloca %"class.std::shared_ptr.161", align 8
  %61 = alloca %"class.ngraph::Shape", align 8
  %62 = alloca %"class.std::initializer_list.157", align 8
  %63 = alloca [2 x i64], align 8
  %64 = alloca %"class.ngraph::AxisSet", align 8
  %65 = alloca %"class.std::initializer_list.157", align 8
  %66 = alloca [1 x i64], align 8
  %67 = alloca %"class.std::shared_ptr.27", align 8
  %68 = alloca %"class.ngraph::Output", align 8
  %69 = alloca %"class.ngraph::Output", align 8
  %70 = alloca %"class.std::shared_ptr.173", align 8
  %71 = alloca %"class.ngraph::AxisSet", align 8
  %72 = alloca %"class.std::initializer_list.157", align 8
  %73 = alloca [1 x i64], align 8
  %74 = alloca %"class.std::shared_ptr.154", align 8
  %75 = alloca %"class.ngraph::Shape", align 8
  %76 = alloca %"class.std::initializer_list.157", align 8
  %77 = alloca [1 x i64], align 8
  %78 = alloca %"class.std::shared_ptr.176", align 8
  %79 = alloca %"class.ngraph::Shape", align 8
  %80 = alloca %"class.std::initializer_list.157", align 8
  %81 = alloca [2 x i64], align 8
  %82 = alloca i32, align 4
  %83 = alloca %"class.std::shared_ptr.179", align 8
  %84 = alloca %"class.ngraph::Shape", align 8
  %85 = alloca %"class.std::vector.182", align 8
  %86 = alloca %"class.std::initializer_list.187", align 8
  %87 = alloca [1 x float], align 4
  %88 = alloca %"class.std::allocator.184", align 1
  %89 = alloca %"class.std::shared_ptr.161", align 8
  %90 = alloca %"class.ngraph::Shape", align 8
  %91 = alloca %"class.std::initializer_list.157", align 8
  %92 = alloca [2 x i64], align 8
  %93 = alloca %"class.ngraph::AxisSet", align 8
  %94 = alloca %"class.std::initializer_list.157", align 8
  %95 = alloca [2 x i64], align 8
  %96 = alloca %"class.std::shared_ptr.188", align 8
  %97 = alloca %"class.std::shared_ptr.191", align 8
  %98 = alloca %"class.std::shared_ptr.194", align 8
  %99 = alloca %"class.std::shared_ptr.154", align 8
  %100 = alloca %"class.ngraph::Shape", align 8
  %101 = alloca %"class.std::shared_ptr.197", align 8
  %102 = alloca %"class.std::shared_ptr.200", align 8
  %103 = alloca %"class.ngraph::AxisSet", align 8
  %104 = alloca %"class.std::initializer_list.157", align 8
  %105 = alloca [2 x i64], align 8
  %106 = alloca %"class.std::shared_ptr.154", align 8
  %107 = alloca %"class.ngraph::Shape", align 8
  %108 = alloca %"class.std::shared_ptr.27", align 8
  %109 = alloca %"class.ngraph::Output", align 8
  %110 = alloca %"class.std::shared_ptr.27", align 8
  %111 = alloca %"class.ngraph::Output", align 8
  %112 = alloca %"class.ngraph::Output", align 8
  %113 = alloca %"class.ngraph::autodiff::Adjoints", align 8
  %114 = alloca %"class.std::vector.209", align 8
  %115 = alloca %"class.std::initializer_list.214", align 8
  %116 = alloca [1 x %"class.ngraph::Output"], align 8
  %117 = alloca ptr, align 8
  %118 = alloca %"class.std::allocator.211", align 1
  %119 = alloca %"class.std::vector.209", align 8
  %120 = alloca %"class.std::initializer_list.214", align 8
  %121 = alloca [1 x %"class.ngraph::Output"], align 8
  %122 = alloca ptr, align 8
  %123 = alloca %"class.std::allocator.211", align 1
  %124 = alloca %"class.ngraph::Output", align 8
  %125 = alloca %"class.ngraph::Output", align 8
  %126 = alloca %"class.ngraph::Output", align 8
  %127 = alloca %"class.ngraph::Output", align 8
  %128 = alloca %"class.ngraph::Output", align 8
  %129 = alloca %"class.ngraph::Output", align 8
  %130 = alloca %"class.ngraph::Output", align 8
  %131 = alloca %"class.ngraph::Output", align 8
  %132 = alloca %"class.std::shared_ptr.215", align 8
  %133 = alloca %"class.std::shared_ptr.215", align 8
  %134 = alloca %"class.std::shared_ptr.215", align 8
  %135 = alloca %"class.std::shared_ptr.215", align 8
  %136 = alloca %"class.std::shared_ptr.27", align 8
  %137 = alloca %"class.ngraph::Output", align 8
  %138 = alloca %"class.ngraph::Output", align 8
  %139 = alloca %"class.std::shared_ptr.27", align 8
  %140 = alloca %"class.ngraph::Output", align 8
  %141 = alloca %"class.ngraph::Output", align 8
  %142 = alloca %"class.std::shared_ptr.27", align 8
  %143 = alloca %"class.ngraph::Output", align 8
  %144 = alloca %"class.ngraph::Output", align 8
  %145 = alloca %"class.std::shared_ptr.27", align 8
  %146 = alloca %"class.ngraph::Output", align 8
  %147 = alloca %"class.ngraph::Output", align 8
  %148 = alloca %"class.std::shared_ptr.24", align 8
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::allocator.56", align 1
  %151 = alloca %"class.std::shared_ptr", align 8
  %152 = alloca %"class.std::shared_ptr.27", align 8
  %153 = alloca %"class.std::shared_ptr", align 8
  %154 = alloca %"class.std::shared_ptr.27", align 8
  %155 = alloca %"class.std::shared_ptr", align 8
  %156 = alloca %"class.std::shared_ptr.27", align 8
  %157 = alloca %"class.std::shared_ptr", align 8
  %158 = alloca %"class.std::shared_ptr.27", align 8
  %159 = alloca %"class.std::function.218", align 8
  %160 = alloca %"class.std::_Bind", align 8
  %161 = alloca %"class.std::uniform_real_distribution", align 4
  %162 = alloca %"class.std::linear_congruential_engine", align 8
  %163 = alloca %"class.std::function.218", align 8
  %164 = alloca %"class.std::function.218", align 8
  %165 = alloca %"class.std::function.218", align 8
  %166 = alloca %"class.std::function.218", align 8
  %167 = alloca %"class.std::shared_ptr", align 8
  %168 = alloca %"class.std::shared_ptr.27", align 8
  %169 = alloca %"class.std::shared_ptr", align 8
  %170 = alloca %"class.std::shared_ptr.27", align 8
  %171 = alloca %"class.std::shared_ptr", align 8
  %172 = alloca %"class.std::shared_ptr.27", align 8
  %173 = alloca %"class.std::shared_ptr", align 8
  %174 = alloca %"class.std::shared_ptr.27", align 8
  %175 = alloca %"class.std::shared_ptr", align 8
  %176 = alloca %"class.std::shared_ptr", align 8
  %177 = alloca %"class.std::shared_ptr", align 8
  %178 = alloca %"class.std::shared_ptr", align 8
  %179 = alloca %"class.std::shared_ptr", align 8
  %180 = alloca %"class.std::shared_ptr.27", align 8
  %181 = alloca %"class.std::shared_ptr", align 8
  %182 = alloca %"class.std::shared_ptr.27", align 8
  %183 = alloca %"class.std::unordered_map.223", align 8
  %184 = alloca %"class.std::shared_ptr.237", align 8
  %185 = alloca %"class.ngraph::Function", align 8
  %186 = alloca %"class.std::vector.209", align 8
  %187 = alloca %"class.std::initializer_list.214", align 8
  %188 = alloca [6 x %"class.ngraph::Output"], align 8
  %189 = alloca ptr, align 8
  %190 = alloca %"class.std::allocator.211", align 1
  %191 = alloca %"class.std::vector.139", align 8
  %192 = alloca %"class.std::initializer_list.242", align 8
  %193 = alloca [8 x %"class.std::shared_ptr.154"], align 8
  %194 = alloca %"class.std::allocator.141", align 1
  %195 = alloca %"class.std::__cxx11::basic_string", align 8
  %196 = alloca %"class.std::allocator.56", align 1
  %197 = alloca %"class.std::shared_ptr.133", align 8
  %198 = alloca %"class.std::shared_ptr.237", align 8
  %199 = alloca %"class.std::unordered_map.223", align 8
  %200 = alloca %"class.std::shared_ptr.237", align 8
  %201 = alloca %"class.ngraph::Function", align 8
  %202 = alloca %"class.std::vector.209", align 8
  %203 = alloca %"class.std::initializer_list.214", align 8
  %204 = alloca [1 x %"class.ngraph::Output"], align 8
  %205 = alloca ptr, align 8
  %206 = alloca %"class.std::allocator.211", align 1
  %207 = alloca %"class.std::vector.139", align 8
  %208 = alloca %"class.std::initializer_list.242", align 8
  %209 = alloca [5 x %"class.std::shared_ptr.154"], align 8
  %210 = alloca %"class.std::allocator.141", align 1
  %211 = alloca %"class.std::__cxx11::basic_string", align 8
  %212 = alloca %"class.std::allocator.56", align 1
  %213 = alloca %"class.std::shared_ptr.133", align 8
  %214 = alloca %"class.std::shared_ptr.237", align 8
  %215 = alloca i64, align 8
  %216 = alloca %"class.std::vector.149", align 8
  %217 = alloca %"class.std::initializer_list", align 8
  %218 = alloca [6 x %"class.std::shared_ptr"], align 8
  %219 = alloca %"class.std::allocator.151", align 1
  %220 = alloca %"class.std::vector.149", align 8
  %221 = alloca %"class.std::initializer_list", align 8
  %222 = alloca [8 x %"class.std::shared_ptr"], align 8
  %223 = alloca %"class.std::allocator.151", align 1
  %224 = alloca %"class.std::shared_ptr.133", align 8
  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 8, ptr %6) #8
  store i64 5, ptr %6, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #8
  store i64 128, ptr %7, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #8
  store i64 10, ptr %8, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #8
  store i64 600, ptr %9, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  %225 = load i64, ptr %8, align 8, !tbaa !11
  store i64 %225, ptr %10, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #8
  %226 = call double @exp(double noundef -5.000000e+01) #8
  %227 = fptrunc double %226 to float
  store float %227, ptr %11, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 208, ptr %12) #8
  %228 = load i64, ptr %7, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #8
  %229 = load ptr, ptr @_ZN16MNistImageLoader4TESTE, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef %229, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %230 unwind label %633

230:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #8
  %231 = load ptr, ptr @_ZN16MNistLabelLoader4TESTE, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef %231, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %232 unwind label %637

232:                                              ; preds = %230
  invoke void @_ZN15MNistDataLoaderC1EmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(208) %12, i64 noundef %228, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %233 unwind label %641

233:                                              ; preds = %232
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  call void @llvm.lifetime.start.p0(i64 208, ptr %19) #8
  %234 = load i64, ptr %7, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #8
  %235 = load ptr, ptr @_ZN16MNistImageLoader5TRAINE, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %235, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %236 unwind label %647

236:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #8
  %237 = load ptr, ptr @_ZN16MNistLabelLoader5TRAINE, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %237, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %238 unwind label %651

238:                                              ; preds = %236
  invoke void @_ZN15MNistDataLoaderC1EmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(208) %19, i64 noundef %234, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %239 unwind label %655

239:                                              ; preds = %238
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #8
  invoke void @_ZN15MNistDataLoader4openEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %240 unwind label %661

240:                                              ; preds = %239
  invoke void @_ZN15MNistDataLoader4openEv(ptr noundef nonnull align 8 dereferenceable(208) %12)
          to label %241 unwind label %661

241:                                              ; preds = %240
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %242 = invoke noundef i32 @_ZN15MNistDataLoader11get_columnsEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %243 unwind label %665

243:                                              ; preds = %241
  %244 = invoke noundef i32 @_ZN15MNistDataLoader8get_rowsEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %245 unwind label %665

245:                                              ; preds = %243
  %246 = mul i32 %242, %244
  %247 = zext i32 %246 to i64
  store i64 %247, ptr %24, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #8
  %248 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %248, ptr %28, align 8, !tbaa !11
  %249 = getelementptr inbounds i64, ptr %28, i64 1
  %250 = load i64, ptr %24, align 8, !tbaa !11
  store i64 %250, ptr %249, align 8, !tbaa !11
  %251 = getelementptr inbounds %"class.std::initializer_list.157", ptr %27, i32 0, i32 0
  store ptr %28, ptr %251, align 8, !tbaa !15
  %252 = getelementptr inbounds %"class.std::initializer_list.157", ptr %27, i32 0, i32 1
  store i64 2, ptr %252, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %253 unwind label %669

253:                                              ; preds = %245
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.154") align 8 %25, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %26)
          to label %254 unwind label %673

254:                                              ; preds = %253
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %30) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #8
  %255 = load i64, ptr %24, align 8, !tbaa !11
  store i64 %255, ptr %32, align 8, !tbaa !11
  %256 = getelementptr inbounds i64, ptr %32, i64 1
  %257 = load i64, ptr %9, align 8, !tbaa !11
  store i64 %257, ptr %256, align 8, !tbaa !11
  %258 = getelementptr inbounds %"class.std::initializer_list.157", ptr %31, i32 0, i32 0
  store ptr %32, ptr %258, align 8, !tbaa !15
  %259 = getelementptr inbounds %"class.std::initializer_list.157", ptr %31, i32 0, i32 1
  store i64 2, ptr %259, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %260 unwind label %678

260:                                              ; preds = %254
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.154") align 8 %29, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %261 unwind label %682

261:                                              ; preds = %260
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  %262 = load i64, ptr %9, align 8, !tbaa !11
  store i64 %262, ptr %36, align 8, !tbaa !11
  %263 = getelementptr inbounds %"class.std::initializer_list.157", ptr %35, i32 0, i32 0
  store ptr %36, ptr %263, align 8, !tbaa !15
  %264 = getelementptr inbounds %"class.std::initializer_list.157", ptr %35, i32 0, i32 1
  store i64 1, ptr %264, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %265 unwind label %687

265:                                              ; preds = %261
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.154") align 8 %33, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %266 unwind label %691

266:                                              ; preds = %265
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #8
  store i32 1, ptr %38, align 4, !tbaa !5
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRSt10shared_ptrINS2_9ParameterEES7_iEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES9_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.158") align 8 %37, ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull align 8 dereferenceable(16) %29, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %267 unwind label %696

267:                                              ; preds = %266
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #8
  %268 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %268, ptr %42, align 8, !tbaa !11
  %269 = getelementptr inbounds i64, ptr %42, i64 1
  %270 = load i64, ptr %9, align 8, !tbaa !11
  store i64 %270, ptr %269, align 8, !tbaa !11
  %271 = getelementptr inbounds %"class.std::initializer_list.157", ptr %41, i32 0, i32 0
  store ptr %42, ptr %271, align 8, !tbaa !15
  %272 = getelementptr inbounds %"class.std::initializer_list.157", ptr %41, i32 0, i32 1
  store i64 2, ptr %272, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %273 unwind label %700

273:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 48, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #8
  store i64 0, ptr %45, align 8, !tbaa !11
  %274 = getelementptr inbounds %"class.std::initializer_list.157", ptr %44, i32 0, i32 0
  store ptr %45, ptr %274, align 8, !tbaa !15
  %275 = getelementptr inbounds %"class.std::initializer_list.157", ptr %44, i32 0, i32 1
  store i64 1, ptr %275, align 8, !tbaa !17
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %276 unwind label %704

276:                                              ; preds = %273
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.161") align 8 %39, ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(48) %43)
          to label %277 unwind label %708

277:                                              ; preds = %276
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %43) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %48) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %278 unwind label %714

278:                                              ; preds = %277
  call void @llvm.lifetime.start.p0(i64 24, ptr %49) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %279 unwind label %718

279:                                              ; preds = %278
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %47, ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %280 unwind label %722

280:                                              ; preds = %279
  invoke void @_ZSt11make_sharedIN6ngraph2op2v04ReluEJSt10shared_ptrINS0_4NodeEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES8_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.170") align 8 %46, ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %281 unwind label %726

281:                                              ; preds = %280
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #8
  %282 = load i64, ptr %9, align 8, !tbaa !11
  store i64 %282, ptr %53, align 8, !tbaa !11
  %283 = getelementptr inbounds i64, ptr %53, i64 1
  %284 = load i64, ptr %10, align 8, !tbaa !11
  store i64 %284, ptr %283, align 8, !tbaa !11
  %285 = getelementptr inbounds %"class.std::initializer_list.157", ptr %52, i32 0, i32 0
  store ptr %53, ptr %285, align 8, !tbaa !15
  %286 = getelementptr inbounds %"class.std::initializer_list.157", ptr %52, i32 0, i32 1
  store i64 2, ptr %286, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(16) %52)
          to label %287 unwind label %733

287:                                              ; preds = %281
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.154") align 8 %50, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %51)
          to label %288 unwind label %737

288:                                              ; preds = %287
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #8
  %289 = load i64, ptr %10, align 8, !tbaa !11
  store i64 %289, ptr %57, align 8, !tbaa !11
  %290 = getelementptr inbounds %"class.std::initializer_list.157", ptr %56, i32 0, i32 0
  store ptr %57, ptr %290, align 8, !tbaa !15
  %291 = getelementptr inbounds %"class.std::initializer_list.157", ptr %56, i32 0, i32 1
  store i64 1, ptr %291, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %292 unwind label %742

292:                                              ; preds = %288
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.154") align 8 %54, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %55)
          to label %293 unwind label %746

293:                                              ; preds = %292
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #8
  store i32 1, ptr %59, align 4, !tbaa !5
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRSt10shared_ptrINS2_4ReluEERS4_INS2_9ParameterEEiEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.158") align 8 %58, ptr noundef nonnull align 8 dereferenceable(16) %46, ptr noundef nonnull align 8 dereferenceable(16) %50, ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %294 unwind label %751

294:                                              ; preds = %293
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %61) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #8
  %295 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %295, ptr %63, align 8, !tbaa !11
  %296 = getelementptr inbounds i64, ptr %63, i64 1
  %297 = load i64, ptr %10, align 8, !tbaa !11
  store i64 %297, ptr %296, align 8, !tbaa !11
  %298 = getelementptr inbounds %"class.std::initializer_list.157", ptr %62, i32 0, i32 0
  store ptr %63, ptr %298, align 8, !tbaa !15
  %299 = getelementptr inbounds %"class.std::initializer_list.157", ptr %62, i32 0, i32 1
  store i64 2, ptr %299, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(16) %62)
          to label %300 unwind label %755

300:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 48, ptr %64) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #8
  store i64 0, ptr %66, align 8, !tbaa !11
  %301 = getelementptr inbounds %"class.std::initializer_list.157", ptr %65, i32 0, i32 0
  store ptr %66, ptr %301, align 8, !tbaa !15
  %302 = getelementptr inbounds %"class.std::initializer_list.157", ptr %65, i32 0, i32 1
  store i64 1, ptr %302, align 8, !tbaa !17
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %64, ptr noundef nonnull align 8 dereferenceable(16) %65)
          to label %303 unwind label %759

303:                                              ; preds = %300
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.161") align 8 %60, ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(48) %64)
          to label %304 unwind label %763

304:                                              ; preds = %303
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %64) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %68) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %305 unwind label %769

305:                                              ; preds = %304
  call void @llvm.lifetime.start.p0(i64 24, ptr %69) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(16) %60)
          to label %306 unwind label %773

306:                                              ; preds = %305
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %67, ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(24) %69)
          to label %307 unwind label %777

307:                                              ; preds = %306
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #8
  store i64 1, ptr %73, align 8, !tbaa !11
  %308 = getelementptr inbounds %"class.std::initializer_list.157", ptr %72, i32 0, i32 0
  store ptr %73, ptr %308, align 8, !tbaa !15
  %309 = getelementptr inbounds %"class.std::initializer_list.157", ptr %72, i32 0, i32 1
  store i64 1, ptr %309, align 8, !tbaa !17
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %71, ptr noundef nonnull align 8 dereferenceable(16) %72)
          to label %310 unwind label %783

310:                                              ; preds = %307
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07SoftmaxEJRSt10shared_ptrINS0_4NodeEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.173") align 8 %70, ptr noundef nonnull align 8 dereferenceable(16) %67, ptr noundef nonnull align 8 dereferenceable(48) %71)
          to label %311 unwind label %787

311:                                              ; preds = %310
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %76) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #8
  %312 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %312, ptr %77, align 8, !tbaa !11
  %313 = getelementptr inbounds %"class.std::initializer_list.157", ptr %76, i32 0, i32 0
  store ptr %77, ptr %313, align 8, !tbaa !15
  %314 = getelementptr inbounds %"class.std::initializer_list.157", ptr %76, i32 0, i32 1
  store i64 1, ptr %314, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %75, ptr noundef nonnull align 8 dereferenceable(16) %76)
          to label %315 unwind label %792

315:                                              ; preds = %311
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.154") align 8 %74, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %75)
          to label %316 unwind label %796

316:                                              ; preds = %315
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %79) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %80) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %81) #8
  %317 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %317, ptr %81, align 8, !tbaa !11
  %318 = getelementptr inbounds i64, ptr %81, i64 1
  %319 = load i64, ptr %8, align 8, !tbaa !11
  store i64 %319, ptr %318, align 8, !tbaa !11
  %320 = getelementptr inbounds %"class.std::initializer_list.157", ptr %80, i32 0, i32 0
  store ptr %81, ptr %320, align 8, !tbaa !15
  %321 = getelementptr inbounds %"class.std::initializer_list.157", ptr %80, i32 0, i32 1
  store i64 2, ptr %321, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 8 dereferenceable(16) %80)
          to label %322 unwind label %801

322:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #8
  store i32 1, ptr %82, align 4, !tbaa !5
  invoke void @_ZSt11make_sharedIN6ngraph2op2v06OneHotEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeEiEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.176") align 8 %78, ptr noundef nonnull align 8 dereferenceable(16) %74, ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 4 dereferenceable(4) %82)
          to label %323 unwind label %805

323:                                              ; preds = %322
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %79) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %83) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %84) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %84)
          to label %324 unwind label %810

324:                                              ; preds = %323
  call void @llvm.lifetime.start.p0(i64 24, ptr %85) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #8
  %325 = load float, ptr %11, align 4, !tbaa !13
  store float %325, ptr %87, align 4, !tbaa !13
  %326 = getelementptr inbounds %"class.std::initializer_list.187", ptr %86, i32 0, i32 0
  store ptr %87, ptr %326, align 8, !tbaa !18
  %327 = getelementptr inbounds %"class.std::initializer_list.187", ptr %86, i32 0, i32 1
  store i64 1, ptr %327, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %88) #8
  call void @_ZNSaIfEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #8
  %328 = getelementptr inbounds { ptr, i64 }, ptr %86, i32 0, i32 0
  %329 = load ptr, ptr %328, align 8
  %330 = getelementptr inbounds { ptr, i64 }, ptr %86, i32 0, i32 1
  %331 = load i64, ptr %330, align 8
  invoke void @_ZNSt6vectorIfSaIfEEC2ESt16initializer_listIfERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %85, ptr %329, i64 %331, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %332 unwind label %814

332:                                              ; preds = %324
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorIfSaIfEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.179") align 8 %83, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %84, ptr noundef nonnull align 8 dereferenceable(24) %85)
          to label %333 unwind label %818

333:                                              ; preds = %332
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #8
  call void @_ZNSt15__new_allocatorIfED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %84) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %89) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %90) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %91) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %92) #8
  %334 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %334, ptr %92, align 8, !tbaa !11
  %335 = getelementptr inbounds i64, ptr %92, i64 1
  %336 = load i64, ptr %8, align 8, !tbaa !11
  store i64 %336, ptr %335, align 8, !tbaa !11
  %337 = getelementptr inbounds %"class.std::initializer_list.157", ptr %91, i32 0, i32 0
  store ptr %92, ptr %337, align 8, !tbaa !15
  %338 = getelementptr inbounds %"class.std::initializer_list.157", ptr %91, i32 0, i32 1
  store i64 2, ptr %338, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %90, ptr noundef nonnull align 8 dereferenceable(16) %91)
          to label %339 unwind label %824

339:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 48, ptr %93) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %94) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %95) #8
  store i64 0, ptr %95, align 8, !tbaa !11
  %340 = getelementptr inbounds i64, ptr %95, i64 1
  store i64 1, ptr %340, align 8, !tbaa !11
  %341 = getelementptr inbounds %"class.std::initializer_list.157", ptr %94, i32 0, i32 0
  store ptr %95, ptr %341, align 8, !tbaa !15
  %342 = getelementptr inbounds %"class.std::initializer_list.157", ptr %94, i32 0, i32 1
  store i64 2, ptr %342, align 8, !tbaa !17
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %93, ptr noundef nonnull align 8 dereferenceable(16) %94)
          to label %343 unwind label %828

343:                                              ; preds = %339
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_8ConstantEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.161") align 8 %89, ptr noundef nonnull align 8 dereferenceable(16) %83, ptr noundef nonnull align 8 dereferenceable(24) %90, ptr noundef nonnull align 8 dereferenceable(48) %93)
          to label %344 unwind label %832

344:                                              ; preds = %343
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %95) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %93) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %90) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %96) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v17MaximumEJRSt10shared_ptrINS1_2v07SoftmaxEERS4_INS5_9BroadcastEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.188") align 8 %96, ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef nonnull align 8 dereferenceable(16) %89)
          to label %345 unwind label %838

345:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03LogEJRSt10shared_ptrINS1_2v17MaximumEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.191") align 8 %97, ptr noundef nonnull align 8 dereferenceable(16) %96)
          to label %346 unwind label %842

346:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 16, ptr %98) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRSt10shared_ptrINS1_2v03LogEERS4_INS5_6OneHotEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.194") align 8 %98, ptr noundef nonnull align 8 dereferenceable(16) %97, ptr noundef nonnull align 8 dereferenceable(16) %78)
          to label %347 unwind label %846

347:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 16, ptr %99) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %100) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %100)
          to label %348 unwind label %850

348:                                              ; preds = %347
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.154") align 8 %99, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %100)
          to label %349 unwind label %854

349:                                              ; preds = %348
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %101) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %102) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr %103) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %104) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %105) #8
  store i64 0, ptr %105, align 8, !tbaa !11
  %350 = getelementptr inbounds i64, ptr %105, i64 1
  store i64 1, ptr %350, align 8, !tbaa !11
  %351 = getelementptr inbounds %"class.std::initializer_list.157", ptr %104, i32 0, i32 0
  store ptr %105, ptr %351, align 8, !tbaa !15
  %352 = getelementptr inbounds %"class.std::initializer_list.157", ptr %104, i32 0, i32 1
  store i64 2, ptr %352, align 8, !tbaa !17
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %103, ptr noundef nonnull align 8 dereferenceable(16) %104)
          to label %353 unwind label %859

353:                                              ; preds = %349
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS1_2v18MultiplyEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.200") align 8 %102, ptr noundef nonnull align 8 dereferenceable(16) %98, ptr noundef nonnull align 8 dereferenceable(48) %103)
          to label %354 unwind label %863

354:                                              ; preds = %353
  invoke void @_ZSt11make_sharedIN6ngraph2op2v16DivideEJSt10shared_ptrINS1_2v03SumEERS4_INS5_9ParameterEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.197") align 8 %101, ptr noundef nonnull align 8 dereferenceable(16) %102, ptr noundef nonnull align 8 dereferenceable(16) %99)
          to label %355 unwind label %867

355:                                              ; preds = %354
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %102) #8
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %103) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %102) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %107) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %107)
          to label %356 unwind label %873

356:                                              ; preds = %355
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.154") align 8 %106, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %107)
          to label %357 unwind label %877

357:                                              ; preds = %356
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %107) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %107) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %108) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %109) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %110) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %111) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %111, ptr noundef nonnull align 8 dereferenceable(16) %106)
          to label %358 unwind label %882

358:                                              ; preds = %357
  invoke void @_ZN6ngraphngERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %110, ptr noundef nonnull align 8 dereferenceable(24) %111)
          to label %359 unwind label %886

359:                                              ; preds = %358
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(16) %110)
          to label %360 unwind label %890

360:                                              ; preds = %359
  call void @llvm.lifetime.start.p0(i64 24, ptr %112) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %112, ptr noundef nonnull align 8 dereferenceable(16) %101)
          to label %361 unwind label %894

361:                                              ; preds = %360
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %108, ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %112)
          to label %362 unwind label %898

362:                                              ; preds = %361
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %110) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %111) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %110) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %109) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr %113) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %114) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %116) #8
  store ptr %116, ptr %117, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %116, ptr noundef nonnull align 8 dereferenceable(16) %101)
          to label %363 unwind label %906

363:                                              ; preds = %362
  %364 = getelementptr inbounds %"class.std::initializer_list.214", ptr %115, i32 0, i32 0
  store ptr %116, ptr %364, align 8, !tbaa !21
  %365 = getelementptr inbounds %"class.std::initializer_list.214", ptr %115, i32 0, i32 1
  store i64 1, ptr %365, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 1, ptr %118) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #8
  %366 = getelementptr inbounds { ptr, i64 }, ptr %115, i32 0, i32 0
  %367 = load ptr, ptr %366, align 8
  %368 = getelementptr inbounds { ptr, i64 }, ptr %115, i32 0, i32 1
  %369 = load i64, ptr %368, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %114, ptr %367, i64 %369, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %370 unwind label %917

370:                                              ; preds = %363
  call void @llvm.lifetime.start.p0(i64 24, ptr %119) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %121) #8
  store ptr %121, ptr %122, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(16) %108)
          to label %371 unwind label %921

371:                                              ; preds = %370
  %372 = getelementptr inbounds %"class.std::initializer_list.214", ptr %120, i32 0, i32 0
  store ptr %121, ptr %372, align 8, !tbaa !21
  %373 = getelementptr inbounds %"class.std::initializer_list.214", ptr %120, i32 0, i32 1
  store i64 1, ptr %373, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 1, ptr %123) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #8
  %374 = getelementptr inbounds { ptr, i64 }, ptr %120, i32 0, i32 0
  %375 = load ptr, ptr %374, align 8
  %376 = getelementptr inbounds { ptr, i64 }, ptr %120, i32 0, i32 1
  %377 = load i64, ptr %376, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %119, ptr %375, i64 %377, ptr noundef nonnull align 1 dereferenceable(1) %123)
          to label %378 unwind label %932

378:                                              ; preds = %371
  invoke void @_ZN6ngraph8autodiff8AdjointsC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS5_EES9_(ptr noundef nonnull align 8 dereferenceable(48) %113, ptr noundef nonnull align 8 dereferenceable(24) %114, ptr noundef nonnull align 8 dereferenceable(24) %119)
          to label %379 unwind label %936

379:                                              ; preds = %378
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %119) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #8
  %380 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %121, i32 0, i32 0
  %381 = getelementptr inbounds %"class.ngraph::Output", ptr %380, i64 1
  br label %382

382:                                              ; preds = %382, %379
  %383 = phi ptr [ %381, %379 ], [ %384, %382 ]
  %384 = getelementptr inbounds %"class.ngraph::Output", ptr %383, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %384) #8
  %385 = icmp eq ptr %384, %380
  br i1 %385, label %386, label %382

386:                                              ; preds = %382
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %119) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #8
  %387 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %116, i32 0, i32 0
  %388 = getelementptr inbounds %"class.ngraph::Output", ptr %387, i64 1
  br label %389

389:                                              ; preds = %389, %386
  %390 = phi ptr [ %388, %386 ], [ %391, %389 ]
  %391 = getelementptr inbounds %"class.ngraph::Output", ptr %390, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %391) #8
  %392 = icmp eq ptr %391, %387
  br i1 %392, label %393, label %389

393:                                              ; preds = %389
  call void @llvm.lifetime.end.p0(i64 24, ptr %116) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %114) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %124) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %125) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %125, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %394 unwind label %958

394:                                              ; preds = %393
  invoke void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %124, ptr noundef nonnull align 8 dereferenceable(48) %113, ptr noundef nonnull align 8 dereferenceable(24) %125)
          to label %395 unwind label %962

395:                                              ; preds = %394
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %125) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %125) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %126) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %127) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %127, ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %396 unwind label %967

396:                                              ; preds = %395
  invoke void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %126, ptr noundef nonnull align 8 dereferenceable(48) %113, ptr noundef nonnull align 8 dereferenceable(24) %127)
          to label %397 unwind label %971

397:                                              ; preds = %396
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %127) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %128) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %129) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %129, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %398 unwind label %976

398:                                              ; preds = %397
  invoke void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %128, ptr noundef nonnull align 8 dereferenceable(48) %113, ptr noundef nonnull align 8 dereferenceable(24) %129)
          to label %399 unwind label %980

399:                                              ; preds = %398
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %129) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %130) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %131) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %131, ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %400 unwind label %985

400:                                              ; preds = %399
  invoke void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %130, ptr noundef nonnull align 8 dereferenceable(48) %113, ptr noundef nonnull align 8 dereferenceable(24) %131)
          to label %401 unwind label %989

401:                                              ; preds = %400
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %131) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %132) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.215") align 8 %132, ptr noundef nonnull align 8 dereferenceable(24) %124)
          to label %402 unwind label %994

402:                                              ; preds = %401
  call void @llvm.lifetime.start.p0(i64 16, ptr %133) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.215") align 8 %133, ptr noundef nonnull align 8 dereferenceable(24) %126)
          to label %403 unwind label %998

403:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 16, ptr %134) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.215") align 8 %134, ptr noundef nonnull align 8 dereferenceable(24) %128)
          to label %404 unwind label %1002

404:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 16, ptr %135) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.215") align 8 %135, ptr noundef nonnull align 8 dereferenceable(24) %130)
          to label %405 unwind label %1006

405:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 16, ptr %136) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %137) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %137, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %406 unwind label %1010

406:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 24, ptr %138) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 8 dereferenceable(16) %132)
          to label %407 unwind label %1014

407:                                              ; preds = %406
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %136, ptr noundef nonnull align 8 dereferenceable(24) %137, ptr noundef nonnull align 8 dereferenceable(24) %138)
          to label %408 unwind label %1018

408:                                              ; preds = %407
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %138) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %139) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %140) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %140, ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %409 unwind label %1024

409:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 24, ptr %141) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %141, ptr noundef nonnull align 8 dereferenceable(16) %133)
          to label %410 unwind label %1028

410:                                              ; preds = %409
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %139, ptr noundef nonnull align 8 dereferenceable(24) %140, ptr noundef nonnull align 8 dereferenceable(24) %141)
          to label %411 unwind label %1032

411:                                              ; preds = %410
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %141) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %141) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %140) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %142) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %143) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %143, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %412 unwind label %1038

412:                                              ; preds = %411
  call void @llvm.lifetime.start.p0(i64 24, ptr %144) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %144, ptr noundef nonnull align 8 dereferenceable(16) %134)
          to label %413 unwind label %1042

413:                                              ; preds = %412
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %142, ptr noundef nonnull align 8 dereferenceable(24) %143, ptr noundef nonnull align 8 dereferenceable(24) %144)
          to label %414 unwind label %1046

414:                                              ; preds = %413
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %144) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %144) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %143) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %143) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %145) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %146) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %146, ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %415 unwind label %1052

415:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 24, ptr %147) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %147, ptr noundef nonnull align 8 dereferenceable(16) %135)
          to label %416 unwind label %1056

416:                                              ; preds = %415
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %145, ptr noundef nonnull align 8 dereferenceable(24) %146, ptr noundef nonnull align 8 dereferenceable(24) %147)
          to label %417 unwind label %1060

417:                                              ; preds = %416
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %147) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %147) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %146) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %146) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %148) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %149) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %150) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %418 unwind label %1066

418:                                              ; preds = %417
  invoke void @_ZN6ngraph7runtime7Backend6createERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.24") align 8 %148, ptr noundef nonnull align 8 dereferenceable(32) %149, i1 noundef zeroext false)
          to label %419 unwind label %1070

419:                                              ; preds = %418
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %151) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %152) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %152, ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %151, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %152, i64 noundef 0)
          to label %420 unwind label %1075

420:                                              ; preds = %419
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %153) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %154) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %154, ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %153, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %154, i64 noundef 0)
          to label %421 unwind label %1079

421:                                              ; preds = %420
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %154) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %155) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %156) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %156, ptr noundef nonnull align 8 dereferenceable(16) %50) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %155, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %156, i64 noundef 0)
          to label %422 unwind label %1083

422:                                              ; preds = %421
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %156) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %156) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %157) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %158) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %158, ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %157, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %158, i64 noundef 0)
          to label %423 unwind label %1087

423:                                              ; preds = %422
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %158) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %158) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %159) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %160) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #8
  invoke void @_ZNSt25uniform_real_distributionIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %161, float noundef -1.000000e+00, float noundef 1.000000e+00)
          to label %424 unwind label %1091

424:                                              ; preds = %423
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #8
  invoke void @_ZNSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %162, i64 noundef 0)
          to label %425 unwind label %1095

425:                                              ; preds = %424
  invoke void @_ZSt4bindISt25uniform_real_distributionIfEJSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueES5_JDpT0_EE4typeEOS5_DpOS6_(ptr dead_on_unwind writable sret(%"class.std::_Bind") align 8 %160, ptr noundef nonnull align 4 dereferenceable(8) %161, ptr noundef nonnull align 8 dereferenceable(8) %162)
          to label %426 unwind label %1095

426:                                              ; preds = %425
  invoke void @_ZNSt8functionIFfvEEC2ISt5_BindIFSt25uniform_real_distributionIfESt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull align 8 dereferenceable(16) %160)
          to label %427 unwind label %1095

427:                                              ; preds = %426
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %160) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %428 unwind label %1100

428:                                              ; preds = %427
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef %163, ptr noundef nonnull align 8 dereferenceable(16) %151)
          to label %429 unwind label %1104

429:                                              ; preds = %428
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %430 unwind label %1100

430:                                              ; preds = %429
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef %164, ptr noundef nonnull align 8 dereferenceable(16) %153)
          to label %431 unwind label %1108

431:                                              ; preds = %430
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %432 unwind label %1100

432:                                              ; preds = %431
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef %165, ptr noundef nonnull align 8 dereferenceable(16) %155)
          to label %433 unwind label %1112

433:                                              ; preds = %432
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %434 unwind label %1100

434:                                              ; preds = %433
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef %166, ptr noundef nonnull align 8 dereferenceable(16) %157)
          to label %435 unwind label %1116

435:                                              ; preds = %434
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %167) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %168) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %168, ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %167, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %168, i64 noundef 0)
          to label %436 unwind label %1120

436:                                              ; preds = %435
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %168) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %168) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %169) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %170) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %170, ptr noundef nonnull align 8 dereferenceable(16) %74) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %169, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %170, i64 noundef 0)
          to label %437 unwind label %1124

437:                                              ; preds = %436
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %170) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %171) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %172) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %172, ptr noundef nonnull align 8 dereferenceable(16) %106) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %171, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %172, i64 noundef 0)
          to label %438 unwind label %1128

438:                                              ; preds = %437
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %172) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %173) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %174) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %174, ptr noundef nonnull align 8 dereferenceable(16) %99) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %173, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %174, i64 noundef 0)
          to label %439 unwind label %1132

439:                                              ; preds = %438
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %174) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %174) #8
  %440 = load i64, ptr %7, align 8, !tbaa !11
  %441 = uitofp i64 %440 to float
  invoke void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16) %173, float noundef %441, i64 noundef 0)
          to label %442 unwind label %1136

442:                                              ; preds = %439
  call void @llvm.lifetime.start.p0(i64 16, ptr %175) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %175, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %136, i64 noundef 0)
          to label %443 unwind label %1140

443:                                              ; preds = %442
  call void @llvm.lifetime.start.p0(i64 16, ptr %176) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %176, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %139, i64 noundef 0)
          to label %444 unwind label %1144

444:                                              ; preds = %443
  call void @llvm.lifetime.start.p0(i64 16, ptr %177) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %177, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %142, i64 noundef 0)
          to label %445 unwind label %1148

445:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 16, ptr %178) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %178, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %145, i64 noundef 0)
          to label %446 unwind label %1152

446:                                              ; preds = %445
  call void @llvm.lifetime.start.p0(i64 16, ptr %179) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %180) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v16DivideEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %180, ptr noundef nonnull align 8 dereferenceable(16) %101) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %179, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %180, i64 noundef 0)
          to label %447 unwind label %1156

447:                                              ; preds = %446
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %180) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %180) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %181) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %182) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v07SoftmaxEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %182, ptr noundef nonnull align 8 dereferenceable(16) %70) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %181, ptr noundef nonnull align 8 dereferenceable(16) %148, ptr noundef nonnull align 8 dereferenceable(16) %182, i64 noundef 0)
          to label %448 unwind label %1160

448:                                              ; preds = %447
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %182) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %182) #8
  call void @llvm.lifetime.start.p0(i64 56, ptr %183) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %183) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %184) #8
  call void @llvm.lifetime.start.p0(i64 176, ptr %185) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %186) #8
  call void @llvm.lifetime.start.p0(i64 144, ptr %188) #8
  store ptr %188, ptr %189, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %188, ptr noundef nonnull align 8 dereferenceable(16) %101)
          to label %449 unwind label %1164

449:                                              ; preds = %448
  %450 = getelementptr inbounds %"class.ngraph::Output", ptr %188, i64 1
  store ptr %450, ptr %189, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %450, ptr noundef nonnull align 8 dereferenceable(16) %70)
          to label %451 unwind label %1164

451:                                              ; preds = %449
  %452 = getelementptr inbounds %"class.ngraph::Output", ptr %188, i64 2
  store ptr %452, ptr %189, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %452, ptr noundef nonnull align 8 dereferenceable(16) %136)
          to label %453 unwind label %1164

453:                                              ; preds = %451
  %454 = getelementptr inbounds %"class.ngraph::Output", ptr %188, i64 3
  store ptr %454, ptr %189, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %454, ptr noundef nonnull align 8 dereferenceable(16) %139)
          to label %455 unwind label %1164

455:                                              ; preds = %453
  %456 = getelementptr inbounds %"class.ngraph::Output", ptr %188, i64 4
  store ptr %456, ptr %189, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %456, ptr noundef nonnull align 8 dereferenceable(16) %142)
          to label %457 unwind label %1164

457:                                              ; preds = %455
  %458 = getelementptr inbounds %"class.ngraph::Output", ptr %188, i64 5
  store ptr %458, ptr %189, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %458, ptr noundef nonnull align 8 dereferenceable(16) %145)
          to label %459 unwind label %1164

459:                                              ; preds = %457
  %460 = getelementptr inbounds %"class.std::initializer_list.214", ptr %187, i32 0, i32 0
  store ptr %188, ptr %460, align 8, !tbaa !21
  %461 = getelementptr inbounds %"class.std::initializer_list.214", ptr %187, i32 0, i32 1
  store i64 6, ptr %461, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 1, ptr %190) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %190) #8
  %462 = getelementptr inbounds { ptr, i64 }, ptr %187, i32 0, i32 0
  %463 = load ptr, ptr %462, align 8
  %464 = getelementptr inbounds { ptr, i64 }, ptr %187, i32 0, i32 1
  %465 = load i64, ptr %464, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %186, ptr %463, i64 %465, ptr noundef nonnull align 1 dereferenceable(1) %190)
          to label %466 unwind label %1175

466:                                              ; preds = %459
  call void @llvm.lifetime.start.p0(i64 24, ptr %191) #8
  call void @llvm.lifetime.start.p0(i64 128, ptr %193) #8
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %193, ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  %467 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %193, i64 1
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %467, ptr noundef nonnull align 8 dereferenceable(16) %74) #8
  %468 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %193, i64 2
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %468, ptr noundef nonnull align 8 dereferenceable(16) %99) #8
  %469 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %193, i64 3
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %469, ptr noundef nonnull align 8 dereferenceable(16) %106) #8
  %470 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %193, i64 4
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %470, ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  %471 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %193, i64 5
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %471, ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  %472 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %193, i64 6
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %472, ptr noundef nonnull align 8 dereferenceable(16) %50) #8
  %473 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %193, i64 7
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %473, ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  %474 = getelementptr inbounds %"class.std::initializer_list.242", ptr %192, i32 0, i32 0
  store ptr %193, ptr %474, align 8, !tbaa !24
  %475 = getelementptr inbounds %"class.std::initializer_list.242", ptr %192, i32 0, i32 1
  store i64 8, ptr %475, align 8, !tbaa !26
  call void @llvm.lifetime.start.p0(i64 1, ptr %194) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph2op2v09ParameterEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #8
  %476 = getelementptr inbounds { ptr, i64 }, ptr %192, i32 0, i32 0
  %477 = load ptr, ptr %476, align 8
  %478 = getelementptr inbounds { ptr, i64 }, ptr %192, i32 0, i32 1
  %479 = load i64, ptr %478, align 8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %191, ptr %477, i64 %479, ptr noundef nonnull align 1 dereferenceable(1) %194)
          to label %480 unwind label %1179

480:                                              ; preds = %466
  call void @llvm.lifetime.start.p0(i64 32, ptr %195) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %196) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %195, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %196)
          to label %481 unwind label %1183

481:                                              ; preds = %480
  invoke void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176) %185, ptr noundef nonnull align 8 dereferenceable(24) %186, ptr noundef nonnull align 8 dereferenceable(24) %191, ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %482 unwind label %1187

482:                                              ; preds = %481
  invoke void @_ZN6ngraph14clone_functionERKNS_8FunctionERSt13unordered_mapIPNS_4NodeESt10shared_ptrIS4_ESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.237") align 8 %184, ptr noundef nonnull align 8 dereferenceable(176) %185, ptr noundef nonnull align 8 dereferenceable(56) %183)
          to label %483 unwind label %1191

483:                                              ; preds = %482
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %185) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %191) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %194) #8
  %484 = getelementptr inbounds [8 x %"class.std::shared_ptr.154"], ptr %193, i32 0, i32 0
  %485 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %484, i64 8
  br label %486

486:                                              ; preds = %486, %483
  %487 = phi ptr [ %485, %483 ], [ %488, %486 ]
  %488 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %487, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %488) #8
  %489 = icmp eq ptr %488, %484
  br i1 %489, label %490, label %486

490:                                              ; preds = %486
  call void @llvm.lifetime.end.p0(i64 128, ptr %193) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %191) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %186) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %190) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %190) #8
  %491 = getelementptr inbounds [6 x %"class.ngraph::Output"], ptr %188, i32 0, i32 0
  %492 = getelementptr inbounds %"class.ngraph::Output", ptr %491, i64 6
  br label %493

493:                                              ; preds = %493, %490
  %494 = phi ptr [ %492, %490 ], [ %495, %493 ]
  %495 = getelementptr inbounds %"class.ngraph::Output", ptr %494, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %495) #8
  %496 = icmp eq ptr %495, %491
  br i1 %496, label %497, label %493

497:                                              ; preds = %493
  call void @llvm.lifetime.end.p0(i64 144, ptr %188) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %186) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr %185) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %197) #8
  %498 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %148) #8
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %198, ptr noundef nonnull align 8 dereferenceable(16) %184) #8
  %499 = load ptr, ptr %498, align 8, !tbaa !27
  %500 = getelementptr inbounds ptr, ptr %499, i64 7
  %501 = load ptr, ptr %500, align 8
  invoke void %501(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.133") align 8 %197, ptr noundef nonnull align 8 dereferenceable(8) %498, ptr noundef %198, i1 noundef zeroext false)
          to label %502 unwind label %1214

502:                                              ; preds = %497
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %198) #8
  call void @llvm.lifetime.start.p0(i64 56, ptr %199) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %199) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %200) #8
  call void @llvm.lifetime.start.p0(i64 176, ptr %201) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %202) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %204) #8
  store ptr %204, ptr %205, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %204, ptr noundef nonnull align 8 dereferenceable(16) %70)
          to label %503 unwind label %1218

503:                                              ; preds = %502
  %504 = getelementptr inbounds %"class.std::initializer_list.214", ptr %203, i32 0, i32 0
  store ptr %204, ptr %504, align 8, !tbaa !21
  %505 = getelementptr inbounds %"class.std::initializer_list.214", ptr %203, i32 0, i32 1
  store i64 1, ptr %505, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 1, ptr %206) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #8
  %506 = getelementptr inbounds { ptr, i64 }, ptr %203, i32 0, i32 0
  %507 = load ptr, ptr %506, align 8
  %508 = getelementptr inbounds { ptr, i64 }, ptr %203, i32 0, i32 1
  %509 = load i64, ptr %508, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %202, ptr %507, i64 %509, ptr noundef nonnull align 1 dereferenceable(1) %206)
          to label %510 unwind label %1229

510:                                              ; preds = %503
  call void @llvm.lifetime.start.p0(i64 24, ptr %207) #8
  call void @llvm.lifetime.start.p0(i64 80, ptr %209) #8
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %209, ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  %511 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %209, i64 1
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %511, ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  %512 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %209, i64 2
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %512, ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  %513 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %209, i64 3
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %513, ptr noundef nonnull align 8 dereferenceable(16) %50) #8
  %514 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %209, i64 4
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %514, ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  %515 = getelementptr inbounds %"class.std::initializer_list.242", ptr %208, i32 0, i32 0
  store ptr %209, ptr %515, align 8, !tbaa !24
  %516 = getelementptr inbounds %"class.std::initializer_list.242", ptr %208, i32 0, i32 1
  store i64 5, ptr %516, align 8, !tbaa !26
  call void @llvm.lifetime.start.p0(i64 1, ptr %210) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph2op2v09ParameterEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #8
  %517 = getelementptr inbounds { ptr, i64 }, ptr %208, i32 0, i32 0
  %518 = load ptr, ptr %517, align 8
  %519 = getelementptr inbounds { ptr, i64 }, ptr %208, i32 0, i32 1
  %520 = load i64, ptr %519, align 8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %207, ptr %518, i64 %520, ptr noundef nonnull align 1 dereferenceable(1) %210)
          to label %521 unwind label %1233

521:                                              ; preds = %510
  call void @llvm.lifetime.start.p0(i64 32, ptr %211) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %212) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %211, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %212)
          to label %522 unwind label %1237

522:                                              ; preds = %521
  invoke void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176) %201, ptr noundef nonnull align 8 dereferenceable(24) %202, ptr noundef nonnull align 8 dereferenceable(24) %207, ptr noundef nonnull align 8 dereferenceable(32) %211)
          to label %523 unwind label %1241

523:                                              ; preds = %522
  invoke void @_ZN6ngraph14clone_functionERKNS_8FunctionERSt13unordered_mapIPNS_4NodeESt10shared_ptrIS4_ESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.237") align 8 %200, ptr noundef nonnull align 8 dereferenceable(176) %201, ptr noundef nonnull align 8 dereferenceable(56) %199)
          to label %524 unwind label %1245

524:                                              ; preds = %523
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %201) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %212) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %211) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %207) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #8
  %525 = getelementptr inbounds [5 x %"class.std::shared_ptr.154"], ptr %209, i32 0, i32 0
  %526 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %525, i64 5
  br label %527

527:                                              ; preds = %527, %524
  %528 = phi ptr [ %526, %524 ], [ %529, %527 ]
  %529 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %528, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %529) #8
  %530 = icmp eq ptr %529, %525
  br i1 %530, label %531, label %527

531:                                              ; preds = %527
  call void @llvm.lifetime.end.p0(i64 80, ptr %209) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %207) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %206) #8
  %532 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %204, i32 0, i32 0
  %533 = getelementptr inbounds %"class.ngraph::Output", ptr %532, i64 1
  br label %534

534:                                              ; preds = %534, %531
  %535 = phi ptr [ %533, %531 ], [ %536, %534 ]
  %536 = getelementptr inbounds %"class.ngraph::Output", ptr %535, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %536) #8
  %537 = icmp eq ptr %536, %532
  br i1 %537, label %538, label %534

538:                                              ; preds = %534
  call void @llvm.lifetime.end.p0(i64 24, ptr %204) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %202) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr %201) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %213) #8
  %539 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %148) #8
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %214, ptr noundef nonnull align 8 dereferenceable(16) %200) #8
  %540 = load ptr, ptr %539, align 8, !tbaa !27
  %541 = getelementptr inbounds ptr, ptr %540, i64 7
  %542 = load ptr, ptr %541, align 8
  invoke void %542(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.133") align 8 %213, ptr noundef nonnull align 8 dereferenceable(8) %539, ptr noundef %214, i1 noundef zeroext false)
          to label %543 unwind label %1268

543:                                              ; preds = %538
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %214) #8
  invoke void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16) %171, float noundef 0x3F9EB851E0000000, i64 noundef 0)
          to label %544 unwind label %1272

544:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 8, ptr %215) #8
  store i64 0, ptr %215, align 8, !tbaa !11
  br label %545

545:                                              ; preds = %1312, %544
  %546 = invoke noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %547 unwind label %1276

547:                                              ; preds = %545
  %548 = load i64, ptr %6, align 8, !tbaa !11
  %549 = icmp ult i64 %546, %548
  br i1 %549, label %550, label %1313

550:                                              ; preds = %547
  invoke void @_ZN15MNistDataLoader4loadEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %551 unwind label %1276

551:                                              ; preds = %550
  %552 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %167) #8
  %553 = invoke noundef ptr @_ZNK15MNistDataLoader16get_image_floatsEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %554 unwind label %1276

554:                                              ; preds = %551
  %555 = invoke noundef i64 @_ZNK15MNistDataLoader20get_image_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %556 unwind label %1276

556:                                              ; preds = %554
  %557 = mul i64 %555, 4
  %558 = load ptr, ptr %552, align 8, !tbaa !27
  %559 = getelementptr inbounds ptr, ptr %558, i64 7
  %560 = load ptr, ptr %559, align 8
  invoke void %560(ptr noundef nonnull align 8 dereferenceable(64) %552, ptr noundef %553, i64 noundef %557)
          to label %561 unwind label %1276

561:                                              ; preds = %556
  %562 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %169) #8
  %563 = invoke noundef ptr @_ZNK15MNistDataLoader16get_label_floatsEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %564 unwind label %1276

564:                                              ; preds = %561
  %565 = invoke noundef i64 @_ZNK15MNistDataLoader20get_label_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %566 unwind label %1276

566:                                              ; preds = %564
  %567 = mul i64 %565, 4
  %568 = load ptr, ptr %562, align 8, !tbaa !27
  %569 = getelementptr inbounds ptr, ptr %568, i64 7
  %570 = load ptr, ptr %569, align 8
  invoke void %570(ptr noundef nonnull align 8 dereferenceable(64) %562, ptr noundef %563, i64 noundef %567)
          to label %571 unwind label %1276

571:                                              ; preds = %566
  %572 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %197) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %216) #8
  call void @llvm.lifetime.start.p0(i64 96, ptr %218) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %218, ptr noundef nonnull align 8 dereferenceable(16) %179) #8
  %573 = getelementptr inbounds %"class.std::shared_ptr", ptr %218, i64 1
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %573, ptr noundef nonnull align 8 dereferenceable(16) %181) #8
  %574 = getelementptr inbounds %"class.std::shared_ptr", ptr %218, i64 2
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %574, ptr noundef nonnull align 8 dereferenceable(16) %175) #8
  %575 = getelementptr inbounds %"class.std::shared_ptr", ptr %218, i64 3
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %575, ptr noundef nonnull align 8 dereferenceable(16) %176) #8
  %576 = getelementptr inbounds %"class.std::shared_ptr", ptr %218, i64 4
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %576, ptr noundef nonnull align 8 dereferenceable(16) %177) #8
  %577 = getelementptr inbounds %"class.std::shared_ptr", ptr %218, i64 5
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %577, ptr noundef nonnull align 8 dereferenceable(16) %178) #8
  %578 = getelementptr inbounds %"class.std::initializer_list", ptr %217, i32 0, i32 0
  store ptr %218, ptr %578, align 8, !tbaa !29
  %579 = getelementptr inbounds %"class.std::initializer_list", ptr %217, i32 0, i32 1
  store i64 6, ptr %579, align 8, !tbaa !31
  call void @llvm.lifetime.start.p0(i64 1, ptr %219) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph7runtime6TensorEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #8
  %580 = getelementptr inbounds { ptr, i64 }, ptr %217, i32 0, i32 0
  %581 = load ptr, ptr %580, align 8
  %582 = getelementptr inbounds { ptr, i64 }, ptr %217, i32 0, i32 1
  %583 = load i64, ptr %582, align 8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %216, ptr %581, i64 %583, ptr noundef nonnull align 1 dereferenceable(1) %219)
          to label %584 unwind label %1280

584:                                              ; preds = %571
  call void @llvm.lifetime.start.p0(i64 24, ptr %220) #8
  call void @llvm.lifetime.start.p0(i64 128, ptr %222) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %222, ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  %585 = getelementptr inbounds %"class.std::shared_ptr", ptr %222, i64 1
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %585, ptr noundef nonnull align 8 dereferenceable(16) %169) #8
  %586 = getelementptr inbounds %"class.std::shared_ptr", ptr %222, i64 2
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %586, ptr noundef nonnull align 8 dereferenceable(16) %173) #8
  %587 = getelementptr inbounds %"class.std::shared_ptr", ptr %222, i64 3
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %587, ptr noundef nonnull align 8 dereferenceable(16) %171) #8
  %588 = getelementptr inbounds %"class.std::shared_ptr", ptr %222, i64 4
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %588, ptr noundef nonnull align 8 dereferenceable(16) %151) #8
  %589 = getelementptr inbounds %"class.std::shared_ptr", ptr %222, i64 5
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %589, ptr noundef nonnull align 8 dereferenceable(16) %153) #8
  %590 = getelementptr inbounds %"class.std::shared_ptr", ptr %222, i64 6
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %590, ptr noundef nonnull align 8 dereferenceable(16) %155) #8
  %591 = getelementptr inbounds %"class.std::shared_ptr", ptr %222, i64 7
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %591, ptr noundef nonnull align 8 dereferenceable(16) %157) #8
  %592 = getelementptr inbounds %"class.std::initializer_list", ptr %221, i32 0, i32 0
  store ptr %222, ptr %592, align 8, !tbaa !29
  %593 = getelementptr inbounds %"class.std::initializer_list", ptr %221, i32 0, i32 1
  store i64 8, ptr %593, align 8, !tbaa !31
  call void @llvm.lifetime.start.p0(i64 1, ptr %223) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph7runtime6TensorEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %223) #8
  %594 = getelementptr inbounds { ptr, i64 }, ptr %221, i32 0, i32 0
  %595 = load ptr, ptr %594, align 8
  %596 = getelementptr inbounds { ptr, i64 }, ptr %221, i32 0, i32 1
  %597 = load i64, ptr %596, align 8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %220, ptr %595, i64 %597, ptr noundef nonnull align 1 dereferenceable(1) %223)
          to label %598 unwind label %1284

598:                                              ; preds = %584
  %599 = load ptr, ptr %572, align 8, !tbaa !27
  %600 = getelementptr inbounds ptr, ptr %599, i64 2
  %601 = load ptr, ptr %600, align 8
  %602 = invoke noundef zeroext i1 %601(ptr noundef nonnull align 8 dereferenceable(56) %572, ptr noundef nonnull align 8 dereferenceable(24) %216, ptr noundef nonnull align 8 dereferenceable(24) %220)
          to label %603 unwind label %1288

603:                                              ; preds = %598
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %220) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %223) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #8
  %604 = getelementptr inbounds [8 x %"class.std::shared_ptr"], ptr %222, i32 0, i32 0
  %605 = getelementptr inbounds %"class.std::shared_ptr", ptr %604, i64 8
  br label %606

606:                                              ; preds = %606, %603
  %607 = phi ptr [ %605, %603 ], [ %608, %606 ]
  %608 = getelementptr inbounds %"class.std::shared_ptr", ptr %607, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %608) #8
  %609 = icmp eq ptr %608, %604
  br i1 %609, label %610, label %606

610:                                              ; preds = %606
  call void @llvm.lifetime.end.p0(i64 128, ptr %222) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %220) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %216) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #8
  %611 = getelementptr inbounds [6 x %"class.std::shared_ptr"], ptr %218, i32 0, i32 0
  %612 = getelementptr inbounds %"class.std::shared_ptr", ptr %611, i64 6
  br label %613

613:                                              ; preds = %613, %610
  %614 = phi ptr [ %612, %610 ], [ %615, %613 ]
  %615 = getelementptr inbounds %"class.std::shared_ptr", ptr %614, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %615) #8
  %616 = icmp eq ptr %615, %611
  br i1 %616, label %617, label %613

617:                                              ; preds = %613
  call void @llvm.lifetime.end.p0(i64 96, ptr %218) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %216) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %151, ptr noundef nonnull align 8 dereferenceable(16) %175) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %153, ptr noundef nonnull align 8 dereferenceable(16) %176) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %155, ptr noundef nonnull align 8 dereferenceable(16) %177) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %157, ptr noundef nonnull align 8 dereferenceable(16) %178) #8
  %618 = invoke noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %619 unwind label %1276

619:                                              ; preds = %617
  %620 = load i64, ptr %215, align 8, !tbaa !11
  %621 = icmp ne i64 %618, %620
  br i1 %621, label %622, label %1312

622:                                              ; preds = %619
  %623 = invoke noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %624 unwind label %1276

624:                                              ; preds = %622
  store i64 %623, ptr %215, align 8, !tbaa !11
  %625 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.6)
          to label %626 unwind label %1276

626:                                              ; preds = %624
  call void @_ZNSt10shared_ptrIN6ngraph7runtime10ExecutableEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %224, ptr noundef nonnull align 8 dereferenceable(16) %213) #8
  %627 = invoke noundef float @_Z13test_accuracyR15MNistDataLoaderSt10shared_ptrIN6ngraph7runtime10ExecutableEERKS1_INS3_6TensorEES9_S9_S9_S9_S9_S9_(ptr noundef nonnull align 8 dereferenceable(208) %12, ptr noundef %224, ptr noundef nonnull align 8 dereferenceable(16) %167, ptr noundef nonnull align 8 dereferenceable(16) %169, ptr noundef nonnull align 8 dereferenceable(16) %181, ptr noundef nonnull align 8 dereferenceable(16) %151, ptr noundef nonnull align 8 dereferenceable(16) %153, ptr noundef nonnull align 8 dereferenceable(16) %155, ptr noundef nonnull align 8 dereferenceable(16) %157)
          to label %628 unwind label %1308

628:                                              ; preds = %626
  %629 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %625, float noundef %627)
          to label %630 unwind label %1308

630:                                              ; preds = %628
  %631 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %629, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %632 unwind label %1308

632:                                              ; preds = %630
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %224) #8
  br label %1312

633:                                              ; preds = %2
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %15, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %16, align 4
  br label %646

637:                                              ; preds = %230
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %15, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %16, align 4
  br label %645

641:                                              ; preds = %232
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %15, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  br label %645

645:                                              ; preds = %641, %637
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  br label %646

646:                                              ; preds = %645, %633
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  br label %1378

647:                                              ; preds = %233
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %15, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %16, align 4
  br label %660

651:                                              ; preds = %236
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %15, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %16, align 4
  br label %659

655:                                              ; preds = %238
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %15, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %659

659:                                              ; preds = %655, %651
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  br label %660

660:                                              ; preds = %659, %647
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #8
  br label %1377

661:                                              ; preds = %240, %239
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %15, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %16, align 4
  br label %1376

665:                                              ; preds = %243, %241
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %15, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %16, align 4
  br label %1375

669:                                              ; preds = %245
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %15, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %16, align 4
  br label %677

673:                                              ; preds = %253
  %674 = landingpad { ptr, i32 }
          cleanup
  %675 = extractvalue { ptr, i32 } %674, 0
  store ptr %675, ptr %15, align 8
  %676 = extractvalue { ptr, i32 } %674, 1
  store i32 %676, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  br label %677

677:                                              ; preds = %673, %669
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  br label %1374

678:                                              ; preds = %254
  %679 = landingpad { ptr, i32 }
          cleanup
  %680 = extractvalue { ptr, i32 } %679, 0
  store ptr %680, ptr %15, align 8
  %681 = extractvalue { ptr, i32 } %679, 1
  store i32 %681, ptr %16, align 4
  br label %686

682:                                              ; preds = %260
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %15, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  br label %686

686:                                              ; preds = %682, %678
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #8
  br label %1373

687:                                              ; preds = %261
  %688 = landingpad { ptr, i32 }
          cleanup
  %689 = extractvalue { ptr, i32 } %688, 0
  store ptr %689, ptr %15, align 8
  %690 = extractvalue { ptr, i32 } %688, 1
  store i32 %690, ptr %16, align 4
  br label %695

691:                                              ; preds = %265
  %692 = landingpad { ptr, i32 }
          cleanup
  %693 = extractvalue { ptr, i32 } %692, 0
  store ptr %693, ptr %15, align 8
  %694 = extractvalue { ptr, i32 } %692, 1
  store i32 %694, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  br label %695

695:                                              ; preds = %691, %687
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #8
  br label %1372

696:                                              ; preds = %266
  %697 = landingpad { ptr, i32 }
          cleanup
  %698 = extractvalue { ptr, i32 } %697, 0
  store ptr %698, ptr %15, align 8
  %699 = extractvalue { ptr, i32 } %697, 1
  store i32 %699, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  br label %1371

700:                                              ; preds = %267
  %701 = landingpad { ptr, i32 }
          cleanup
  %702 = extractvalue { ptr, i32 } %701, 0
  store ptr %702, ptr %15, align 8
  %703 = extractvalue { ptr, i32 } %701, 1
  store i32 %703, ptr %16, align 4
  br label %713

704:                                              ; preds = %273
  %705 = landingpad { ptr, i32 }
          cleanup
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %15, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %16, align 4
  br label %712

708:                                              ; preds = %276
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %15, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %16, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #8
  br label %712

712:                                              ; preds = %708, %704
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %43) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  br label %713

713:                                              ; preds = %712, %700
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  br label %1370

714:                                              ; preds = %277
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %15, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %16, align 4
  br label %732

718:                                              ; preds = %278
  %719 = landingpad { ptr, i32 }
          cleanup
  %720 = extractvalue { ptr, i32 } %719, 0
  store ptr %720, ptr %15, align 8
  %721 = extractvalue { ptr, i32 } %719, 1
  store i32 %721, ptr %16, align 4
  br label %731

722:                                              ; preds = %279
  %723 = landingpad { ptr, i32 }
          cleanup
  %724 = extractvalue { ptr, i32 } %723, 0
  store ptr %724, ptr %15, align 8
  %725 = extractvalue { ptr, i32 } %723, 1
  store i32 %725, ptr %16, align 4
  br label %730

726:                                              ; preds = %280
  %727 = landingpad { ptr, i32 }
          cleanup
  %728 = extractvalue { ptr, i32 } %727, 0
  store ptr %728, ptr %15, align 8
  %729 = extractvalue { ptr, i32 } %727, 1
  store i32 %729, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  br label %730

730:                                              ; preds = %726, %722
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #8
  br label %731

731:                                              ; preds = %730, %718
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  br label %732

732:                                              ; preds = %731, %714
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  br label %1369

733:                                              ; preds = %281
  %734 = landingpad { ptr, i32 }
          cleanup
  %735 = extractvalue { ptr, i32 } %734, 0
  store ptr %735, ptr %15, align 8
  %736 = extractvalue { ptr, i32 } %734, 1
  store i32 %736, ptr %16, align 4
  br label %741

737:                                              ; preds = %287
  %738 = landingpad { ptr, i32 }
          cleanup
  %739 = extractvalue { ptr, i32 } %738, 0
  store ptr %739, ptr %15, align 8
  %740 = extractvalue { ptr, i32 } %738, 1
  store i32 %740, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #8
  br label %741

741:                                              ; preds = %737, %733
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #8
  br label %1368

742:                                              ; preds = %288
  %743 = landingpad { ptr, i32 }
          cleanup
  %744 = extractvalue { ptr, i32 } %743, 0
  store ptr %744, ptr %15, align 8
  %745 = extractvalue { ptr, i32 } %743, 1
  store i32 %745, ptr %16, align 4
  br label %750

746:                                              ; preds = %292
  %747 = landingpad { ptr, i32 }
          cleanup
  %748 = extractvalue { ptr, i32 } %747, 0
  store ptr %748, ptr %15, align 8
  %749 = extractvalue { ptr, i32 } %747, 1
  store i32 %749, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #8
  br label %750

750:                                              ; preds = %746, %742
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #8
  br label %1367

751:                                              ; preds = %293
  %752 = landingpad { ptr, i32 }
          cleanup
  %753 = extractvalue { ptr, i32 } %752, 0
  store ptr %753, ptr %15, align 8
  %754 = extractvalue { ptr, i32 } %752, 1
  store i32 %754, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #8
  br label %1366

755:                                              ; preds = %294
  %756 = landingpad { ptr, i32 }
          cleanup
  %757 = extractvalue { ptr, i32 } %756, 0
  store ptr %757, ptr %15, align 8
  %758 = extractvalue { ptr, i32 } %756, 1
  store i32 %758, ptr %16, align 4
  br label %768

759:                                              ; preds = %300
  %760 = landingpad { ptr, i32 }
          cleanup
  %761 = extractvalue { ptr, i32 } %760, 0
  store ptr %761, ptr %15, align 8
  %762 = extractvalue { ptr, i32 } %760, 1
  store i32 %762, ptr %16, align 4
  br label %767

763:                                              ; preds = %303
  %764 = landingpad { ptr, i32 }
          cleanup
  %765 = extractvalue { ptr, i32 } %764, 0
  store ptr %765, ptr %15, align 8
  %766 = extractvalue { ptr, i32 } %764, 1
  store i32 %766, ptr %16, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #8
  br label %767

767:                                              ; preds = %763, %759
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %64) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #8
  br label %768

768:                                              ; preds = %767, %755
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #8
  br label %1365

769:                                              ; preds = %304
  %770 = landingpad { ptr, i32 }
          cleanup
  %771 = extractvalue { ptr, i32 } %770, 0
  store ptr %771, ptr %15, align 8
  %772 = extractvalue { ptr, i32 } %770, 1
  store i32 %772, ptr %16, align 4
  br label %782

773:                                              ; preds = %305
  %774 = landingpad { ptr, i32 }
          cleanup
  %775 = extractvalue { ptr, i32 } %774, 0
  store ptr %775, ptr %15, align 8
  %776 = extractvalue { ptr, i32 } %774, 1
  store i32 %776, ptr %16, align 4
  br label %781

777:                                              ; preds = %306
  %778 = landingpad { ptr, i32 }
          cleanup
  %779 = extractvalue { ptr, i32 } %778, 0
  store ptr %779, ptr %15, align 8
  %780 = extractvalue { ptr, i32 } %778, 1
  store i32 %780, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #8
  br label %781

781:                                              ; preds = %777, %773
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #8
  br label %782

782:                                              ; preds = %781, %769
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #8
  br label %1364

783:                                              ; preds = %307
  %784 = landingpad { ptr, i32 }
          cleanup
  %785 = extractvalue { ptr, i32 } %784, 0
  store ptr %785, ptr %15, align 8
  %786 = extractvalue { ptr, i32 } %784, 1
  store i32 %786, ptr %16, align 4
  br label %791

787:                                              ; preds = %310
  %788 = landingpad { ptr, i32 }
          cleanup
  %789 = extractvalue { ptr, i32 } %788, 0
  store ptr %789, ptr %15, align 8
  %790 = extractvalue { ptr, i32 } %788, 1
  store i32 %790, ptr %16, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #8
  br label %791

791:                                              ; preds = %787, %783
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %71) #8
  br label %1363

792:                                              ; preds = %311
  %793 = landingpad { ptr, i32 }
          cleanup
  %794 = extractvalue { ptr, i32 } %793, 0
  store ptr %794, ptr %15, align 8
  %795 = extractvalue { ptr, i32 } %793, 1
  store i32 %795, ptr %16, align 4
  br label %800

796:                                              ; preds = %315
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %15, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #8
  br label %800

800:                                              ; preds = %796, %792
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #8
  br label %1362

801:                                              ; preds = %316
  %802 = landingpad { ptr, i32 }
          cleanup
  %803 = extractvalue { ptr, i32 } %802, 0
  store ptr %803, ptr %15, align 8
  %804 = extractvalue { ptr, i32 } %802, 1
  store i32 %804, ptr %16, align 4
  br label %809

805:                                              ; preds = %322
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %15, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #8
  br label %809

809:                                              ; preds = %805, %801
  call void @llvm.lifetime.end.p0(i64 16, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %79) #8
  br label %1361

810:                                              ; preds = %323
  %811 = landingpad { ptr, i32 }
          cleanup
  %812 = extractvalue { ptr, i32 } %811, 0
  store ptr %812, ptr %15, align 8
  %813 = extractvalue { ptr, i32 } %811, 1
  store i32 %813, ptr %16, align 4
  br label %823

814:                                              ; preds = %324
  %815 = landingpad { ptr, i32 }
          cleanup
  %816 = extractvalue { ptr, i32 } %815, 0
  store ptr %816, ptr %15, align 8
  %817 = extractvalue { ptr, i32 } %815, 1
  store i32 %817, ptr %16, align 4
  br label %822

818:                                              ; preds = %332
  %819 = landingpad { ptr, i32 }
          cleanup
  %820 = extractvalue { ptr, i32 } %819, 0
  store ptr %820, ptr %15, align 8
  %821 = extractvalue { ptr, i32 } %819, 1
  store i32 %821, ptr %16, align 4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #8
  br label %822

822:                                              ; preds = %818, %814
  call void @_ZNSt15__new_allocatorIfED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #8
  br label %823

823:                                              ; preds = %822, %810
  call void @llvm.lifetime.end.p0(i64 24, ptr %84) #8
  br label %1360

824:                                              ; preds = %333
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %15, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %16, align 4
  br label %837

828:                                              ; preds = %339
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %15, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %16, align 4
  br label %836

832:                                              ; preds = %343
  %833 = landingpad { ptr, i32 }
          cleanup
  %834 = extractvalue { ptr, i32 } %833, 0
  store ptr %834, ptr %15, align 8
  %835 = extractvalue { ptr, i32 } %833, 1
  store i32 %835, ptr %16, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #8
  br label %836

836:                                              ; preds = %832, %828
  call void @llvm.lifetime.end.p0(i64 16, ptr %95) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %93) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #8
  br label %837

837:                                              ; preds = %836, %824
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %90) #8
  br label %1359

838:                                              ; preds = %344
  %839 = landingpad { ptr, i32 }
          cleanup
  %840 = extractvalue { ptr, i32 } %839, 0
  store ptr %840, ptr %15, align 8
  %841 = extractvalue { ptr, i32 } %839, 1
  store i32 %841, ptr %16, align 4
  br label %1358

842:                                              ; preds = %345
  %843 = landingpad { ptr, i32 }
          cleanup
  %844 = extractvalue { ptr, i32 } %843, 0
  store ptr %844, ptr %15, align 8
  %845 = extractvalue { ptr, i32 } %843, 1
  store i32 %845, ptr %16, align 4
  br label %1357

846:                                              ; preds = %346
  %847 = landingpad { ptr, i32 }
          cleanup
  %848 = extractvalue { ptr, i32 } %847, 0
  store ptr %848, ptr %15, align 8
  %849 = extractvalue { ptr, i32 } %847, 1
  store i32 %849, ptr %16, align 4
  br label %1356

850:                                              ; preds = %347
  %851 = landingpad { ptr, i32 }
          cleanup
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %15, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %16, align 4
  br label %858

854:                                              ; preds = %348
  %855 = landingpad { ptr, i32 }
          cleanup
  %856 = extractvalue { ptr, i32 } %855, 0
  store ptr %856, ptr %15, align 8
  %857 = extractvalue { ptr, i32 } %855, 1
  store i32 %857, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  br label %858

858:                                              ; preds = %854, %850
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #8
  br label %1355

859:                                              ; preds = %349
  %860 = landingpad { ptr, i32 }
          cleanup
  %861 = extractvalue { ptr, i32 } %860, 0
  store ptr %861, ptr %15, align 8
  %862 = extractvalue { ptr, i32 } %860, 1
  store i32 %862, ptr %16, align 4
  br label %872

863:                                              ; preds = %353
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %15, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %16, align 4
  br label %871

867:                                              ; preds = %354
  %868 = landingpad { ptr, i32 }
          cleanup
  %869 = extractvalue { ptr, i32 } %868, 0
  store ptr %869, ptr %15, align 8
  %870 = extractvalue { ptr, i32 } %868, 1
  store i32 %870, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %102) #8
  br label %871

871:                                              ; preds = %867, %863
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #8
  br label %872

872:                                              ; preds = %871, %859
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %103) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %102) #8
  br label %1354

873:                                              ; preds = %355
  %874 = landingpad { ptr, i32 }
          cleanup
  %875 = extractvalue { ptr, i32 } %874, 0
  store ptr %875, ptr %15, align 8
  %876 = extractvalue { ptr, i32 } %874, 1
  store i32 %876, ptr %16, align 4
  br label %881

877:                                              ; preds = %356
  %878 = landingpad { ptr, i32 }
          cleanup
  %879 = extractvalue { ptr, i32 } %878, 0
  store ptr %879, ptr %15, align 8
  %880 = extractvalue { ptr, i32 } %878, 1
  store i32 %880, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %107) #8
  br label %881

881:                                              ; preds = %877, %873
  call void @llvm.lifetime.end.p0(i64 24, ptr %107) #8
  br label %1353

882:                                              ; preds = %357
  %883 = landingpad { ptr, i32 }
          cleanup
  %884 = extractvalue { ptr, i32 } %883, 0
  store ptr %884, ptr %15, align 8
  %885 = extractvalue { ptr, i32 } %883, 1
  store i32 %885, ptr %16, align 4
  br label %905

886:                                              ; preds = %358
  %887 = landingpad { ptr, i32 }
          cleanup
  %888 = extractvalue { ptr, i32 } %887, 0
  store ptr %888, ptr %15, align 8
  %889 = extractvalue { ptr, i32 } %887, 1
  store i32 %889, ptr %16, align 4
  br label %904

890:                                              ; preds = %359
  %891 = landingpad { ptr, i32 }
          cleanup
  %892 = extractvalue { ptr, i32 } %891, 0
  store ptr %892, ptr %15, align 8
  %893 = extractvalue { ptr, i32 } %891, 1
  store i32 %893, ptr %16, align 4
  br label %903

894:                                              ; preds = %360
  %895 = landingpad { ptr, i32 }
          cleanup
  %896 = extractvalue { ptr, i32 } %895, 0
  store ptr %896, ptr %15, align 8
  %897 = extractvalue { ptr, i32 } %895, 1
  store i32 %897, ptr %16, align 4
  br label %902

898:                                              ; preds = %361
  %899 = landingpad { ptr, i32 }
          cleanup
  %900 = extractvalue { ptr, i32 } %899, 0
  store ptr %900, ptr %15, align 8
  %901 = extractvalue { ptr, i32 } %899, 1
  store i32 %901, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #8
  br label %902

902:                                              ; preds = %898, %894
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #8
  br label %903

903:                                              ; preds = %902, %890
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %110) #8
  br label %904

904:                                              ; preds = %903, %886
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  br label %905

905:                                              ; preds = %904, %882
  call void @llvm.lifetime.end.p0(i64 24, ptr %111) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %110) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %109) #8
  br label %1352

906:                                              ; preds = %362
  %907 = landingpad { ptr, i32 }
          cleanup
  %908 = extractvalue { ptr, i32 } %907, 0
  store ptr %908, ptr %15, align 8
  %909 = extractvalue { ptr, i32 } %907, 1
  store i32 %909, ptr %16, align 4
  %910 = load ptr, ptr %117, align 8
  %911 = icmp eq ptr %116, %910
  br i1 %911, label %916, label %912

912:                                              ; preds = %912, %906
  %913 = phi ptr [ %910, %906 ], [ %914, %912 ]
  %914 = getelementptr inbounds %"class.ngraph::Output", ptr %913, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %914) #8
  %915 = icmp eq ptr %914, %116
  br i1 %915, label %916, label %912

916:                                              ; preds = %912, %906
  br label %957

917:                                              ; preds = %363
  %918 = landingpad { ptr, i32 }
          cleanup
  %919 = extractvalue { ptr, i32 } %918, 0
  store ptr %919, ptr %15, align 8
  %920 = extractvalue { ptr, i32 } %918, 1
  store i32 %920, ptr %16, align 4
  br label %949

921:                                              ; preds = %370
  %922 = landingpad { ptr, i32 }
          cleanup
  %923 = extractvalue { ptr, i32 } %922, 0
  store ptr %923, ptr %15, align 8
  %924 = extractvalue { ptr, i32 } %922, 1
  store i32 %924, ptr %16, align 4
  %925 = load ptr, ptr %122, align 8
  %926 = icmp eq ptr %121, %925
  br i1 %926, label %931, label %927

927:                                              ; preds = %927, %921
  %928 = phi ptr [ %925, %921 ], [ %929, %927 ]
  %929 = getelementptr inbounds %"class.ngraph::Output", ptr %928, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %929) #8
  %930 = icmp eq ptr %929, %121
  br i1 %930, label %931, label %927

931:                                              ; preds = %927, %921
  br label %948

932:                                              ; preds = %371
  %933 = landingpad { ptr, i32 }
          cleanup
  %934 = extractvalue { ptr, i32 } %933, 0
  store ptr %934, ptr %15, align 8
  %935 = extractvalue { ptr, i32 } %933, 1
  store i32 %935, ptr %16, align 4
  br label %940

936:                                              ; preds = %378
  %937 = landingpad { ptr, i32 }
          cleanup
  %938 = extractvalue { ptr, i32 } %937, 0
  store ptr %938, ptr %15, align 8
  %939 = extractvalue { ptr, i32 } %937, 1
  store i32 %939, ptr %16, align 4
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %119) #8
  br label %940

940:                                              ; preds = %936, %932
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #8
  %941 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %121, i32 0, i32 0
  %942 = getelementptr inbounds %"class.ngraph::Output", ptr %941, i64 1
  br label %943

943:                                              ; preds = %943, %940
  %944 = phi ptr [ %942, %940 ], [ %945, %943 ]
  %945 = getelementptr inbounds %"class.ngraph::Output", ptr %944, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %945) #8
  %946 = icmp eq ptr %945, %941
  br i1 %946, label %947, label %943

947:                                              ; preds = %943
  br label %948

948:                                              ; preds = %947, %931
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %119) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #8
  br label %949

949:                                              ; preds = %948, %917
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #8
  %950 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %116, i32 0, i32 0
  %951 = getelementptr inbounds %"class.ngraph::Output", ptr %950, i64 1
  br label %952

952:                                              ; preds = %952, %949
  %953 = phi ptr [ %951, %949 ], [ %954, %952 ]
  %954 = getelementptr inbounds %"class.ngraph::Output", ptr %953, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %954) #8
  %955 = icmp eq ptr %954, %950
  br i1 %955, label %956, label %952

956:                                              ; preds = %952
  br label %957

957:                                              ; preds = %956, %916
  call void @llvm.lifetime.end.p0(i64 24, ptr %116) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %114) #8
  br label %1351

958:                                              ; preds = %393
  %959 = landingpad { ptr, i32 }
          cleanup
  %960 = extractvalue { ptr, i32 } %959, 0
  store ptr %960, ptr %15, align 8
  %961 = extractvalue { ptr, i32 } %959, 1
  store i32 %961, ptr %16, align 4
  br label %966

962:                                              ; preds = %394
  %963 = landingpad { ptr, i32 }
          cleanup
  %964 = extractvalue { ptr, i32 } %963, 0
  store ptr %964, ptr %15, align 8
  %965 = extractvalue { ptr, i32 } %963, 1
  store i32 %965, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %125) #8
  br label %966

966:                                              ; preds = %962, %958
  call void @llvm.lifetime.end.p0(i64 24, ptr %125) #8
  br label %1350

967:                                              ; preds = %395
  %968 = landingpad { ptr, i32 }
          cleanup
  %969 = extractvalue { ptr, i32 } %968, 0
  store ptr %969, ptr %15, align 8
  %970 = extractvalue { ptr, i32 } %968, 1
  store i32 %970, ptr %16, align 4
  br label %975

971:                                              ; preds = %396
  %972 = landingpad { ptr, i32 }
          cleanup
  %973 = extractvalue { ptr, i32 } %972, 0
  store ptr %973, ptr %15, align 8
  %974 = extractvalue { ptr, i32 } %972, 1
  store i32 %974, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #8
  br label %975

975:                                              ; preds = %971, %967
  call void @llvm.lifetime.end.p0(i64 24, ptr %127) #8
  br label %1349

976:                                              ; preds = %397
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %15, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %16, align 4
  br label %984

980:                                              ; preds = %398
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %15, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #8
  br label %984

984:                                              ; preds = %980, %976
  call void @llvm.lifetime.end.p0(i64 24, ptr %129) #8
  br label %1348

985:                                              ; preds = %399
  %986 = landingpad { ptr, i32 }
          cleanup
  %987 = extractvalue { ptr, i32 } %986, 0
  store ptr %987, ptr %15, align 8
  %988 = extractvalue { ptr, i32 } %986, 1
  store i32 %988, ptr %16, align 4
  br label %993

989:                                              ; preds = %400
  %990 = landingpad { ptr, i32 }
          cleanup
  %991 = extractvalue { ptr, i32 } %990, 0
  store ptr %991, ptr %15, align 8
  %992 = extractvalue { ptr, i32 } %990, 1
  store i32 %992, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #8
  br label %993

993:                                              ; preds = %989, %985
  call void @llvm.lifetime.end.p0(i64 24, ptr %131) #8
  br label %1347

994:                                              ; preds = %401
  %995 = landingpad { ptr, i32 }
          cleanup
  %996 = extractvalue { ptr, i32 } %995, 0
  store ptr %996, ptr %15, align 8
  %997 = extractvalue { ptr, i32 } %995, 1
  store i32 %997, ptr %16, align 4
  br label %1346

998:                                              ; preds = %402
  %999 = landingpad { ptr, i32 }
          cleanup
  %1000 = extractvalue { ptr, i32 } %999, 0
  store ptr %1000, ptr %15, align 8
  %1001 = extractvalue { ptr, i32 } %999, 1
  store i32 %1001, ptr %16, align 4
  br label %1345

1002:                                             ; preds = %403
  %1003 = landingpad { ptr, i32 }
          cleanup
  %1004 = extractvalue { ptr, i32 } %1003, 0
  store ptr %1004, ptr %15, align 8
  %1005 = extractvalue { ptr, i32 } %1003, 1
  store i32 %1005, ptr %16, align 4
  br label %1344

1006:                                             ; preds = %404
  %1007 = landingpad { ptr, i32 }
          cleanup
  %1008 = extractvalue { ptr, i32 } %1007, 0
  store ptr %1008, ptr %15, align 8
  %1009 = extractvalue { ptr, i32 } %1007, 1
  store i32 %1009, ptr %16, align 4
  br label %1343

1010:                                             ; preds = %405
  %1011 = landingpad { ptr, i32 }
          cleanup
  %1012 = extractvalue { ptr, i32 } %1011, 0
  store ptr %1012, ptr %15, align 8
  %1013 = extractvalue { ptr, i32 } %1011, 1
  store i32 %1013, ptr %16, align 4
  br label %1023

1014:                                             ; preds = %406
  %1015 = landingpad { ptr, i32 }
          cleanup
  %1016 = extractvalue { ptr, i32 } %1015, 0
  store ptr %1016, ptr %15, align 8
  %1017 = extractvalue { ptr, i32 } %1015, 1
  store i32 %1017, ptr %16, align 4
  br label %1022

1018:                                             ; preds = %407
  %1019 = landingpad { ptr, i32 }
          cleanup
  %1020 = extractvalue { ptr, i32 } %1019, 0
  store ptr %1020, ptr %15, align 8
  %1021 = extractvalue { ptr, i32 } %1019, 1
  store i32 %1021, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #8
  br label %1022

1022:                                             ; preds = %1018, %1014
  call void @llvm.lifetime.end.p0(i64 24, ptr %138) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #8
  br label %1023

1023:                                             ; preds = %1022, %1010
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #8
  br label %1342

1024:                                             ; preds = %408
  %1025 = landingpad { ptr, i32 }
          cleanup
  %1026 = extractvalue { ptr, i32 } %1025, 0
  store ptr %1026, ptr %15, align 8
  %1027 = extractvalue { ptr, i32 } %1025, 1
  store i32 %1027, ptr %16, align 4
  br label %1037

1028:                                             ; preds = %409
  %1029 = landingpad { ptr, i32 }
          cleanup
  %1030 = extractvalue { ptr, i32 } %1029, 0
  store ptr %1030, ptr %15, align 8
  %1031 = extractvalue { ptr, i32 } %1029, 1
  store i32 %1031, ptr %16, align 4
  br label %1036

1032:                                             ; preds = %410
  %1033 = landingpad { ptr, i32 }
          cleanup
  %1034 = extractvalue { ptr, i32 } %1033, 0
  store ptr %1034, ptr %15, align 8
  %1035 = extractvalue { ptr, i32 } %1033, 1
  store i32 %1035, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %141) #8
  br label %1036

1036:                                             ; preds = %1032, %1028
  call void @llvm.lifetime.end.p0(i64 24, ptr %141) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #8
  br label %1037

1037:                                             ; preds = %1036, %1024
  call void @llvm.lifetime.end.p0(i64 24, ptr %140) #8
  br label %1341

1038:                                             ; preds = %411
  %1039 = landingpad { ptr, i32 }
          cleanup
  %1040 = extractvalue { ptr, i32 } %1039, 0
  store ptr %1040, ptr %15, align 8
  %1041 = extractvalue { ptr, i32 } %1039, 1
  store i32 %1041, ptr %16, align 4
  br label %1051

1042:                                             ; preds = %412
  %1043 = landingpad { ptr, i32 }
          cleanup
  %1044 = extractvalue { ptr, i32 } %1043, 0
  store ptr %1044, ptr %15, align 8
  %1045 = extractvalue { ptr, i32 } %1043, 1
  store i32 %1045, ptr %16, align 4
  br label %1050

1046:                                             ; preds = %413
  %1047 = landingpad { ptr, i32 }
          cleanup
  %1048 = extractvalue { ptr, i32 } %1047, 0
  store ptr %1048, ptr %15, align 8
  %1049 = extractvalue { ptr, i32 } %1047, 1
  store i32 %1049, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %144) #8
  br label %1050

1050:                                             ; preds = %1046, %1042
  call void @llvm.lifetime.end.p0(i64 24, ptr %144) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %143) #8
  br label %1051

1051:                                             ; preds = %1050, %1038
  call void @llvm.lifetime.end.p0(i64 24, ptr %143) #8
  br label %1340

1052:                                             ; preds = %414
  %1053 = landingpad { ptr, i32 }
          cleanup
  %1054 = extractvalue { ptr, i32 } %1053, 0
  store ptr %1054, ptr %15, align 8
  %1055 = extractvalue { ptr, i32 } %1053, 1
  store i32 %1055, ptr %16, align 4
  br label %1065

1056:                                             ; preds = %415
  %1057 = landingpad { ptr, i32 }
          cleanup
  %1058 = extractvalue { ptr, i32 } %1057, 0
  store ptr %1058, ptr %15, align 8
  %1059 = extractvalue { ptr, i32 } %1057, 1
  store i32 %1059, ptr %16, align 4
  br label %1064

1060:                                             ; preds = %416
  %1061 = landingpad { ptr, i32 }
          cleanup
  %1062 = extractvalue { ptr, i32 } %1061, 0
  store ptr %1062, ptr %15, align 8
  %1063 = extractvalue { ptr, i32 } %1061, 1
  store i32 %1063, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %147) #8
  br label %1064

1064:                                             ; preds = %1060, %1056
  call void @llvm.lifetime.end.p0(i64 24, ptr %147) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %146) #8
  br label %1065

1065:                                             ; preds = %1064, %1052
  call void @llvm.lifetime.end.p0(i64 24, ptr %146) #8
  br label %1339

1066:                                             ; preds = %417
  %1067 = landingpad { ptr, i32 }
          cleanup
  %1068 = extractvalue { ptr, i32 } %1067, 0
  store ptr %1068, ptr %15, align 8
  %1069 = extractvalue { ptr, i32 } %1067, 1
  store i32 %1069, ptr %16, align 4
  br label %1074

1070:                                             ; preds = %418
  %1071 = landingpad { ptr, i32 }
          cleanup
  %1072 = extractvalue { ptr, i32 } %1071, 0
  store ptr %1072, ptr %15, align 8
  %1073 = extractvalue { ptr, i32 } %1071, 1
  store i32 %1073, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #8
  br label %1074

1074:                                             ; preds = %1070, %1066
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #8
  br label %1338

1075:                                             ; preds = %419
  %1076 = landingpad { ptr, i32 }
          cleanup
  %1077 = extractvalue { ptr, i32 } %1076, 0
  store ptr %1077, ptr %15, align 8
  %1078 = extractvalue { ptr, i32 } %1076, 1
  store i32 %1078, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #8
  br label %1337

1079:                                             ; preds = %420
  %1080 = landingpad { ptr, i32 }
          cleanup
  %1081 = extractvalue { ptr, i32 } %1080, 0
  store ptr %1081, ptr %15, align 8
  %1082 = extractvalue { ptr, i32 } %1080, 1
  store i32 %1082, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %154) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #8
  br label %1336

1083:                                             ; preds = %421
  %1084 = landingpad { ptr, i32 }
          cleanup
  %1085 = extractvalue { ptr, i32 } %1084, 0
  store ptr %1085, ptr %15, align 8
  %1086 = extractvalue { ptr, i32 } %1084, 1
  store i32 %1086, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %156) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %156) #8
  br label %1335

1087:                                             ; preds = %422
  %1088 = landingpad { ptr, i32 }
          cleanup
  %1089 = extractvalue { ptr, i32 } %1088, 0
  store ptr %1089, ptr %15, align 8
  %1090 = extractvalue { ptr, i32 } %1088, 1
  store i32 %1090, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %158) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %158) #8
  br label %1334

1091:                                             ; preds = %423
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %15, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %16, align 4
  br label %1099

1095:                                             ; preds = %426, %425, %424
  %1096 = landingpad { ptr, i32 }
          cleanup
  %1097 = extractvalue { ptr, i32 } %1096, 0
  store ptr %1097, ptr %15, align 8
  %1098 = extractvalue { ptr, i32 } %1096, 1
  store i32 %1098, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #8
  br label %1099

1099:                                             ; preds = %1095, %1091
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %160) #8
  br label %1333

1100:                                             ; preds = %433, %431, %429, %427
  %1101 = landingpad { ptr, i32 }
          cleanup
  %1102 = extractvalue { ptr, i32 } %1101, 0
  store ptr %1102, ptr %15, align 8
  %1103 = extractvalue { ptr, i32 } %1101, 1
  store i32 %1103, ptr %16, align 4
  br label %1332

1104:                                             ; preds = %428
  %1105 = landingpad { ptr, i32 }
          cleanup
  %1106 = extractvalue { ptr, i32 } %1105, 0
  store ptr %1106, ptr %15, align 8
  %1107 = extractvalue { ptr, i32 } %1105, 1
  store i32 %1107, ptr %16, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #8
  br label %1332

1108:                                             ; preds = %430
  %1109 = landingpad { ptr, i32 }
          cleanup
  %1110 = extractvalue { ptr, i32 } %1109, 0
  store ptr %1110, ptr %15, align 8
  %1111 = extractvalue { ptr, i32 } %1109, 1
  store i32 %1111, ptr %16, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #8
  br label %1332

1112:                                             ; preds = %432
  %1113 = landingpad { ptr, i32 }
          cleanup
  %1114 = extractvalue { ptr, i32 } %1113, 0
  store ptr %1114, ptr %15, align 8
  %1115 = extractvalue { ptr, i32 } %1113, 1
  store i32 %1115, ptr %16, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #8
  br label %1332

1116:                                             ; preds = %434
  %1117 = landingpad { ptr, i32 }
          cleanup
  %1118 = extractvalue { ptr, i32 } %1117, 0
  store ptr %1118, ptr %15, align 8
  %1119 = extractvalue { ptr, i32 } %1117, 1
  store i32 %1119, ptr %16, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #8
  br label %1332

1120:                                             ; preds = %435
  %1121 = landingpad { ptr, i32 }
          cleanup
  %1122 = extractvalue { ptr, i32 } %1121, 0
  store ptr %1122, ptr %15, align 8
  %1123 = extractvalue { ptr, i32 } %1121, 1
  store i32 %1123, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %168) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %168) #8
  br label %1331

1124:                                             ; preds = %436
  %1125 = landingpad { ptr, i32 }
          cleanup
  %1126 = extractvalue { ptr, i32 } %1125, 0
  store ptr %1126, ptr %15, align 8
  %1127 = extractvalue { ptr, i32 } %1125, 1
  store i32 %1127, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %170) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #8
  br label %1330

1128:                                             ; preds = %437
  %1129 = landingpad { ptr, i32 }
          cleanup
  %1130 = extractvalue { ptr, i32 } %1129, 0
  store ptr %1130, ptr %15, align 8
  %1131 = extractvalue { ptr, i32 } %1129, 1
  store i32 %1131, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %172) #8
  br label %1329

1132:                                             ; preds = %438
  %1133 = landingpad { ptr, i32 }
          cleanup
  %1134 = extractvalue { ptr, i32 } %1133, 0
  store ptr %1134, ptr %15, align 8
  %1135 = extractvalue { ptr, i32 } %1133, 1
  store i32 %1135, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %174) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %174) #8
  br label %1328

1136:                                             ; preds = %439
  %1137 = landingpad { ptr, i32 }
          cleanup
  %1138 = extractvalue { ptr, i32 } %1137, 0
  store ptr %1138, ptr %15, align 8
  %1139 = extractvalue { ptr, i32 } %1137, 1
  store i32 %1139, ptr %16, align 4
  br label %1327

1140:                                             ; preds = %442
  %1141 = landingpad { ptr, i32 }
          cleanup
  %1142 = extractvalue { ptr, i32 } %1141, 0
  store ptr %1142, ptr %15, align 8
  %1143 = extractvalue { ptr, i32 } %1141, 1
  store i32 %1143, ptr %16, align 4
  br label %1326

1144:                                             ; preds = %443
  %1145 = landingpad { ptr, i32 }
          cleanup
  %1146 = extractvalue { ptr, i32 } %1145, 0
  store ptr %1146, ptr %15, align 8
  %1147 = extractvalue { ptr, i32 } %1145, 1
  store i32 %1147, ptr %16, align 4
  br label %1325

1148:                                             ; preds = %444
  %1149 = landingpad { ptr, i32 }
          cleanup
  %1150 = extractvalue { ptr, i32 } %1149, 0
  store ptr %1150, ptr %15, align 8
  %1151 = extractvalue { ptr, i32 } %1149, 1
  store i32 %1151, ptr %16, align 4
  br label %1324

1152:                                             ; preds = %445
  %1153 = landingpad { ptr, i32 }
          cleanup
  %1154 = extractvalue { ptr, i32 } %1153, 0
  store ptr %1154, ptr %15, align 8
  %1155 = extractvalue { ptr, i32 } %1153, 1
  store i32 %1155, ptr %16, align 4
  br label %1323

1156:                                             ; preds = %446
  %1157 = landingpad { ptr, i32 }
          cleanup
  %1158 = extractvalue { ptr, i32 } %1157, 0
  store ptr %1158, ptr %15, align 8
  %1159 = extractvalue { ptr, i32 } %1157, 1
  store i32 %1159, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %180) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %180) #8
  br label %1322

1160:                                             ; preds = %447
  %1161 = landingpad { ptr, i32 }
          cleanup
  %1162 = extractvalue { ptr, i32 } %1161, 0
  store ptr %1162, ptr %15, align 8
  %1163 = extractvalue { ptr, i32 } %1161, 1
  store i32 %1163, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %182) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %182) #8
  br label %1321

1164:                                             ; preds = %457, %455, %453, %451, %449, %448
  %1165 = landingpad { ptr, i32 }
          cleanup
  %1166 = extractvalue { ptr, i32 } %1165, 0
  store ptr %1166, ptr %15, align 8
  %1167 = extractvalue { ptr, i32 } %1165, 1
  store i32 %1167, ptr %16, align 4
  %1168 = load ptr, ptr %189, align 8
  %1169 = icmp eq ptr %188, %1168
  br i1 %1169, label %1174, label %1170

1170:                                             ; preds = %1170, %1164
  %1171 = phi ptr [ %1168, %1164 ], [ %1172, %1170 ]
  %1172 = getelementptr inbounds %"class.ngraph::Output", ptr %1171, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1172) #8
  %1173 = icmp eq ptr %1172, %188
  br i1 %1173, label %1174, label %1170

1174:                                             ; preds = %1170, %1164
  br label %1213

1175:                                             ; preds = %459
  %1176 = landingpad { ptr, i32 }
          cleanup
  %1177 = extractvalue { ptr, i32 } %1176, 0
  store ptr %1177, ptr %15, align 8
  %1178 = extractvalue { ptr, i32 } %1176, 1
  store i32 %1178, ptr %16, align 4
  br label %1205

1179:                                             ; preds = %466
  %1180 = landingpad { ptr, i32 }
          cleanup
  %1181 = extractvalue { ptr, i32 } %1180, 0
  store ptr %1181, ptr %15, align 8
  %1182 = extractvalue { ptr, i32 } %1180, 1
  store i32 %1182, ptr %16, align 4
  br label %1197

1183:                                             ; preds = %480
  %1184 = landingpad { ptr, i32 }
          cleanup
  %1185 = extractvalue { ptr, i32 } %1184, 0
  store ptr %1185, ptr %15, align 8
  %1186 = extractvalue { ptr, i32 } %1184, 1
  store i32 %1186, ptr %16, align 4
  br label %1196

1187:                                             ; preds = %481
  %1188 = landingpad { ptr, i32 }
          cleanup
  %1189 = extractvalue { ptr, i32 } %1188, 0
  store ptr %1189, ptr %15, align 8
  %1190 = extractvalue { ptr, i32 } %1188, 1
  store i32 %1190, ptr %16, align 4
  br label %1195

1191:                                             ; preds = %482
  %1192 = landingpad { ptr, i32 }
          cleanup
  %1193 = extractvalue { ptr, i32 } %1192, 0
  store ptr %1193, ptr %15, align 8
  %1194 = extractvalue { ptr, i32 } %1192, 1
  store i32 %1194, ptr %16, align 4
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %185) #8
  br label %1195

1195:                                             ; preds = %1191, %1187
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #8
  br label %1196

1196:                                             ; preds = %1195, %1183
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %191) #8
  br label %1197

1197:                                             ; preds = %1196, %1179
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %194) #8
  %1198 = getelementptr inbounds [8 x %"class.std::shared_ptr.154"], ptr %193, i32 0, i32 0
  %1199 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %1198, i64 8
  br label %1200

1200:                                             ; preds = %1200, %1197
  %1201 = phi ptr [ %1199, %1197 ], [ %1202, %1200 ]
  %1202 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %1201, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1202) #8
  %1203 = icmp eq ptr %1202, %1198
  br i1 %1203, label %1204, label %1200

1204:                                             ; preds = %1200
  call void @llvm.lifetime.end.p0(i64 128, ptr %193) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %191) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %186) #8
  br label %1205

1205:                                             ; preds = %1204, %1175
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %190) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %190) #8
  %1206 = getelementptr inbounds [6 x %"class.ngraph::Output"], ptr %188, i32 0, i32 0
  %1207 = getelementptr inbounds %"class.ngraph::Output", ptr %1206, i64 6
  br label %1208

1208:                                             ; preds = %1208, %1205
  %1209 = phi ptr [ %1207, %1205 ], [ %1210, %1208 ]
  %1210 = getelementptr inbounds %"class.ngraph::Output", ptr %1209, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1210) #8
  %1211 = icmp eq ptr %1210, %1206
  br i1 %1211, label %1212, label %1208

1212:                                             ; preds = %1208
  br label %1213

1213:                                             ; preds = %1212, %1174
  call void @llvm.lifetime.end.p0(i64 144, ptr %188) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %186) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr %185) #8
  br label %1320

1214:                                             ; preds = %497
  %1215 = landingpad { ptr, i32 }
          cleanup
  %1216 = extractvalue { ptr, i32 } %1215, 0
  store ptr %1216, ptr %15, align 8
  %1217 = extractvalue { ptr, i32 } %1215, 1
  store i32 %1217, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %198) #8
  br label %1319

1218:                                             ; preds = %502
  %1219 = landingpad { ptr, i32 }
          cleanup
  %1220 = extractvalue { ptr, i32 } %1219, 0
  store ptr %1220, ptr %15, align 8
  %1221 = extractvalue { ptr, i32 } %1219, 1
  store i32 %1221, ptr %16, align 4
  %1222 = load ptr, ptr %205, align 8
  %1223 = icmp eq ptr %204, %1222
  br i1 %1223, label %1228, label %1224

1224:                                             ; preds = %1224, %1218
  %1225 = phi ptr [ %1222, %1218 ], [ %1226, %1224 ]
  %1226 = getelementptr inbounds %"class.ngraph::Output", ptr %1225, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1226) #8
  %1227 = icmp eq ptr %1226, %204
  br i1 %1227, label %1228, label %1224

1228:                                             ; preds = %1224, %1218
  br label %1267

1229:                                             ; preds = %503
  %1230 = landingpad { ptr, i32 }
          cleanup
  %1231 = extractvalue { ptr, i32 } %1230, 0
  store ptr %1231, ptr %15, align 8
  %1232 = extractvalue { ptr, i32 } %1230, 1
  store i32 %1232, ptr %16, align 4
  br label %1259

1233:                                             ; preds = %510
  %1234 = landingpad { ptr, i32 }
          cleanup
  %1235 = extractvalue { ptr, i32 } %1234, 0
  store ptr %1235, ptr %15, align 8
  %1236 = extractvalue { ptr, i32 } %1234, 1
  store i32 %1236, ptr %16, align 4
  br label %1251

1237:                                             ; preds = %521
  %1238 = landingpad { ptr, i32 }
          cleanup
  %1239 = extractvalue { ptr, i32 } %1238, 0
  store ptr %1239, ptr %15, align 8
  %1240 = extractvalue { ptr, i32 } %1238, 1
  store i32 %1240, ptr %16, align 4
  br label %1250

1241:                                             ; preds = %522
  %1242 = landingpad { ptr, i32 }
          cleanup
  %1243 = extractvalue { ptr, i32 } %1242, 0
  store ptr %1243, ptr %15, align 8
  %1244 = extractvalue { ptr, i32 } %1242, 1
  store i32 %1244, ptr %16, align 4
  br label %1249

1245:                                             ; preds = %523
  %1246 = landingpad { ptr, i32 }
          cleanup
  %1247 = extractvalue { ptr, i32 } %1246, 0
  store ptr %1247, ptr %15, align 8
  %1248 = extractvalue { ptr, i32 } %1246, 1
  store i32 %1248, ptr %16, align 4
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %201) #8
  br label %1249

1249:                                             ; preds = %1245, %1241
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #8
  br label %1250

1250:                                             ; preds = %1249, %1237
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %212) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %211) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %207) #8
  br label %1251

1251:                                             ; preds = %1250, %1233
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #8
  %1252 = getelementptr inbounds [5 x %"class.std::shared_ptr.154"], ptr %209, i32 0, i32 0
  %1253 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %1252, i64 5
  br label %1254

1254:                                             ; preds = %1254, %1251
  %1255 = phi ptr [ %1253, %1251 ], [ %1256, %1254 ]
  %1256 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %1255, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1256) #8
  %1257 = icmp eq ptr %1256, %1252
  br i1 %1257, label %1258, label %1254

1258:                                             ; preds = %1254
  call void @llvm.lifetime.end.p0(i64 80, ptr %209) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %207) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  br label %1259

1259:                                             ; preds = %1258, %1229
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %206) #8
  %1260 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %204, i32 0, i32 0
  %1261 = getelementptr inbounds %"class.ngraph::Output", ptr %1260, i64 1
  br label %1262

1262:                                             ; preds = %1262, %1259
  %1263 = phi ptr [ %1261, %1259 ], [ %1264, %1262 ]
  %1264 = getelementptr inbounds %"class.ngraph::Output", ptr %1263, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1264) #8
  %1265 = icmp eq ptr %1264, %1260
  br i1 %1265, label %1266, label %1262

1266:                                             ; preds = %1262
  br label %1267

1267:                                             ; preds = %1266, %1228
  call void @llvm.lifetime.end.p0(i64 24, ptr %204) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %202) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr %201) #8
  br label %1318

1268:                                             ; preds = %538
  %1269 = landingpad { ptr, i32 }
          cleanup
  %1270 = extractvalue { ptr, i32 } %1269, 0
  store ptr %1270, ptr %15, align 8
  %1271 = extractvalue { ptr, i32 } %1269, 1
  store i32 %1271, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %214) #8
  br label %1317

1272:                                             ; preds = %543
  %1273 = landingpad { ptr, i32 }
          cleanup
  %1274 = extractvalue { ptr, i32 } %1273, 0
  store ptr %1274, ptr %15, align 8
  %1275 = extractvalue { ptr, i32 } %1273, 1
  store i32 %1275, ptr %16, align 4
  br label %1316

1276:                                             ; preds = %624, %622, %617, %566, %564, %561, %556, %554, %551, %550, %545
  %1277 = landingpad { ptr, i32 }
          cleanup
  %1278 = extractvalue { ptr, i32 } %1277, 0
  store ptr %1278, ptr %15, align 8
  %1279 = extractvalue { ptr, i32 } %1277, 1
  store i32 %1279, ptr %16, align 4
  br label %1315

1280:                                             ; preds = %571
  %1281 = landingpad { ptr, i32 }
          cleanup
  %1282 = extractvalue { ptr, i32 } %1281, 0
  store ptr %1282, ptr %15, align 8
  %1283 = extractvalue { ptr, i32 } %1281, 1
  store i32 %1283, ptr %16, align 4
  br label %1300

1284:                                             ; preds = %584
  %1285 = landingpad { ptr, i32 }
          cleanup
  %1286 = extractvalue { ptr, i32 } %1285, 0
  store ptr %1286, ptr %15, align 8
  %1287 = extractvalue { ptr, i32 } %1285, 1
  store i32 %1287, ptr %16, align 4
  br label %1292

1288:                                             ; preds = %598
  %1289 = landingpad { ptr, i32 }
          cleanup
  %1290 = extractvalue { ptr, i32 } %1289, 0
  store ptr %1290, ptr %15, align 8
  %1291 = extractvalue { ptr, i32 } %1289, 1
  store i32 %1291, ptr %16, align 4
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %220) #8
  br label %1292

1292:                                             ; preds = %1288, %1284
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %223) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #8
  %1293 = getelementptr inbounds [8 x %"class.std::shared_ptr"], ptr %222, i32 0, i32 0
  %1294 = getelementptr inbounds %"class.std::shared_ptr", ptr %1293, i64 8
  br label %1295

1295:                                             ; preds = %1295, %1292
  %1296 = phi ptr [ %1294, %1292 ], [ %1297, %1295 ]
  %1297 = getelementptr inbounds %"class.std::shared_ptr", ptr %1296, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1297) #8
  %1298 = icmp eq ptr %1297, %1293
  br i1 %1298, label %1299, label %1295

1299:                                             ; preds = %1295
  call void @llvm.lifetime.end.p0(i64 128, ptr %222) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %220) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %216) #8
  br label %1300

1300:                                             ; preds = %1299, %1280
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #8
  %1301 = getelementptr inbounds [6 x %"class.std::shared_ptr"], ptr %218, i32 0, i32 0
  %1302 = getelementptr inbounds %"class.std::shared_ptr", ptr %1301, i64 6
  br label %1303

1303:                                             ; preds = %1303, %1300
  %1304 = phi ptr [ %1302, %1300 ], [ %1305, %1303 ]
  %1305 = getelementptr inbounds %"class.std::shared_ptr", ptr %1304, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1305) #8
  %1306 = icmp eq ptr %1305, %1301
  br i1 %1306, label %1307, label %1303

1307:                                             ; preds = %1303
  call void @llvm.lifetime.end.p0(i64 96, ptr %218) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %216) #8
  br label %1315

1308:                                             ; preds = %630, %628, %626
  %1309 = landingpad { ptr, i32 }
          cleanup
  %1310 = extractvalue { ptr, i32 } %1309, 0
  store ptr %1310, ptr %15, align 8
  %1311 = extractvalue { ptr, i32 } %1309, 1
  store i32 %1311, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %224) #8
  br label %1315

1312:                                             ; preds = %632, %619
  br label %545, !llvm.loop !32

1313:                                             ; preds = %547
  store i32 0, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %213) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %213) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %200) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %200) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %199) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr %199) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %197) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %197) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %184) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %184) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %183) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr %183) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %181) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %181) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %179) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %179) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %177) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %176) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %175) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %175) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %173) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %173) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %171) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %171) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %169) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %169) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %167) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %157) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %157) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %155) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %155) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %153) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %153) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %151) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %151) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %148) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %148) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %145) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %145) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %142) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %142) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %139) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %139) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %136) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %136) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %135) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %135) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %134) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %134) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %133) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %133) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %132) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %130) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %128) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %128) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %126) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %124) #8
  call void @_ZN6ngraph8autodiff8AdjointsD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %113) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %113) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %108) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %108) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %106) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v16DivideELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %101) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %101) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %99) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %99) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %98) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v17MaximumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %96) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %89) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %83) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07SoftmaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %60) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04ReluELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %19) #8
  call void @llvm.lifetime.end.p0(i64 208, ptr %19) #8
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %12) #8
  call void @llvm.lifetime.end.p0(i64 208, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  %1314 = load i32, ptr %3, align 4
  ret i32 %1314

1315:                                             ; preds = %1308, %1307, %1276
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #8
  br label %1316

1316:                                             ; preds = %1315, %1272
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %213) #8
  br label %1317

1317:                                             ; preds = %1316, %1268
  call void @llvm.lifetime.end.p0(i64 16, ptr %213) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %200) #8
  br label %1318

1318:                                             ; preds = %1317, %1267
  call void @llvm.lifetime.end.p0(i64 16, ptr %200) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %199) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr %199) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %197) #8
  br label %1319

1319:                                             ; preds = %1318, %1214
  call void @llvm.lifetime.end.p0(i64 16, ptr %197) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %184) #8
  br label %1320

1320:                                             ; preds = %1319, %1213
  call void @llvm.lifetime.end.p0(i64 16, ptr %184) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %183) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr %183) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %181) #8
  br label %1321

1321:                                             ; preds = %1320, %1160
  call void @llvm.lifetime.end.p0(i64 16, ptr %181) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %179) #8
  br label %1322

1322:                                             ; preds = %1321, %1156
  call void @llvm.lifetime.end.p0(i64 16, ptr %179) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #8
  br label %1323

1323:                                             ; preds = %1322, %1152
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %177) #8
  br label %1324

1324:                                             ; preds = %1323, %1148
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %176) #8
  br label %1325

1325:                                             ; preds = %1324, %1144
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %175) #8
  br label %1326

1326:                                             ; preds = %1325, %1140
  call void @llvm.lifetime.end.p0(i64 16, ptr %175) #8
  br label %1327

1327:                                             ; preds = %1326, %1136
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %173) #8
  br label %1328

1328:                                             ; preds = %1327, %1132
  call void @llvm.lifetime.end.p0(i64 16, ptr %173) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %171) #8
  br label %1329

1329:                                             ; preds = %1328, %1128
  call void @llvm.lifetime.end.p0(i64 16, ptr %171) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %169) #8
  br label %1330

1330:                                             ; preds = %1329, %1124
  call void @llvm.lifetime.end.p0(i64 16, ptr %169) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  br label %1331

1331:                                             ; preds = %1330, %1120
  call void @llvm.lifetime.end.p0(i64 16, ptr %167) #8
  br label %1332

1332:                                             ; preds = %1331, %1116, %1112, %1108, %1104, %1100
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #8
  br label %1333

1333:                                             ; preds = %1332, %1099
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %157) #8
  br label %1334

1334:                                             ; preds = %1333, %1087
  call void @llvm.lifetime.end.p0(i64 16, ptr %157) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %155) #8
  br label %1335

1335:                                             ; preds = %1334, %1083
  call void @llvm.lifetime.end.p0(i64 16, ptr %155) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %153) #8
  br label %1336

1336:                                             ; preds = %1335, %1079
  call void @llvm.lifetime.end.p0(i64 16, ptr %153) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %151) #8
  br label %1337

1337:                                             ; preds = %1336, %1075
  call void @llvm.lifetime.end.p0(i64 16, ptr %151) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %148) #8
  br label %1338

1338:                                             ; preds = %1337, %1074
  call void @llvm.lifetime.end.p0(i64 16, ptr %148) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %145) #8
  br label %1339

1339:                                             ; preds = %1338, %1065
  call void @llvm.lifetime.end.p0(i64 16, ptr %145) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %142) #8
  br label %1340

1340:                                             ; preds = %1339, %1051
  call void @llvm.lifetime.end.p0(i64 16, ptr %142) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %139) #8
  br label %1341

1341:                                             ; preds = %1340, %1037
  call void @llvm.lifetime.end.p0(i64 16, ptr %139) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %136) #8
  br label %1342

1342:                                             ; preds = %1341, %1023
  call void @llvm.lifetime.end.p0(i64 16, ptr %136) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %135) #8
  br label %1343

1343:                                             ; preds = %1342, %1006
  call void @llvm.lifetime.end.p0(i64 16, ptr %135) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %134) #8
  br label %1344

1344:                                             ; preds = %1343, %1002
  call void @llvm.lifetime.end.p0(i64 16, ptr %134) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %133) #8
  br label %1345

1345:                                             ; preds = %1344, %998
  call void @llvm.lifetime.end.p0(i64 16, ptr %133) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #8
  br label %1346

1346:                                             ; preds = %1345, %994
  call void @llvm.lifetime.end.p0(i64 16, ptr %132) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  br label %1347

1347:                                             ; preds = %1346, %993
  call void @llvm.lifetime.end.p0(i64 24, ptr %130) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %128) #8
  br label %1348

1348:                                             ; preds = %1347, %984
  call void @llvm.lifetime.end.p0(i64 24, ptr %128) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  br label %1349

1349:                                             ; preds = %1348, %975
  call void @llvm.lifetime.end.p0(i64 24, ptr %126) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #8
  br label %1350

1350:                                             ; preds = %1349, %966
  call void @llvm.lifetime.end.p0(i64 24, ptr %124) #8
  call void @_ZN6ngraph8autodiff8AdjointsD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %113) #8
  br label %1351

1351:                                             ; preds = %1350, %957
  call void @llvm.lifetime.end.p0(i64 48, ptr %113) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %108) #8
  br label %1352

1352:                                             ; preds = %1351, %905
  call void @llvm.lifetime.end.p0(i64 16, ptr %108) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %106) #8
  br label %1353

1353:                                             ; preds = %1352, %881
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v16DivideELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %101) #8
  br label %1354

1354:                                             ; preds = %1353, %872
  call void @llvm.lifetime.end.p0(i64 16, ptr %101) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %99) #8
  br label %1355

1355:                                             ; preds = %1354, %858
  call void @llvm.lifetime.end.p0(i64 16, ptr %99) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %98) #8
  br label %1356

1356:                                             ; preds = %1355, %846
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #8
  br label %1357

1357:                                             ; preds = %1356, %842
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v17MaximumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %96) #8
  br label %1358

1358:                                             ; preds = %1357, %838
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #8
  br label %1359

1359:                                             ; preds = %1358, %837
  call void @llvm.lifetime.end.p0(i64 16, ptr %89) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #8
  br label %1360

1360:                                             ; preds = %1359, %823
  call void @llvm.lifetime.end.p0(i64 16, ptr %83) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #8
  br label %1361

1361:                                             ; preds = %1360, %809
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #8
  br label %1362

1362:                                             ; preds = %1361, %800
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07SoftmaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #8
  br label %1363

1363:                                             ; preds = %1362, %791
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #8
  br label %1364

1364:                                             ; preds = %1363, %782
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %60) #8
  br label %1365

1365:                                             ; preds = %1364, %768
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #8
  br label %1366

1366:                                             ; preds = %1365, %751
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  br label %1367

1367:                                             ; preds = %1366, %750
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50) #8
  br label %1368

1368:                                             ; preds = %1367, %741
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04ReluELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #8
  br label %1369

1369:                                             ; preds = %1368, %732
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  br label %1370

1370:                                             ; preds = %1369, %713
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #8
  br label %1371

1371:                                             ; preds = %1370, %696
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  br label %1372

1372:                                             ; preds = %1371, %695
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  br label %1373

1373:                                             ; preds = %1372, %686
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  br label %1374

1374:                                             ; preds = %1373, %677
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #8
  br label %1375

1375:                                             ; preds = %1374, %665
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %1376

1376:                                             ; preds = %1375, %661
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %19) #8
  br label %1377

1377:                                             ; preds = %1376, %660
  call void @llvm.lifetime.end.p0(i64 208, ptr %19) #8
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %12) #8
  br label %1378

1378:                                             ; preds = %1377, %646
  call void @llvm.lifetime.end.p0(i64 208, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  br label %1379

1379:                                             ; preds = %1378
  %1380 = load ptr, ptr %15, align 8
  %1381 = load i32, ptr %16, align 4
  %1382 = insertvalue { ptr, i32 } poison, ptr %1380, 0
  %1383 = insertvalue { ptr, i32 } %1382, i32 %1381, 1
  resume { ptr, i32 } %1383
}

; Function Attrs: nounwind
declare double @exp(double noundef) #6

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

declare void @_ZN15MNistDataLoaderC1EmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(208), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

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

declare void @_ZN15MNistDataLoader4openEv(ptr noundef nonnull align 8 dereferenceable(208)) #4

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN15MNistDataLoader11get_columnsEv(ptr noundef nonnull align 8 dereferenceable(208)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN15MNistDataLoader8get_rowsEv(ptr noundef nonnull align 8 dereferenceable(208)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.154") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(24)) #3

declare void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRSt10shared_ptrINS2_9ParameterEES7_iEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES9_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.158") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.161") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48)) #3

declare void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v04ReluEJSt10shared_ptrINS0_4NodeEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES8_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.170") align 8, ptr noundef nonnull align 8 dereferenceable(16)) #3

declare void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRSt10shared_ptrINS2_4ReluEERS4_INS2_9ParameterEEiEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.158") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07SoftmaxEJRSt10shared_ptrINS0_4NodeEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.173") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(48)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v06OneHotEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeEiEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.176") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorIfSaIfEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.179") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #3

declare void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIfSaIfEEC2ESt16initializer_listIfERKS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_8ConstantEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.161") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v17MaximumEJRSt10shared_ptrINS1_2v07SoftmaxEERS4_INS5_9BroadcastEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.188") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03LogEJRSt10shared_ptrINS1_2v17MaximumEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.191") align 8, ptr noundef nonnull align 8 dereferenceable(16)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRSt10shared_ptrINS1_2v03LogEERS4_INS5_6OneHotEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.194") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v16DivideEJSt10shared_ptrINS1_2v03SumEERS4_INS5_9ParameterEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.197") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS1_2v18MultiplyEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.200") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(48)) #3

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

declare void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #4

declare void @_ZN6ngraphngERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8, ptr noundef nonnull align 8 dereferenceable(24)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

declare void @_ZN6ngraph8autodiff8AdjointsC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS5_EES9_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

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

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

declare void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8, ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.215") align 8, ptr noundef nonnull align 8 dereferenceable(24)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

declare void @_ZN6ngraph7runtime7Backend6createERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.24") align 8, ptr noundef nonnull align 8 dereferenceable(32), i1 noundef zeroext) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt4bindISt25uniform_real_distributionIfEJSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueES5_JDpT0_EE4typeEOS5_DpOS6_(ptr dead_on_unwind noalias writable sret(%"class.std::_Bind") align 8, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt25uniform_real_distributionIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8), float noundef, float noundef) unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef, ptr noundef nonnull align 8 dereferenceable(16)) #1

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16), float noundef, i64 noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v16DivideEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v07SoftmaxEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

declare void @_ZN6ngraph14clone_functionERKNS_8FunctionERSt13unordered_mapIPNS_4NodeESt10shared_ptrIS4_ESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.237") align 8, ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(56)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

declare void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph7runtime10ExecutableEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #1 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 nounwind uwtable
declare dso_local void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #7 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph8autodiff8AdjointsD2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #7 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind
declare void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208)) unnamed_addr #6

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #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 = { "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 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 #6 = { 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 #7 = { 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 #8 = { 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 = !{!"long", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"float", !7, i64 0}
!15 = !{!16, !10, i64 0}
!16 = !{!"_ZTSSt16initializer_listImE", !10, i64 0, !12, i64 8}
!17 = !{!16, !12, i64 8}
!18 = !{!19, !10, i64 0}
!19 = !{!"_ZTSSt16initializer_listIfE", !10, i64 0, !12, i64 8}
!20 = !{!19, !12, i64 8}
!21 = !{!22, !10, i64 0}
!22 = !{!"_ZTSSt16initializer_listIN6ngraph6OutputINS0_4NodeEEEE", !10, i64 0, !12, i64 8}
!23 = !{!22, !12, i64 8}
!24 = !{!25, !10, i64 0}
!25 = !{!"_ZTSSt16initializer_listISt10shared_ptrIN6ngraph2op2v09ParameterEEE", !10, i64 0, !12, i64 8}
!26 = !{!25, !12, i64 8}
!27 = !{!28, !28, i64 0}
!28 = !{!"vtable pointer", !8, i64 0}
!29 = !{!30, !10, i64 0}
!30 = !{!"_ZTSSt16initializer_listISt10shared_ptrIN6ngraph7runtime6TensorEEE", !10, i64 0, !12, i64 8}
!31 = !{!30, !12, i64 8}
!32 = distinct !{!32, !33}
!33 = !{!"llvm.loop.mustprogress"}


; 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.ngraph::element::Type" = type { i32 }
%"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::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%class.MNistDataLoader = type { i64, %class.MNistImageLoader, %class.MNistLabelLoader, i32, i64, i64, %"class.std::unique_ptr", %"class.std::unique_ptr", i64 }
%class.MNistImageLoader = type { %class.MNistLoader, i32, i32 }
%class.MNistLoader = type { ptr, %"class.std::__cxx11::basic_string", ptr, i32, i32, %struct._G_fpos_t }
%"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] }
%struct._G_fpos_t = type { i64, %struct.__mbstate_t }
%struct.__mbstate_t = type { i32, %union.anon.136 }
%union.anon.136 = type { i32 }
%class.MNistLabelLoader = type { %class.MNistLoader }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.138" }
%"struct.std::_Head_base.138" = type { ptr }
%"class.std::allocator.56" = type { i8 }
%"class.std::shared_ptr.154" = type { %"class.std::__shared_ptr.155" }
%"class.std::__shared_ptr.155" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Shape" = type { %"class.std::vector.119" }
%"class.std::vector.119" = type { %"struct.std::_Vector_base.120" }
%"struct.std::_Vector_base.120" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.157" = type { ptr, i64 }
%"class.std::shared_ptr.158" = type { %"class.std::__shared_ptr.159" }
%"class.std::__shared_ptr.159" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.161" = type { %"class.std::__shared_ptr.162" }
%"class.std::__shared_ptr.162" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::AxisSet" = type { %"class.std::set.164" }
%"class.std::set.164" = type { %"class.std::_Rb_tree.165" }
%"class.std::_Rb_tree.165" = type { %"struct.std::_Rb_tree<unsigned long, unsigned long, std::_Identity<unsigned long>, std::less<unsigned long>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned long, unsigned long, std::_Identity<unsigned long>, std::less<unsigned long>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::shared_ptr.170" = type { %"class.std::__shared_ptr.171" }
%"class.std::__shared_ptr.171" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.27" = type { %"class.std::__shared_ptr.28" }
%"class.std::__shared_ptr.28" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.27", i64 }
%"class.std::shared_ptr.173" = type { %"class.std::__shared_ptr.174" }
%"class.std::__shared_ptr.174" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.176" = type { %"class.std::__shared_ptr.177" }
%"class.std::__shared_ptr.177" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.179" = type { %"class.std::__shared_ptr.180" }
%"class.std::__shared_ptr.180" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.182" = type { %"struct.std::_Vector_base.183" }
%"struct.std::_Vector_base.183" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.184" = type { i8 }
%"class.std::shared_ptr.188" = type { %"class.std::__shared_ptr.189" }
%"class.std::__shared_ptr.189" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.191" = type { %"class.std::__shared_ptr.192" }
%"class.std::__shared_ptr.192" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.194" = type { %"class.std::__shared_ptr.195" }
%"class.std::__shared_ptr.195" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.197" = type { %"class.std::__shared_ptr.198" }
%"class.std::__shared_ptr.198" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.200" = type { %"class.std::__shared_ptr.201" }
%"class.std::__shared_ptr.201" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::autodiff::Adjoints" = type { %"class.std::map.203" }
%"class.std::map.203" = type { %"class.std::_Rb_tree.204" }
%"class.std::_Rb_tree.204" = type { %"struct.std::_Rb_tree<ngraph::Node *, std::pair<ngraph::Node *const, std::vector<ngraph::Output<Node>>>, std::_Select1st<std::pair<ngraph::Node *const, std::vector<ngraph::Output<Node>>>>, std::less<ngraph::Node *>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ngraph::Node *, std::pair<ngraph::Node *const, std::vector<ngraph::Output<Node>>>, std::_Select1st<std::pair<ngraph::Node *const, std::vector<ngraph::Output<Node>>>>, std::less<ngraph::Node *>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.209" = type { %"struct.std::_Vector_base.210" }
%"struct.std::_Vector_base.210" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.211" = type { i8 }
%"class.std::shared_ptr.215" = type { %"class.std::__shared_ptr.216" }
%"class.std::__shared_ptr.216" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.24" = type { %"class.std::__shared_ptr.25" }
%"class.std::__shared_ptr.25" = type { ptr, %"class.std::__shared_count" }
%"class.std::function.218" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::_Bind" = type { %"class.std::uniform_real_distribution", %"class.std::tuple.220" }
%"class.std::uniform_real_distribution" = type { %"struct.std::uniform_real_distribution<float>::param_type" }
%"struct.std::uniform_real_distribution<float>::param_type" = type { float, float }
%"class.std::tuple.220" = type { %"struct.std::_Tuple_impl.221" }
%"struct.std::_Tuple_impl.221" = type { %"struct.std::_Head_base.222" }
%"struct.std::_Head_base.222" = type { %"class.std::linear_congruential_engine" }
%"class.std::linear_congruential_engine" = type { i64 }
%"class.std::unordered_map.223" = type { %"class.std::_Hashtable.224" }
%"class.std::_Hashtable.224" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::shared_ptr.237" = type { %"class.std::__shared_ptr.238" }
%"class.std::__shared_ptr.238" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Function" = type { %"class.ngraph::Lambda", i64, i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i64, %"class.std::function.240" }
%"class.ngraph::Lambda" = type { ptr, %"class.std::vector.144", %"class.std::vector.139" }
%"class.std::vector.144" = type { %"struct.std::_Vector_base.145" }
%"struct.std::_Vector_base.145" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Result>, std::allocator<std::shared_ptr<ngraph::op::v0::Result>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.139" = type { %"struct.std::_Vector_base.140" }
%"struct.std::_Vector_base.140" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::Parameter>, std::allocator<std::shared_ptr<ngraph::op::v0::Parameter>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::function.240" = type { %"class.std::_Function_base", ptr }
%"class.std::allocator.141" = type { i8 }
%"class.std::shared_ptr.133" = type { %"class.std::__shared_ptr.134" }
%"class.std::__shared_ptr.134" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.149" = type { %"struct.std::_Vector_base.150" }
%"struct.std::_Vector_base.150" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::runtime::Tensor>, std::allocator<std::shared_ptr<ngraph::runtime::Tensor>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::runtime::Tensor>, std::allocator<std::shared_ptr<ngraph::runtime::Tensor>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::runtime::Tensor>, std::allocator<std::shared_ptr<ngraph::runtime::Tensor>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::runtime::Tensor>, std::allocator<std::shared_ptr<ngraph::runtime::Tensor>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.151" = type { i8 }

@_ZN16MNistImageLoader4TESTE = external local_unnamed_addr constant ptr, align 8
@_ZN16MNistLabelLoader4TESTE = external local_unnamed_addr global ptr, align 8
@_ZN16MNistImageLoader5TRAINE = external local_unnamed_addr constant ptr, align 8
@_ZN16MNistLabelLoader5TRAINE = external local_unnamed_addr global ptr, align 8
@_ZN6ngraph7element3f32E = external global %"class.ngraph::element::Type", align 4
@.str.4 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.6 = external hidden unnamed_addr constant [16 x i8], align 1

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), i64 noundef) local_unnamed_addr #1

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef float @_Z13test_accuracyR15MNistDataLoaderSt10shared_ptrIN6ngraph7runtime10ExecutableEERKS1_INS3_6TensorEES9_S9_S9_S9_S9_S9_(ptr noundef nonnull align 8 dereferenceable(208), ptr noundef, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #2 align 2

declare void @_ZN15MNistDataLoader4loadEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK15MNistDataLoader16get_image_floatsEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK15MNistDataLoader20get_image_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK15MNistDataLoader16get_label_floatsEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK15MNistDataLoader20get_label_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 {
  %3 = alloca %class.MNistDataLoader, align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::allocator.56", align 1
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::allocator.56", align 1
  %8 = alloca %class.MNistDataLoader, align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator.56", align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator.56", align 1
  %13 = alloca %"class.std::shared_ptr.154", align 8
  %14 = alloca %"class.ngraph::Shape", align 8
  %15 = alloca %"class.std::initializer_list.157", align 8
  %16 = alloca [2 x i64], align 8
  %17 = alloca %"class.std::shared_ptr.154", align 8
  %18 = alloca %"class.ngraph::Shape", align 8
  %19 = alloca %"class.std::initializer_list.157", align 8
  %20 = alloca [2 x i64], align 8
  %21 = alloca %"class.std::shared_ptr.154", align 8
  %22 = alloca %"class.ngraph::Shape", align 8
  %23 = alloca %"class.std::initializer_list.157", align 8
  %24 = alloca [1 x i64], align 8
  %25 = alloca %"class.std::shared_ptr.158", align 8
  %26 = alloca i32, align 4
  %27 = alloca %"class.std::shared_ptr.161", align 8
  %28 = alloca %"class.ngraph::Shape", align 8
  %29 = alloca %"class.std::initializer_list.157", align 8
  %30 = alloca [2 x i64], align 8
  %31 = alloca %"class.ngraph::AxisSet", align 8
  %32 = alloca %"class.std::initializer_list.157", align 8
  %33 = alloca [1 x i64], align 8
  %34 = alloca %"class.std::shared_ptr.170", align 8
  %35 = alloca %"class.std::shared_ptr.27", align 8
  %36 = alloca %"class.ngraph::Output", align 8
  %37 = alloca %"class.ngraph::Output", align 8
  %38 = alloca %"class.std::shared_ptr.154", align 8
  %39 = alloca %"class.ngraph::Shape", align 8
  %40 = alloca %"class.std::initializer_list.157", align 8
  %41 = alloca [2 x i64], align 8
  %42 = alloca %"class.std::shared_ptr.154", align 8
  %43 = alloca %"class.ngraph::Shape", align 8
  %44 = alloca %"class.std::initializer_list.157", align 8
  %45 = alloca [1 x i64], align 8
  %46 = alloca %"class.std::shared_ptr.158", align 8
  %47 = alloca i32, align 4
  %48 = alloca %"class.std::shared_ptr.161", align 8
  %49 = alloca %"class.ngraph::Shape", align 8
  %50 = alloca %"class.std::initializer_list.157", align 8
  %51 = alloca [2 x i64], align 8
  %52 = alloca %"class.ngraph::AxisSet", align 8
  %53 = alloca %"class.std::initializer_list.157", align 8
  %54 = alloca [1 x i64], align 8
  %55 = alloca %"class.std::shared_ptr.27", align 8
  %56 = alloca %"class.ngraph::Output", align 8
  %57 = alloca %"class.ngraph::Output", align 8
  %58 = alloca %"class.std::shared_ptr.173", align 8
  %59 = alloca %"class.ngraph::AxisSet", align 8
  %60 = alloca %"class.std::initializer_list.157", align 8
  %61 = alloca [1 x i64], align 8
  %62 = alloca %"class.std::shared_ptr.154", align 8
  %63 = alloca %"class.ngraph::Shape", align 8
  %64 = alloca %"class.std::initializer_list.157", align 8
  %65 = alloca [1 x i64], align 8
  %66 = alloca %"class.std::shared_ptr.176", align 8
  %67 = alloca %"class.ngraph::Shape", align 8
  %68 = alloca %"class.std::initializer_list.157", align 8
  %69 = alloca [2 x i64], align 8
  %70 = alloca i32, align 4
  %71 = alloca %"class.std::shared_ptr.179", align 8
  %72 = alloca %"class.ngraph::Shape", align 8
  %73 = alloca %"class.std::vector.182", align 8
  %74 = alloca [1 x float], align 4
  %75 = alloca %"class.std::allocator.184", align 1
  %76 = alloca %"class.std::shared_ptr.161", align 8
  %77 = alloca %"class.ngraph::Shape", align 8
  %78 = alloca %"class.std::initializer_list.157", align 8
  %79 = alloca [2 x i64], align 8
  %80 = alloca %"class.ngraph::AxisSet", align 8
  %81 = alloca %"class.std::initializer_list.157", align 8
  %82 = alloca [2 x i64], align 8
  %83 = alloca %"class.std::shared_ptr.188", align 8
  %84 = alloca %"class.std::shared_ptr.191", align 8
  %85 = alloca %"class.std::shared_ptr.194", align 8
  %86 = alloca %"class.std::shared_ptr.154", align 8
  %87 = alloca %"class.ngraph::Shape", align 8
  %88 = alloca %"class.std::shared_ptr.197", align 8
  %89 = alloca %"class.std::shared_ptr.200", align 8
  %90 = alloca %"class.ngraph::AxisSet", align 8
  %91 = alloca %"class.std::initializer_list.157", align 8
  %92 = alloca [2 x i64], align 8
  %93 = alloca %"class.std::shared_ptr.154", align 8
  %94 = alloca %"class.ngraph::Shape", align 8
  %95 = alloca %"class.std::shared_ptr.27", align 8
  %96 = alloca %"class.ngraph::Output", align 8
  %97 = alloca %"class.std::shared_ptr.27", align 8
  %98 = alloca %"class.ngraph::Output", align 8
  %99 = alloca %"class.ngraph::Output", align 8
  %100 = alloca %"class.ngraph::autodiff::Adjoints", align 8
  %101 = alloca %"class.std::vector.209", align 8
  %102 = alloca [1 x %"class.ngraph::Output"], align 8
  %103 = alloca %"class.std::allocator.211", align 1
  %104 = alloca %"class.std::vector.209", align 8
  %105 = alloca [1 x %"class.ngraph::Output"], align 8
  %106 = alloca %"class.std::allocator.211", align 1
  %107 = alloca %"class.ngraph::Output", align 8
  %108 = alloca %"class.ngraph::Output", align 8
  %109 = alloca %"class.ngraph::Output", align 8
  %110 = alloca %"class.ngraph::Output", align 8
  %111 = alloca %"class.ngraph::Output", align 8
  %112 = alloca %"class.ngraph::Output", align 8
  %113 = alloca %"class.ngraph::Output", align 8
  %114 = alloca %"class.ngraph::Output", align 8
  %115 = alloca %"class.std::shared_ptr.215", align 8
  %116 = alloca %"class.std::shared_ptr.215", align 8
  %117 = alloca %"class.std::shared_ptr.215", align 8
  %118 = alloca %"class.std::shared_ptr.215", align 8
  %119 = alloca %"class.std::shared_ptr.27", align 8
  %120 = alloca %"class.ngraph::Output", align 8
  %121 = alloca %"class.ngraph::Output", align 8
  %122 = alloca %"class.std::shared_ptr.27", align 8
  %123 = alloca %"class.ngraph::Output", align 8
  %124 = alloca %"class.ngraph::Output", align 8
  %125 = alloca %"class.std::shared_ptr.27", align 8
  %126 = alloca %"class.ngraph::Output", align 8
  %127 = alloca %"class.ngraph::Output", align 8
  %128 = alloca %"class.std::shared_ptr.27", align 8
  %129 = alloca %"class.ngraph::Output", align 8
  %130 = alloca %"class.ngraph::Output", align 8
  %131 = alloca %"class.std::shared_ptr.24", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::allocator.56", align 1
  %134 = alloca %"class.std::shared_ptr", align 8
  %135 = alloca %"class.std::shared_ptr.27", align 8
  %136 = alloca %"class.std::shared_ptr", align 8
  %137 = alloca %"class.std::shared_ptr.27", align 8
  %138 = alloca %"class.std::shared_ptr", align 8
  %139 = alloca %"class.std::shared_ptr.27", align 8
  %140 = alloca %"class.std::shared_ptr", align 8
  %141 = alloca %"class.std::shared_ptr.27", align 8
  %142 = alloca %"class.std::function.218", align 8
  %143 = alloca %"class.std::_Bind", align 8
  %144 = alloca %"class.std::uniform_real_distribution", align 4
  %145 = alloca %"class.std::linear_congruential_engine", align 8
  %146 = alloca %"class.std::function.218", align 8
  %147 = alloca %"class.std::function.218", align 8
  %148 = alloca %"class.std::function.218", align 8
  %149 = alloca %"class.std::function.218", align 8
  %150 = alloca %"class.std::shared_ptr", align 8
  %151 = alloca %"class.std::shared_ptr.27", align 8
  %152 = alloca %"class.std::shared_ptr", align 8
  %153 = alloca %"class.std::shared_ptr.27", align 8
  %154 = alloca %"class.std::shared_ptr", align 8
  %155 = alloca %"class.std::shared_ptr.27", align 8
  %156 = alloca %"class.std::shared_ptr", align 8
  %157 = alloca %"class.std::shared_ptr.27", align 8
  %158 = alloca %"class.std::shared_ptr", align 8
  %159 = alloca %"class.std::shared_ptr", align 8
  %160 = alloca %"class.std::shared_ptr", align 8
  %161 = alloca %"class.std::shared_ptr", align 8
  %162 = alloca %"class.std::shared_ptr", align 8
  %163 = alloca %"class.std::shared_ptr.27", align 8
  %164 = alloca %"class.std::shared_ptr", align 8
  %165 = alloca %"class.std::shared_ptr.27", align 8
  %166 = alloca %"class.std::unordered_map.223", align 8
  %167 = alloca %"class.std::shared_ptr.237", align 8
  %168 = alloca %"class.ngraph::Function", align 8
  %169 = alloca %"class.std::vector.209", align 8
  %170 = alloca [6 x %"class.ngraph::Output"], align 8
  %171 = alloca %"class.std::allocator.211", align 1
  %172 = alloca %"class.std::vector.139", align 8
  %173 = alloca [8 x %"class.std::shared_ptr.154"], align 8
  %174 = alloca %"class.std::allocator.141", align 1
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca %"class.std::allocator.56", align 1
  %177 = alloca %"class.std::shared_ptr.133", align 8
  %178 = alloca %"class.std::shared_ptr.237", align 8
  %179 = alloca %"class.std::unordered_map.223", align 8
  %180 = alloca %"class.std::shared_ptr.237", align 8
  %181 = alloca %"class.ngraph::Function", align 8
  %182 = alloca %"class.std::vector.209", align 8
  %183 = alloca [1 x %"class.ngraph::Output"], align 8
  %184 = alloca %"class.std::allocator.211", align 1
  %185 = alloca %"class.std::vector.139", align 8
  %186 = alloca [5 x %"class.std::shared_ptr.154"], align 8
  %187 = alloca %"class.std::allocator.141", align 1
  %188 = alloca %"class.std::__cxx11::basic_string", align 8
  %189 = alloca %"class.std::allocator.56", align 1
  %190 = alloca %"class.std::shared_ptr.133", align 8
  %191 = alloca %"class.std::shared_ptr.237", align 8
  %192 = alloca %"class.std::vector.149", align 8
  %193 = alloca [6 x %"class.std::shared_ptr"], align 8
  %194 = alloca %"class.std::allocator.151", align 1
  %195 = alloca %"class.std::vector.149", align 8
  %196 = alloca [8 x %"class.std::shared_ptr"], align 8
  %197 = alloca %"class.std::allocator.151", align 1
  %198 = alloca %"class.std::shared_ptr.133", align 8
  call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %3) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #8
  %199 = load ptr, ptr @_ZN16MNistImageLoader4TESTE, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef %199, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %200 unwind label %474

200:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #8
  %201 = load ptr, ptr @_ZN16MNistLabelLoader4TESTE, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef %201, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %202 unwind label %476

202:                                              ; preds = %200
  invoke void @_ZN15MNistDataLoaderC1EmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(208) %3, i64 noundef 128, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %203 unwind label %478

203:                                              ; preds = %202
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #8
  call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %8) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #8
  %204 = load ptr, ptr @_ZN16MNistImageLoader5TRAINE, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef %204, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %205 unwind label %482

205:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #8
  %206 = load ptr, ptr @_ZN16MNistLabelLoader5TRAINE, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %206, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %207 unwind label %484

207:                                              ; preds = %205
  invoke void @_ZN15MNistDataLoaderC1EmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(208) %8, i64 noundef 128, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %208 unwind label %486

208:                                              ; preds = %207
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #8
  invoke void @_ZN15MNistDataLoader4openEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
          to label %209 unwind label %490

209:                                              ; preds = %208
  invoke void @_ZN15MNistDataLoader4openEv(ptr noundef nonnull align 8 dereferenceable(208) %3)
          to label %210 unwind label %490

210:                                              ; preds = %209
  %211 = invoke noundef i32 @_ZN15MNistDataLoader11get_columnsEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
          to label %212 unwind label %492

212:                                              ; preds = %210
  %213 = invoke noundef i32 @_ZN15MNistDataLoader8get_rowsEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
          to label %214 unwind label %492

214:                                              ; preds = %212
  %215 = mul i32 %213, %211
  %216 = zext i32 %215 to i64
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #8
  store i64 128, ptr %16, align 8, !tbaa !9
  %217 = getelementptr inbounds i8, ptr %16, i64 8
  store i64 %216, ptr %217, align 8, !tbaa !9
  store ptr %16, ptr %15, align 8, !tbaa !11
  %218 = getelementptr inbounds i8, ptr %15, i64 8
  store i64 2, ptr %218, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %219 unwind label %494

219:                                              ; preds = %214
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.154") align 8 %13, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %220 unwind label %496

220:                                              ; preds = %219
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #8
  store i64 %216, ptr %20, align 8, !tbaa !9
  %221 = getelementptr inbounds i8, ptr %20, i64 8
  store i64 600, ptr %221, align 8, !tbaa !9
  store ptr %20, ptr %19, align 8, !tbaa !11
  %222 = getelementptr inbounds i8, ptr %19, i64 8
  store i64 2, ptr %222, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %223 unwind label %499

223:                                              ; preds = %220
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.154") align 8 %17, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %18)
          to label %224 unwind label %501

224:                                              ; preds = %223
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #8
  store i64 600, ptr %24, align 8, !tbaa !9
  store ptr %24, ptr %23, align 8, !tbaa !11
  %225 = getelementptr inbounds i8, ptr %23, i64 8
  store i64 1, ptr %225, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %226 unwind label %504

226:                                              ; preds = %224
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.154") align 8 %21, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %227 unwind label %506

227:                                              ; preds = %226
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #8
  store i32 1, ptr %26, align 4, !tbaa !14
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRSt10shared_ptrINS2_9ParameterEES7_iEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES9_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.158") align 8 %25, ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %228 unwind label %509

228:                                              ; preds = %227
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #8
  store i64 128, ptr %30, align 8, !tbaa !9
  %229 = getelementptr inbounds i8, ptr %30, i64 8
  store i64 600, ptr %229, align 8, !tbaa !9
  store ptr %30, ptr %29, align 8, !tbaa !11
  %230 = getelementptr inbounds i8, ptr %29, i64 8
  store i64 2, ptr %230, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %231 unwind label %511

231:                                              ; preds = %228
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %31) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #8
  store i64 0, ptr %33, align 8, !tbaa !9
  store ptr %33, ptr %32, align 8, !tbaa !11
  %232 = getelementptr inbounds i8, ptr %32, i64 8
  store i64 1, ptr %232, align 8, !tbaa !13
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %31, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %233 unwind label %513

233:                                              ; preds = %231
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.161") align 8 %27, ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(48) %31)
          to label %234 unwind label %515

234:                                              ; preds = %233
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %31) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(16) %25)
          to label %235 unwind label %519

235:                                              ; preds = %234
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %37) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %236 unwind label %521

236:                                              ; preds = %235
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %35, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %37)
          to label %237 unwind label %523

237:                                              ; preds = %236
  invoke void @_ZSt11make_sharedIN6ngraph2op2v04ReluEJSt10shared_ptrINS0_4NodeEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES8_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.170") align 8 %34, ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %238 unwind label %525

238:                                              ; preds = %237
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #8
  store i64 600, ptr %41, align 8, !tbaa !9
  %239 = getelementptr inbounds i8, ptr %41, i64 8
  store i64 10, ptr %239, align 8, !tbaa !9
  store ptr %41, ptr %40, align 8, !tbaa !11
  %240 = getelementptr inbounds i8, ptr %40, i64 8
  store i64 2, ptr %240, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(16) %40)
          to label %241 unwind label %530

241:                                              ; preds = %238
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.154") align 8 %38, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %39)
          to label %242 unwind label %532

242:                                              ; preds = %241
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %43) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #8
  store i64 10, ptr %45, align 8, !tbaa !9
  store ptr %45, ptr %44, align 8, !tbaa !11
  %243 = getelementptr inbounds i8, ptr %44, i64 8
  store i64 1, ptr %243, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %244 unwind label %535

244:                                              ; preds = %242
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.154") align 8 %42, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %245 unwind label %537

245:                                              ; preds = %244
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %43) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %46) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #8
  store i32 1, ptr %47, align 4, !tbaa !14
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRSt10shared_ptrINS2_4ReluEERS4_INS2_9ParameterEEiEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.158") align 8 %46, ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef nonnull align 8 dereferenceable(16) %38, ptr noundef nonnull align 4 dereferenceable(4) %47)
          to label %246 unwind label %540

246:                                              ; preds = %245
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %48) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %51) #8
  store i64 128, ptr %51, align 8, !tbaa !9
  %247 = getelementptr inbounds i8, ptr %51, i64 8
  store i64 10, ptr %247, align 8, !tbaa !9
  store ptr %51, ptr %50, align 8, !tbaa !11
  %248 = getelementptr inbounds i8, ptr %50, i64 8
  store i64 2, ptr %248, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %249 unwind label %542

249:                                              ; preds = %246
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %52) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %53) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #8
  store i64 0, ptr %54, align 8, !tbaa !9
  store ptr %54, ptr %53, align 8, !tbaa !11
  %250 = getelementptr inbounds i8, ptr %53, i64 8
  store i64 1, ptr %250, align 8, !tbaa !13
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %52, ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %251 unwind label %544

251:                                              ; preds = %249
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.161") align 8 %48, ptr noundef nonnull align 8 dereferenceable(16) %42, ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(48) %52)
          to label %252 unwind label %546

252:                                              ; preds = %251
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %55) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %56) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %56, ptr noundef nonnull align 8 dereferenceable(16) %46)
          to label %253 unwind label %550

253:                                              ; preds = %252
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %57) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %254 unwind label %552

254:                                              ; preds = %253
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %55, ptr noundef nonnull align 8 dereferenceable(24) %56, ptr noundef nonnull align 8 dereferenceable(24) %57)
          to label %255 unwind label %554

255:                                              ; preds = %254
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %56) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %58) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %59) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %60) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #8
  store i64 1, ptr %61, align 8, !tbaa !9
  store ptr %61, ptr %60, align 8, !tbaa !11
  %256 = getelementptr inbounds i8, ptr %60, i64 8
  store i64 1, ptr %256, align 8, !tbaa !13
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %59, ptr noundef nonnull align 8 dereferenceable(16) %60)
          to label %257 unwind label %558

257:                                              ; preds = %255
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07SoftmaxEJRSt10shared_ptrINS0_4NodeEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.173") align 8 %58, ptr noundef nonnull align 8 dereferenceable(16) %55, ptr noundef nonnull align 8 dereferenceable(48) %59)
          to label %258 unwind label %560

258:                                              ; preds = %257
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %59) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %59) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %63) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #8
  store i64 128, ptr %65, align 8, !tbaa !9
  store ptr %65, ptr %64, align 8, !tbaa !11
  %259 = getelementptr inbounds i8, ptr %64, i64 8
  store i64 1, ptr %259, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(16) %64)
          to label %260 unwind label %563

260:                                              ; preds = %258
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.154") align 8 %62, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %63)
          to label %261 unwind label %565

261:                                              ; preds = %260
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %66) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %67) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %68) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %69) #8
  store i64 128, ptr %69, align 8, !tbaa !9
  %262 = getelementptr inbounds i8, ptr %69, i64 8
  store i64 10, ptr %262, align 8, !tbaa !9
  store ptr %69, ptr %68, align 8, !tbaa !11
  %263 = getelementptr inbounds i8, ptr %68, i64 8
  store i64 2, ptr %263, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(16) %68)
          to label %264 unwind label %568

264:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #8
  store i32 1, ptr %70, align 4, !tbaa !14
  invoke void @_ZSt11make_sharedIN6ngraph2op2v06OneHotEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeEiEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.176") align 8 %66, ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 4 dereferenceable(4) %70)
          to label %265 unwind label %570

265:                                              ; preds = %264
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %71) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %72) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %72)
          to label %266 unwind label %573

266:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %73) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %74) #8
  store float 0x3B6D257D60000000, ptr %74, align 4, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %75) #8
  call void @_ZNSaIfEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #8
  invoke void @_ZNSt6vectorIfSaIfEEC2ESt16initializer_listIfERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %73, ptr nonnull %74, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %75)
          to label %267 unwind label %575

267:                                              ; preds = %266
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorIfSaIfEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.179") align 8 %71, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %72, ptr noundef nonnull align 8 dereferenceable(24) %73)
          to label %268 unwind label %577

268:                                              ; preds = %267
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #8
  call void @_ZNSt15__new_allocatorIfED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %75) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %72) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %76) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %77) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %78) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %79) #8
  store i64 128, ptr %79, align 8, !tbaa !9
  %269 = getelementptr inbounds i8, ptr %79, i64 8
  store i64 10, ptr %269, align 8, !tbaa !9
  store ptr %79, ptr %78, align 8, !tbaa !11
  %270 = getelementptr inbounds i8, ptr %78, i64 8
  store i64 2, ptr %270, align 8, !tbaa !13
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull align 8 dereferenceable(16) %78)
          to label %271 unwind label %581

271:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %80) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %81) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %82) #8
  store i64 0, ptr %82, align 8, !tbaa !9
  %272 = getelementptr inbounds i8, ptr %82, i64 8
  store i64 1, ptr %272, align 8, !tbaa !9
  store ptr %82, ptr %81, align 8, !tbaa !11
  %273 = getelementptr inbounds i8, ptr %81, i64 8
  store i64 2, ptr %273, align 8, !tbaa !13
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %80, ptr noundef nonnull align 8 dereferenceable(16) %81)
          to label %274 unwind label %583

274:                                              ; preds = %271
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_8ConstantEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.161") align 8 %76, ptr noundef nonnull align 8 dereferenceable(16) %71, ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull align 8 dereferenceable(48) %80)
          to label %275 unwind label %585

275:                                              ; preds = %274
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %80) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %77) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %83) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v17MaximumEJRSt10shared_ptrINS1_2v07SoftmaxEERS4_INS5_9BroadcastEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.188") align 8 %83, ptr noundef nonnull align 8 dereferenceable(16) %58, ptr noundef nonnull align 8 dereferenceable(16) %76)
          to label %276 unwind label %589

276:                                              ; preds = %275
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %84) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03LogEJRSt10shared_ptrINS1_2v17MaximumEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.191") align 8 %84, ptr noundef nonnull align 8 dereferenceable(16) %83)
          to label %277 unwind label %591

277:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %85) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRSt10shared_ptrINS1_2v03LogEERS4_INS5_6OneHotEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.194") align 8 %85, ptr noundef nonnull align 8 dereferenceable(16) %84, ptr noundef nonnull align 8 dereferenceable(16) %66)
          to label %278 unwind label %593

278:                                              ; preds = %277
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %86) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %87) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %279 unwind label %595

279:                                              ; preds = %278
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.154") align 8 %86, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %280 unwind label %597

280:                                              ; preds = %279
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %88) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %89) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %90) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %91) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %92) #8
  store i64 0, ptr %92, align 8, !tbaa !9
  %281 = getelementptr inbounds i8, ptr %92, i64 8
  store i64 1, ptr %281, align 8, !tbaa !9
  store ptr %92, ptr %91, align 8, !tbaa !11
  %282 = getelementptr inbounds i8, ptr %91, i64 8
  store i64 2, ptr %282, align 8, !tbaa !13
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %90, ptr noundef nonnull align 8 dereferenceable(16) %91)
          to label %283 unwind label %600

283:                                              ; preds = %280
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS1_2v18MultiplyEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.200") align 8 %89, ptr noundef nonnull align 8 dereferenceable(16) %85, ptr noundef nonnull align 8 dereferenceable(48) %90)
          to label %284 unwind label %602

284:                                              ; preds = %283
  invoke void @_ZSt11make_sharedIN6ngraph2op2v16DivideEJSt10shared_ptrINS1_2v03SumEERS4_INS5_9ParameterEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.197") align 8 %88, ptr noundef nonnull align 8 dereferenceable(16) %89, ptr noundef nonnull align 8 dereferenceable(16) %86)
          to label %285 unwind label %604

285:                                              ; preds = %284
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #8
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %92) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %91) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %90) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %89) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %93) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %94) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %94)
          to label %286 unwind label %608

286:                                              ; preds = %285
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.154") align 8 %93, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %94)
          to label %287 unwind label %610

287:                                              ; preds = %286
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %94) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %95) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %96) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %97) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %98) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 8 dereferenceable(16) %93)
          to label %288 unwind label %613

288:                                              ; preds = %287
  invoke void @_ZN6ngraphngERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %97, ptr noundef nonnull align 8 dereferenceable(24) %98)
          to label %289 unwind label %615

289:                                              ; preds = %288
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %96, ptr noundef nonnull align 8 dereferenceable(16) %97)
          to label %290 unwind label %617

290:                                              ; preds = %289
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %99) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %99, ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %291 unwind label %619

291:                                              ; preds = %290
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %95, ptr noundef nonnull align 8 dereferenceable(24) %96, ptr noundef nonnull align 8 dereferenceable(24) %99)
          to label %292 unwind label %621

292:                                              ; preds = %291
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %99) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %96) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %98) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %97) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %96) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %100) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %101) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %102) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %293 unwind label %627

293:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %103) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %101, ptr nonnull %102, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %294 unwind label %629

294:                                              ; preds = %293
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %104) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %105) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %105, ptr noundef nonnull align 8 dereferenceable(16) %95)
          to label %295 unwind label %631

295:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %106) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %104, ptr nonnull %105, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %106)
          to label %296 unwind label %633

296:                                              ; preds = %295
  invoke void @_ZN6ngraph8autodiff8AdjointsC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS5_EES9_(ptr noundef nonnull align 8 dereferenceable(48) %100, ptr noundef nonnull align 8 dereferenceable(24) %101, ptr noundef nonnull align 8 dereferenceable(24) %104)
          to label %297 unwind label %635

297:                                              ; preds = %296
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %106) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %105) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %105) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %104) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %101) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %103) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %101) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %107) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %108) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %108, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %298 unwind label %637

298:                                              ; preds = %297
  invoke void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %107, ptr noundef nonnull align 8 dereferenceable(48) %100, ptr noundef nonnull align 8 dereferenceable(24) %108)
          to label %299 unwind label %639

299:                                              ; preds = %298
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %108) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %109) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %110) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %110, ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %300 unwind label %642

300:                                              ; preds = %299
  invoke void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %109, ptr noundef nonnull align 8 dereferenceable(48) %100, ptr noundef nonnull align 8 dereferenceable(24) %110)
          to label %301 unwind label %644

301:                                              ; preds = %300
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %111) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %112) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %112, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %302 unwind label %647

302:                                              ; preds = %301
  invoke void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %111, ptr noundef nonnull align 8 dereferenceable(48) %100, ptr noundef nonnull align 8 dereferenceable(24) %112)
          to label %303 unwind label %649

303:                                              ; preds = %302
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %112) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %113) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %114) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %114, ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %304 unwind label %652

304:                                              ; preds = %303
  invoke void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %113, ptr noundef nonnull align 8 dereferenceable(48) %100, ptr noundef nonnull align 8 dereferenceable(24) %114)
          to label %305 unwind label %654

305:                                              ; preds = %304
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %115) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.215") align 8 %115, ptr noundef nonnull align 8 dereferenceable(24) %107)
          to label %306 unwind label %657

306:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %116) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.215") align 8 %116, ptr noundef nonnull align 8 dereferenceable(24) %109)
          to label %307 unwind label %659

307:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %117) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.215") align 8 %117, ptr noundef nonnull align 8 dereferenceable(24) %111)
          to label %308 unwind label %661

308:                                              ; preds = %307
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %118) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.215") align 8 %118, ptr noundef nonnull align 8 dereferenceable(24) %113)
          to label %309 unwind label %663

309:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %119) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %120) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %120, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %310 unwind label %665

310:                                              ; preds = %309
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %121) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(16) %115)
          to label %311 unwind label %667

311:                                              ; preds = %310
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %119, ptr noundef nonnull align 8 dereferenceable(24) %120, ptr noundef nonnull align 8 dereferenceable(24) %121)
          to label %312 unwind label %669

312:                                              ; preds = %311
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %121) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %120) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %122) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %123) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %313 unwind label %673

313:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %124) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %124, ptr noundef nonnull align 8 dereferenceable(16) %116)
          to label %314 unwind label %675

314:                                              ; preds = %313
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %122, ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 8 dereferenceable(24) %124)
          to label %315 unwind label %677

315:                                              ; preds = %314
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %124) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %123) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %125) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %126) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %316 unwind label %681

316:                                              ; preds = %315
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %127) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %127, ptr noundef nonnull align 8 dereferenceable(16) %117)
          to label %317 unwind label %683

317:                                              ; preds = %316
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %125, ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 8 dereferenceable(24) %127)
          to label %318 unwind label %685

318:                                              ; preds = %317
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %127) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %126) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %128) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %129) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %129, ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %319 unwind label %689

319:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %130) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(16) %118)
          to label %320 unwind label %691

320:                                              ; preds = %319
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %128, ptr noundef nonnull align 8 dereferenceable(24) %129, ptr noundef nonnull align 8 dereferenceable(24) %130)
          to label %321 unwind label %693

321:                                              ; preds = %320
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %130) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %129) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %131) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %133) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %322 unwind label %697

322:                                              ; preds = %321
  invoke void @_ZN6ngraph7runtime7Backend6createERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.24") align 8 %131, ptr noundef nonnull align 8 dereferenceable(32) %132, i1 noundef zeroext false)
          to label %323 unwind label %699

323:                                              ; preds = %322
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %134) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %135) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %135, ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %134, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %135, i64 noundef 0)
          to label %324 unwind label %702

324:                                              ; preds = %323
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %135) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %135) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %136) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %137) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %137, ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %136, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %137, i64 noundef 0)
          to label %325 unwind label %704

325:                                              ; preds = %324
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %137) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %137) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %138) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %139) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %139, ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %138, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %139, i64 noundef 0)
          to label %326 unwind label %706

326:                                              ; preds = %325
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %139) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %139) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %140) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %141) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %141, ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %140, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %141, i64 noundef 0)
          to label %327 unwind label %708

327:                                              ; preds = %326
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %141) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %141) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %142) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %143) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %144) #8
  invoke void @_ZNSt25uniform_real_distributionIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %144, float noundef -1.000000e+00, float noundef 1.000000e+00)
          to label %328 unwind label %710

328:                                              ; preds = %327
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %145) #8
  invoke void @_ZNSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %145, i64 noundef 0)
          to label %329 unwind label %712

329:                                              ; preds = %328
  invoke void @_ZSt4bindISt25uniform_real_distributionIfEJSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueES5_JDpT0_EE4typeEOS5_DpOS6_(ptr dead_on_unwind nonnull writable sret(%"class.std::_Bind") align 8 %143, ptr noundef nonnull align 4 dereferenceable(8) %144, ptr noundef nonnull align 8 dereferenceable(8) %145)
          to label %330 unwind label %712

330:                                              ; preds = %329
  invoke void @_ZNSt8functionIFfvEEC2ISt5_BindIFSt25uniform_real_distributionIfESt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(16) %143)
          to label %331 unwind label %712

331:                                              ; preds = %330
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %143) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %332 unwind label %715

332:                                              ; preds = %331
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef nonnull %146, ptr noundef nonnull align 8 dereferenceable(16) %134)
          to label %333 unwind label %717

333:                                              ; preds = %332
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %334 unwind label %715

334:                                              ; preds = %333
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef nonnull %147, ptr noundef nonnull align 8 dereferenceable(16) %136)
          to label %335 unwind label %719

335:                                              ; preds = %334
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %336 unwind label %715

336:                                              ; preds = %335
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef nonnull %148, ptr noundef nonnull align 8 dereferenceable(16) %138)
          to label %337 unwind label %721

337:                                              ; preds = %336
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %338 unwind label %715

338:                                              ; preds = %337
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef nonnull %149, ptr noundef nonnull align 8 dereferenceable(16) %140)
          to label %339 unwind label %723

339:                                              ; preds = %338
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %150) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %151) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %151, ptr noundef nonnull align 8 dereferenceable(16) %13) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %150, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %151, i64 noundef 0)
          to label %340 unwind label %725

340:                                              ; preds = %339
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %151) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %151) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %152) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %153) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %153, ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %152, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %153, i64 noundef 0)
          to label %341 unwind label %727

341:                                              ; preds = %340
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %153) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %153) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %154) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %155) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %155, ptr noundef nonnull align 8 dereferenceable(16) %93) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %154, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %155, i64 noundef 0)
          to label %342 unwind label %729

342:                                              ; preds = %341
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %155) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %155) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %156) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %157) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %157, ptr noundef nonnull align 8 dereferenceable(16) %86) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %156, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %157, i64 noundef 0)
          to label %343 unwind label %731

343:                                              ; preds = %342
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %157) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %157) #8
  invoke void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16) %156, float noundef 1.280000e+02, i64 noundef 0)
          to label %344 unwind label %733

344:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %158) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %158, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %119, i64 noundef 0)
          to label %345 unwind label %735

345:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %159) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %159, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %122, i64 noundef 0)
          to label %346 unwind label %737

346:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %160) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %160, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %125, i64 noundef 0)
          to label %347 unwind label %739

347:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %161) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %161, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %128, i64 noundef 0)
          to label %348 unwind label %741

348:                                              ; preds = %347
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %162) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %163) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v16DivideEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %163, ptr noundef nonnull align 8 dereferenceable(16) %88) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %162, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %163, i64 noundef 0)
          to label %349 unwind label %743

349:                                              ; preds = %348
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %163) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %163) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %164) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %165) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v07SoftmaxEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %165, ptr noundef nonnull align 8 dereferenceable(16) %58) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %164, ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %165, i64 noundef 0)
          to label %350 unwind label %745

350:                                              ; preds = %349
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %165) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %165) #8
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %166) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %166) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %167) #8
  call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %168) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %169) #8
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %170) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %170, ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %352 unwind label %.thread

.thread:                                          ; preds = %350
  %351 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit350

352:                                              ; preds = %350
  %353 = getelementptr inbounds i8, ptr %170, i64 24
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %353, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %354 unwind label %747

354:                                              ; preds = %352
  %355 = getelementptr inbounds i8, ptr %170, i64 48
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %355, ptr noundef nonnull align 8 dereferenceable(16) %119)
          to label %356 unwind label %747

356:                                              ; preds = %354
  %357 = getelementptr inbounds i8, ptr %170, i64 72
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %357, ptr noundef nonnull align 8 dereferenceable(16) %122)
          to label %358 unwind label %747

358:                                              ; preds = %356
  %359 = getelementptr inbounds i8, ptr %170, i64 96
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %359, ptr noundef nonnull align 8 dereferenceable(16) %125)
          to label %360 unwind label %747

360:                                              ; preds = %358
  %361 = getelementptr inbounds i8, ptr %170, i64 120
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %361, ptr noundef nonnull align 8 dereferenceable(16) %128)
          to label %362 unwind label %747

362:                                              ; preds = %360
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %171) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %169, ptr nonnull %170, i64 6, ptr noundef nonnull align 1 dereferenceable(1) %171)
          to label %363 unwind label %753

363:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %172) #8
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %173) #8
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %173, ptr noundef nonnull align 8 dereferenceable(16) %13) #8
  %364 = getelementptr inbounds i8, ptr %173, i64 16
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %364, ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  %365 = getelementptr inbounds i8, ptr %173, i64 32
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %365, ptr noundef nonnull align 8 dereferenceable(16) %86) #8
  %366 = getelementptr inbounds i8, ptr %173, i64 48
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %366, ptr noundef nonnull align 8 dereferenceable(16) %93) #8
  %367 = getelementptr inbounds i8, ptr %173, i64 64
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %367, ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  %368 = getelementptr inbounds i8, ptr %173, i64 80
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %368, ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  %369 = getelementptr inbounds i8, ptr %173, i64 96
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %369, ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  %370 = getelementptr inbounds i8, ptr %173, i64 112
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %370, ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %174) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph2op2v09ParameterEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %172, ptr nonnull %173, i64 8, ptr noundef nonnull align 1 dereferenceable(1) %174)
          to label %371 unwind label %755

371:                                              ; preds = %363
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %175) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %176) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %176)
          to label %372 unwind label %757

372:                                              ; preds = %371
  invoke void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176) %168, ptr noundef nonnull align 8 dereferenceable(24) %169, ptr noundef nonnull align 8 dereferenceable(24) %172, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %373 unwind label %759

373:                                              ; preds = %372
  invoke void @_ZN6ngraph14clone_functionERKNS_8FunctionERSt13unordered_mapIPNS_4NodeESt10shared_ptrIS4_ESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.237") align 8 %167, ptr noundef nonnull align 8 dereferenceable(176) %168, ptr noundef nonnull align 8 dereferenceable(56) %166)
          to label %374 unwind label %761

374:                                              ; preds = %373
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %168) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %172) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %174) #8
  %375 = getelementptr inbounds i8, ptr %173, i64 112
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %375) #8
  %376 = getelementptr inbounds i8, ptr %173, i64 96
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %376) #8
  %377 = getelementptr inbounds i8, ptr %173, i64 80
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %377) #8
  %378 = getelementptr inbounds i8, ptr %173, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %378) #8
  %379 = getelementptr inbounds i8, ptr %173, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %379) #8
  %380 = getelementptr inbounds i8, ptr %173, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %380) #8
  %381 = getelementptr inbounds i8, ptr %173, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %381) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %173) #8
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %173) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %172) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %171) #8
  %382 = getelementptr inbounds i8, ptr %170, i64 120
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %382) #8
  %383 = getelementptr inbounds i8, ptr %170, i64 96
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %383) #8
  %384 = getelementptr inbounds i8, ptr %170, i64 72
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %384) #8
  %385 = getelementptr inbounds i8, ptr %170, i64 48
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %385) #8
  %386 = getelementptr inbounds i8, ptr %170, i64 24
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %386) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %170) #8
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %170) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %169) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %168) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %177) #8
  %387 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %131) #8
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %178, ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  %388 = load ptr, ptr %387, align 8, !tbaa !18
  %389 = getelementptr inbounds i8, ptr %388, i64 56
  %390 = load ptr, ptr %389, align 8
  invoke void %390(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.133") align 8 %177, ptr noundef nonnull align 8 dereferenceable(8) %387, ptr noundef nonnull %178, i1 noundef zeroext false)
          to label %391 unwind label %778

391:                                              ; preds = %374
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #8
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %179) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %179) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %180) #8
  call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %181) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %182) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %183) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %183, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %392 unwind label %780

392:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %184) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %184) #8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %182, ptr nonnull %183, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %184)
          to label %393 unwind label %782

393:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %185) #8
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %186) #8
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %186, ptr noundef nonnull align 8 dereferenceable(16) %13) #8
  %394 = getelementptr inbounds i8, ptr %186, i64 16
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %394, ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  %395 = getelementptr inbounds i8, ptr %186, i64 32
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %395, ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  %396 = getelementptr inbounds i8, ptr %186, i64 48
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %396, ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  %397 = getelementptr inbounds i8, ptr %186, i64 64
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %397, ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %187) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph2op2v09ParameterEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %185, ptr nonnull %186, i64 5, ptr noundef nonnull align 1 dereferenceable(1) %187)
          to label %398 unwind label %784

398:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %188) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %189) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %189)
          to label %399 unwind label %786

399:                                              ; preds = %398
  invoke void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176) %181, ptr noundef nonnull align 8 dereferenceable(24) %182, ptr noundef nonnull align 8 dereferenceable(24) %185, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %400 unwind label %788

400:                                              ; preds = %399
  invoke void @_ZN6ngraph14clone_functionERKNS_8FunctionERSt13unordered_mapIPNS_4NodeESt10shared_ptrIS4_ESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.237") align 8 %180, ptr noundef nonnull align 8 dereferenceable(176) %181, ptr noundef nonnull align 8 dereferenceable(56) %179)
          to label %401 unwind label %790

401:                                              ; preds = %400
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %181) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %189) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %188) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %185) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %187) #8
  %402 = getelementptr inbounds i8, ptr %186, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %402) #8
  %403 = getelementptr inbounds i8, ptr %186, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %403) #8
  %404 = getelementptr inbounds i8, ptr %186, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %404) #8
  %405 = getelementptr inbounds i8, ptr %186, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %405) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %186) #8
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %186) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %185) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %182) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %184) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %184) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %183) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %183) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %182) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %181) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %190) #8
  %406 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %131) #8
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %191, ptr noundef nonnull align 8 dereferenceable(16) %180) #8
  %407 = load ptr, ptr %406, align 8, !tbaa !18
  %408 = getelementptr inbounds i8, ptr %407, i64 56
  %409 = load ptr, ptr %408, align 8
  invoke void %409(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.133") align 8 %190, ptr noundef nonnull align 8 dereferenceable(8) %406, ptr noundef nonnull %191, i1 noundef zeroext false)
          to label %410 unwind label %799

410:                                              ; preds = %401
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %191) #8
  invoke void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16) %154, float noundef 0x3F9EB851E0000000, i64 noundef 0)
          to label %.preheader unwind label %801

.preheader:                                       ; preds = %410
  %411 = call noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %412 = icmp ult i64 %411, 5
  br i1 %412, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %.preheader
  %413 = getelementptr inbounds i8, ptr %193, i64 16
  %414 = getelementptr inbounds i8, ptr %193, i64 32
  %415 = getelementptr inbounds i8, ptr %193, i64 48
  %416 = getelementptr inbounds i8, ptr %193, i64 64
  %417 = getelementptr inbounds i8, ptr %193, i64 80
  %418 = getelementptr inbounds i8, ptr %196, i64 16
  %419 = getelementptr inbounds i8, ptr %196, i64 32
  %420 = getelementptr inbounds i8, ptr %196, i64 48
  %421 = getelementptr inbounds i8, ptr %196, i64 64
  %422 = getelementptr inbounds i8, ptr %196, i64 80
  %423 = getelementptr inbounds i8, ptr %196, i64 96
  %424 = getelementptr inbounds i8, ptr %196, i64 112
  %425 = getelementptr inbounds i8, ptr %196, i64 112
  %426 = getelementptr inbounds i8, ptr %196, i64 96
  %427 = getelementptr inbounds i8, ptr %196, i64 80
  %428 = getelementptr inbounds i8, ptr %196, i64 64
  %429 = getelementptr inbounds i8, ptr %196, i64 48
  %430 = getelementptr inbounds i8, ptr %196, i64 32
  %431 = getelementptr inbounds i8, ptr %196, i64 16
  %432 = getelementptr inbounds i8, ptr %193, i64 80
  %433 = getelementptr inbounds i8, ptr %193, i64 64
  %434 = getelementptr inbounds i8, ptr %193, i64 48
  %435 = getelementptr inbounds i8, ptr %193, i64 32
  %436 = getelementptr inbounds i8, ptr %193, i64 16
  br label %437

437:                                              ; preds = %.lr.ph, %827
  %.0174354 = phi i64 [ 0, %.lr.ph ], [ %.1175, %827 ]
  invoke void @_ZN15MNistDataLoader4loadEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
          to label %438 unwind label %803

438:                                              ; preds = %437
  %439 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %150) #8
  %440 = call noundef ptr @_ZNK15MNistDataLoader16get_image_floatsEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %441 = call noundef i64 @_ZNK15MNistDataLoader20get_image_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %442 = shl i64 %441, 2
  %443 = load ptr, ptr %439, align 8, !tbaa !18
  %444 = getelementptr inbounds i8, ptr %443, i64 56
  %445 = load ptr, ptr %444, align 8
  invoke void %445(ptr noundef nonnull align 8 dereferenceable(64) %439, ptr noundef %440, i64 noundef %442)
          to label %446 unwind label %803

446:                                              ; preds = %438
  %447 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %152) #8
  %448 = call noundef ptr @_ZNK15MNistDataLoader16get_label_floatsEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %449 = call noundef i64 @_ZNK15MNistDataLoader20get_label_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %450 = shl i64 %449, 2
  %451 = load ptr, ptr %447, align 8, !tbaa !18
  %452 = getelementptr inbounds i8, ptr %451, i64 56
  %453 = load ptr, ptr %452, align 8
  invoke void %453(ptr noundef nonnull align 8 dereferenceable(64) %447, ptr noundef %448, i64 noundef %450)
          to label %454 unwind label %803

454:                                              ; preds = %446
  %455 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %177) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %192) #8
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %193) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %193, ptr noundef nonnull align 8 dereferenceable(16) %162) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %413, ptr noundef nonnull align 8 dereferenceable(16) %164) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %414, ptr noundef nonnull align 8 dereferenceable(16) %158) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %415, ptr noundef nonnull align 8 dereferenceable(16) %159) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %416, ptr noundef nonnull align 8 dereferenceable(16) %160) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %417, ptr noundef nonnull align 8 dereferenceable(16) %161) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %194) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph7runtime6TensorEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %192, ptr nonnull %193, i64 6, ptr noundef nonnull align 1 dereferenceable(1) %194)
          to label %456 unwind label %805

456:                                              ; preds = %454
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %195) #8
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %196) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %196, ptr noundef nonnull align 8 dereferenceable(16) %150) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %418, ptr noundef nonnull align 8 dereferenceable(16) %152) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %419, ptr noundef nonnull align 8 dereferenceable(16) %156) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %420, ptr noundef nonnull align 8 dereferenceable(16) %154) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %421, ptr noundef nonnull align 8 dereferenceable(16) %134) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %422, ptr noundef nonnull align 8 dereferenceable(16) %136) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %423, ptr noundef nonnull align 8 dereferenceable(16) %138) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %424, ptr noundef nonnull align 8 dereferenceable(16) %140) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %197) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph7runtime6TensorEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %197) #8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %195, ptr nonnull %196, i64 8, ptr noundef nonnull align 1 dereferenceable(1) %197)
          to label %457 unwind label %807

457:                                              ; preds = %456
  %458 = load ptr, ptr %455, align 8, !tbaa !18
  %459 = getelementptr inbounds i8, ptr %458, i64 16
  %460 = load ptr, ptr %459, align 8
  %461 = invoke noundef zeroext i1 %460(ptr noundef nonnull align 8 dereferenceable(56) %455, ptr noundef nonnull align 8 dereferenceable(24) %192, ptr noundef nonnull align 8 dereferenceable(24) %195)
          to label %462 unwind label %809

462:                                              ; preds = %457
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %195) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %197) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %197) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %425) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %426) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %427) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %428) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %429) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %430) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %431) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %196) #8
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %196) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %195) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %192) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %194) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %432) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %433) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %434) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %435) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %436) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %193) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %193) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %192) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %134, ptr noundef nonnull align 8 dereferenceable(16) %158) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %136, ptr noundef nonnull align 8 dereferenceable(16) %159) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %138, ptr noundef nonnull align 8 dereferenceable(16) %160) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %161) #8
  %463 = call noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %.not = icmp eq i64 %463, %.0174354
  br i1 %.not, label %827, label %464

464:                                              ; preds = %462
  %465 = call noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %466 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.6)
          to label %467 unwind label %803

467:                                              ; preds = %464
  call void @_ZNSt10shared_ptrIN6ngraph7runtime10ExecutableEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %198, ptr noundef nonnull align 8 dereferenceable(16) %190) #8
  %468 = invoke noundef float @_Z13test_accuracyR15MNistDataLoaderSt10shared_ptrIN6ngraph7runtime10ExecutableEERKS1_INS3_6TensorEES9_S9_S9_S9_S9_S9_(ptr noundef nonnull align 8 dereferenceable(208) %3, ptr noundef nonnull %198, ptr noundef nonnull align 8 dereferenceable(16) %150, ptr noundef nonnull align 8 dereferenceable(16) %152, ptr noundef nonnull align 8 dereferenceable(16) %164, ptr noundef nonnull align 8 dereferenceable(16) %134, ptr noundef nonnull align 8 dereferenceable(16) %136, ptr noundef nonnull align 8 dereferenceable(16) %138, ptr noundef nonnull align 8 dereferenceable(16) %140)
          to label %469 unwind label %825

469:                                              ; preds = %467
  %470 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %466, float noundef %468)
          to label %471 unwind label %825

471:                                              ; preds = %469
  %472 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %470, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %473 unwind label %825

473:                                              ; preds = %471
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %198) #8
  br label %827

474:                                              ; preds = %2
  %475 = landingpad { ptr, i32 }
          cleanup
  br label %481

476:                                              ; preds = %200
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %480

478:                                              ; preds = %202
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #8
  br label %480

480:                                              ; preds = %478, %476
  %.pn = phi { ptr, i32 } [ %479, %478 ], [ %477, %476 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  br label %481

481:                                              ; preds = %480, %474
  %.pn.pn = phi { ptr, i32 } [ %.pn, %480 ], [ %475, %474 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #8
  br label %891

482:                                              ; preds = %203
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %489

484:                                              ; preds = %205
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %488

486:                                              ; preds = %207
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  br label %488

488:                                              ; preds = %486, %484
  %.pn190 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  br label %489

489:                                              ; preds = %488, %482
  %.pn190.pn = phi { ptr, i32 } [ %.pn190, %488 ], [ %483, %482 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #8
  br label %890

490:                                              ; preds = %209, %208
  %491 = landingpad { ptr, i32 }
          cleanup
  br label %889

492:                                              ; preds = %212, %210
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %889

494:                                              ; preds = %214
  %495 = landingpad { ptr, i32 }
          cleanup
  br label %498

496:                                              ; preds = %219
  %497 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  br label %498

498:                                              ; preds = %496, %494
  %.pn193 = phi { ptr, i32 } [ %497, %496 ], [ %495, %494 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #8
  br label %888

499:                                              ; preds = %220
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %503

501:                                              ; preds = %223
  %502 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  br label %503

503:                                              ; preds = %501, %499
  %.pn195 = phi { ptr, i32 } [ %502, %501 ], [ %500, %499 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  br label %887

504:                                              ; preds = %224
  %505 = landingpad { ptr, i32 }
          cleanup
  br label %508

506:                                              ; preds = %226
  %507 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  br label %508

508:                                              ; preds = %506, %504
  %.pn197 = phi { ptr, i32 } [ %507, %506 ], [ %505, %504 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #8
  br label %886

509:                                              ; preds = %227
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #8
  br label %885

511:                                              ; preds = %228
  %512 = landingpad { ptr, i32 }
          cleanup
  br label %518

513:                                              ; preds = %231
  %514 = landingpad { ptr, i32 }
          cleanup
  br label %517

515:                                              ; preds = %233
  %516 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #8
  br label %517

517:                                              ; preds = %515, %513
  %.pn199 = phi { ptr, i32 } [ %516, %515 ], [ %514, %513 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %31) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  br label %518

518:                                              ; preds = %517, %511
  %.pn199.pn = phi { ptr, i32 } [ %.pn199, %517 ], [ %512, %511 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  br label %884

519:                                              ; preds = %234
  %520 = landingpad { ptr, i32 }
          cleanup
  br label %529

521:                                              ; preds = %235
  %522 = landingpad { ptr, i32 }
          cleanup
  br label %528

523:                                              ; preds = %236
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %527

525:                                              ; preds = %237
  %526 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #8
  br label %527

527:                                              ; preds = %525, %523
  %.pn202 = phi { ptr, i32 } [ %526, %525 ], [ %524, %523 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #8
  br label %528

528:                                              ; preds = %527, %521
  %.pn202.pn = phi { ptr, i32 } [ %.pn202, %527 ], [ %522, %521 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  br label %529

529:                                              ; preds = %528, %519
  %.pn202.pn.pn = phi { ptr, i32 } [ %.pn202.pn, %528 ], [ %520, %519 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  br label %883

530:                                              ; preds = %238
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %534

532:                                              ; preds = %241
  %533 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  br label %534

534:                                              ; preds = %532, %530
  %.pn206 = phi { ptr, i32 } [ %533, %532 ], [ %531, %530 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #8
  br label %882

535:                                              ; preds = %242
  %536 = landingpad { ptr, i32 }
          cleanup
  br label %539

537:                                              ; preds = %244
  %538 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  br label %539

539:                                              ; preds = %537, %535
  %.pn208 = phi { ptr, i32 } [ %538, %537 ], [ %536, %535 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %43) #8
  br label %881

540:                                              ; preds = %245
  %541 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #8
  br label %880

542:                                              ; preds = %246
  %543 = landingpad { ptr, i32 }
          cleanup
  br label %549

544:                                              ; preds = %249
  %545 = landingpad { ptr, i32 }
          cleanup
  br label %548

546:                                              ; preds = %251
  %547 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #8
  br label %548

548:                                              ; preds = %546, %544
  %.pn210 = phi { ptr, i32 } [ %547, %546 ], [ %545, %544 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #8
  br label %549

549:                                              ; preds = %548, %542
  %.pn210.pn = phi { ptr, i32 } [ %.pn210, %548 ], [ %543, %542 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #8
  br label %879

550:                                              ; preds = %252
  %551 = landingpad { ptr, i32 }
          cleanup
  br label %557

552:                                              ; preds = %253
  %553 = landingpad { ptr, i32 }
          cleanup
  br label %556

554:                                              ; preds = %254
  %555 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  br label %556

556:                                              ; preds = %554, %552
  %.pn213 = phi { ptr, i32 } [ %555, %554 ], [ %553, %552 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #8
  br label %557

557:                                              ; preds = %556, %550
  %.pn213.pn = phi { ptr, i32 } [ %.pn213, %556 ], [ %551, %550 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %56) #8
  br label %878

558:                                              ; preds = %255
  %559 = landingpad { ptr, i32 }
          cleanup
  br label %562

560:                                              ; preds = %257
  %561 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %59) #8
  br label %562

562:                                              ; preds = %560, %558
  %.pn216 = phi { ptr, i32 } [ %561, %560 ], [ %559, %558 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %59) #8
  br label %877

563:                                              ; preds = %258
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %567

565:                                              ; preds = %260
  %566 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  br label %567

567:                                              ; preds = %565, %563
  %.pn218 = phi { ptr, i32 } [ %566, %565 ], [ %564, %563 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #8
  br label %876

568:                                              ; preds = %261
  %569 = landingpad { ptr, i32 }
          cleanup
  br label %572

570:                                              ; preds = %264
  %571 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #8
  br label %572

572:                                              ; preds = %570, %568
  %.pn220 = phi { ptr, i32 } [ %571, %570 ], [ %569, %568 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #8
  br label %875

573:                                              ; preds = %265
  %574 = landingpad { ptr, i32 }
          cleanup
  br label %580

575:                                              ; preds = %266
  %576 = landingpad { ptr, i32 }
          cleanup
  br label %579

577:                                              ; preds = %267
  %578 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #8
  br label %579

579:                                              ; preds = %577, %575
  %.pn222 = phi { ptr, i32 } [ %578, %577 ], [ %576, %575 ]
  call void @_ZNSt15__new_allocatorIfED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %75) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #8
  br label %580

580:                                              ; preds = %579, %573
  %.pn222.pn = phi { ptr, i32 } [ %.pn222, %579 ], [ %574, %573 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %72) #8
  br label %874

581:                                              ; preds = %268
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %588

583:                                              ; preds = %271
  %584 = landingpad { ptr, i32 }
          cleanup
  br label %587

585:                                              ; preds = %274
  %586 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #8
  br label %587

587:                                              ; preds = %585, %583
  %.pn225 = phi { ptr, i32 } [ %586, %585 ], [ %584, %583 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %80) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #8
  br label %588

588:                                              ; preds = %587, %581
  %.pn225.pn = phi { ptr, i32 } [ %.pn225, %587 ], [ %582, %581 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %77) #8
  br label %873

589:                                              ; preds = %275
  %590 = landingpad { ptr, i32 }
          cleanup
  br label %872

591:                                              ; preds = %276
  %592 = landingpad { ptr, i32 }
          cleanup
  br label %871

593:                                              ; preds = %277
  %594 = landingpad { ptr, i32 }
          cleanup
  br label %870

595:                                              ; preds = %278
  %596 = landingpad { ptr, i32 }
          cleanup
  br label %599

597:                                              ; preds = %279
  %598 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #8
  br label %599

599:                                              ; preds = %597, %595
  %.pn228 = phi { ptr, i32 } [ %598, %597 ], [ %596, %595 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #8
  br label %869

600:                                              ; preds = %280
  %601 = landingpad { ptr, i32 }
          cleanup
  br label %607

602:                                              ; preds = %283
  %603 = landingpad { ptr, i32 }
          cleanup
  br label %606

604:                                              ; preds = %284
  %605 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #8
  br label %606

606:                                              ; preds = %604, %602
  %.pn230 = phi { ptr, i32 } [ %605, %604 ], [ %603, %602 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  br label %607

607:                                              ; preds = %606, %600
  %.pn230.pn = phi { ptr, i32 } [ %.pn230, %606 ], [ %601, %600 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %92) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %91) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %90) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %89) #8
  br label %868

608:                                              ; preds = %285
  %609 = landingpad { ptr, i32 }
          cleanup
  br label %612

610:                                              ; preds = %286
  %611 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #8
  br label %612

612:                                              ; preds = %610, %608
  %.pn233 = phi { ptr, i32 } [ %611, %610 ], [ %609, %608 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %94) #8
  br label %867

613:                                              ; preds = %287
  %614 = landingpad { ptr, i32 }
          cleanup
  br label %626

615:                                              ; preds = %288
  %616 = landingpad { ptr, i32 }
          cleanup
  br label %625

617:                                              ; preds = %289
  %618 = landingpad { ptr, i32 }
          cleanup
  br label %624

619:                                              ; preds = %290
  %620 = landingpad { ptr, i32 }
          cleanup
  br label %623

621:                                              ; preds = %291
  %622 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #8
  br label %623

623:                                              ; preds = %621, %619
  %.pn235 = phi { ptr, i32 } [ %622, %621 ], [ %620, %619 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %99) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %96) #8
  br label %624

624:                                              ; preds = %623, %617
  %.pn235.pn = phi { ptr, i32 } [ %.pn235, %623 ], [ %618, %617 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #8
  br label %625

625:                                              ; preds = %624, %615
  %.pn235.pn.pn = phi { ptr, i32 } [ %.pn235.pn, %624 ], [ %616, %615 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #8
  br label %626

626:                                              ; preds = %625, %613
  %.pn235.pn.pn.pn = phi { ptr, i32 } [ %.pn235.pn.pn, %625 ], [ %614, %613 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %98) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %97) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %96) #8
  br label %866

627:                                              ; preds = %292
  %628 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit352

629:                                              ; preds = %293
  %630 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit352.loopexit

631:                                              ; preds = %294
  %632 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit353

633:                                              ; preds = %295
  %634 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit353.loopexit

635:                                              ; preds = %296
  %636 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #8
  br label %.loopexit353.loopexit

.loopexit353.loopexit:                            ; preds = %635, %633
  %.pn240 = phi { ptr, i32 } [ %636, %635 ], [ %634, %633 ]
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %106) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %105) #8
  br label %.loopexit353

.loopexit353:                                     ; preds = %.loopexit353.loopexit, %631
  %.pn240.pn = phi { ptr, i32 } [ %632, %631 ], [ %.pn240, %.loopexit353.loopexit ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %105) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %104) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %101) #8
  br label %.loopexit352.loopexit

.loopexit352.loopexit:                            ; preds = %.loopexit353, %629
  %.pn240.pn.pn = phi { ptr, i32 } [ %.pn240.pn, %.loopexit353 ], [ %630, %629 ]
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %103) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #8
  br label %.loopexit352

.loopexit352:                                     ; preds = %.loopexit352.loopexit, %627
  %.pn240.pn.pn.pn = phi { ptr, i32 } [ %628, %627 ], [ %.pn240.pn.pn, %.loopexit352.loopexit ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %101) #8
  br label %865

637:                                              ; preds = %297
  %638 = landingpad { ptr, i32 }
          cleanup
  br label %641

639:                                              ; preds = %298
  %640 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #8
  br label %641

641:                                              ; preds = %639, %637
  %.pn245 = phi { ptr, i32 } [ %640, %639 ], [ %638, %637 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %108) #8
  br label %864

642:                                              ; preds = %299
  %643 = landingpad { ptr, i32 }
          cleanup
  br label %646

644:                                              ; preds = %300
  %645 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #8
  br label %646

646:                                              ; preds = %644, %642
  %.pn247 = phi { ptr, i32 } [ %645, %644 ], [ %643, %642 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #8
  br label %863

647:                                              ; preds = %301
  %648 = landingpad { ptr, i32 }
          cleanup
  br label %651

649:                                              ; preds = %302
  %650 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #8
  br label %651

651:                                              ; preds = %649, %647
  %.pn249 = phi { ptr, i32 } [ %650, %649 ], [ %648, %647 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %112) #8
  br label %862

652:                                              ; preds = %303
  %653 = landingpad { ptr, i32 }
          cleanup
  br label %656

654:                                              ; preds = %304
  %655 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #8
  br label %656

656:                                              ; preds = %654, %652
  %.pn251 = phi { ptr, i32 } [ %655, %654 ], [ %653, %652 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #8
  br label %861

657:                                              ; preds = %305
  %658 = landingpad { ptr, i32 }
          cleanup
  br label %860

659:                                              ; preds = %306
  %660 = landingpad { ptr, i32 }
          cleanup
  br label %859

661:                                              ; preds = %307
  %662 = landingpad { ptr, i32 }
          cleanup
  br label %858

663:                                              ; preds = %308
  %664 = landingpad { ptr, i32 }
          cleanup
  br label %857

665:                                              ; preds = %309
  %666 = landingpad { ptr, i32 }
          cleanup
  br label %672

667:                                              ; preds = %310
  %668 = landingpad { ptr, i32 }
          cleanup
  br label %671

669:                                              ; preds = %311
  %670 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #8
  br label %671

671:                                              ; preds = %669, %667
  %.pn253 = phi { ptr, i32 } [ %670, %669 ], [ %668, %667 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %121) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #8
  br label %672

672:                                              ; preds = %671, %665
  %.pn253.pn = phi { ptr, i32 } [ %.pn253, %671 ], [ %666, %665 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %120) #8
  br label %856

673:                                              ; preds = %312
  %674 = landingpad { ptr, i32 }
          cleanup
  br label %680

675:                                              ; preds = %313
  %676 = landingpad { ptr, i32 }
          cleanup
  br label %679

677:                                              ; preds = %314
  %678 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #8
  br label %679

679:                                              ; preds = %677, %675
  %.pn256 = phi { ptr, i32 } [ %678, %677 ], [ %676, %675 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %124) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #8
  br label %680

680:                                              ; preds = %679, %673
  %.pn256.pn = phi { ptr, i32 } [ %.pn256, %679 ], [ %674, %673 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %123) #8
  br label %855

681:                                              ; preds = %315
  %682 = landingpad { ptr, i32 }
          cleanup
  br label %688

683:                                              ; preds = %316
  %684 = landingpad { ptr, i32 }
          cleanup
  br label %687

685:                                              ; preds = %317
  %686 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #8
  br label %687

687:                                              ; preds = %685, %683
  %.pn259 = phi { ptr, i32 } [ %686, %685 ], [ %684, %683 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %127) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  br label %688

688:                                              ; preds = %687, %681
  %.pn259.pn = phi { ptr, i32 } [ %.pn259, %687 ], [ %682, %681 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %126) #8
  br label %854

689:                                              ; preds = %318
  %690 = landingpad { ptr, i32 }
          cleanup
  br label %696

691:                                              ; preds = %319
  %692 = landingpad { ptr, i32 }
          cleanup
  br label %695

693:                                              ; preds = %320
  %694 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  br label %695

695:                                              ; preds = %693, %691
  %.pn262 = phi { ptr, i32 } [ %694, %693 ], [ %692, %691 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %130) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #8
  br label %696

696:                                              ; preds = %695, %689
  %.pn262.pn = phi { ptr, i32 } [ %.pn262, %695 ], [ %690, %689 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %129) #8
  br label %853

697:                                              ; preds = %321
  %698 = landingpad { ptr, i32 }
          cleanup
  br label %701

699:                                              ; preds = %322
  %700 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #8
  br label %701

701:                                              ; preds = %699, %697
  %.pn265 = phi { ptr, i32 } [ %700, %699 ], [ %698, %697 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #8
  br label %852

702:                                              ; preds = %323
  %703 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %135) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %135) #8
  br label %851

704:                                              ; preds = %324
  %705 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %137) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %137) #8
  br label %850

706:                                              ; preds = %325
  %707 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %139) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %139) #8
  br label %849

708:                                              ; preds = %326
  %709 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %141) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %141) #8
  br label %848

710:                                              ; preds = %327
  %711 = landingpad { ptr, i32 }
          cleanup
  br label %714

712:                                              ; preds = %330, %329, %328
  %713 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #8
  br label %714

714:                                              ; preds = %712, %710
  %.pn267 = phi { ptr, i32 } [ %713, %712 ], [ %711, %710 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %143) #8
  br label %847

715:                                              ; preds = %337, %335, %333, %331
  %716 = landingpad { ptr, i32 }
          cleanup
  br label %846

717:                                              ; preds = %332
  %718 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #8
  br label %846

719:                                              ; preds = %334
  %720 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #8
  br label %846

721:                                              ; preds = %336
  %722 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #8
  br label %846

723:                                              ; preds = %338
  %724 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #8
  br label %846

725:                                              ; preds = %339
  %726 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %151) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %151) #8
  br label %845

727:                                              ; preds = %340
  %728 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %153) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %153) #8
  br label %844

729:                                              ; preds = %341
  %730 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %155) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %155) #8
  br label %843

731:                                              ; preds = %342
  %732 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %157) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %157) #8
  br label %842

733:                                              ; preds = %343
  %734 = landingpad { ptr, i32 }
          cleanup
  br label %841

735:                                              ; preds = %344
  %736 = landingpad { ptr, i32 }
          cleanup
  br label %840

737:                                              ; preds = %345
  %738 = landingpad { ptr, i32 }
          cleanup
  br label %839

739:                                              ; preds = %346
  %740 = landingpad { ptr, i32 }
          cleanup
  br label %838

741:                                              ; preds = %347
  %742 = landingpad { ptr, i32 }
          cleanup
  br label %837

743:                                              ; preds = %348
  %744 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %163) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %163) #8
  br label %836

745:                                              ; preds = %349
  %746 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %165) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %165) #8
  br label %835

747:                                              ; preds = %360, %358, %356, %354, %352
  %.0173 = phi ptr [ %361, %360 ], [ %359, %358 ], [ %357, %356 ], [ %355, %354 ], [ %353, %352 ]
  %748 = landingpad { ptr, i32 }
          cleanup
  br label %749

749:                                              ; preds = %747, %749
  %750 = phi ptr [ %.0173, %747 ], [ %751, %749 ]
  %751 = getelementptr inbounds i8, ptr %750, i64 -24
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %751) #8
  %752 = icmp eq ptr %751, %170
  br i1 %752, label %.loopexit350, label %749

753:                                              ; preds = %362
  %754 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit350.loopexit

755:                                              ; preds = %363
  %756 = landingpad { ptr, i32 }
          cleanup
  br label %765

757:                                              ; preds = %371
  %758 = landingpad { ptr, i32 }
          cleanup
  br label %764

759:                                              ; preds = %372
  %760 = landingpad { ptr, i32 }
          cleanup
  br label %763

761:                                              ; preds = %373
  %762 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %168) #8
  br label %763

763:                                              ; preds = %761, %759
  %.pn269 = phi { ptr, i32 } [ %762, %761 ], [ %760, %759 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #8
  br label %764

764:                                              ; preds = %763, %757
  %.pn269.pn = phi { ptr, i32 } [ %.pn269, %763 ], [ %758, %757 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %172) #8
  br label %765

765:                                              ; preds = %764, %755
  %.pn269.pn.pn = phi { ptr, i32 } [ %.pn269.pn, %764 ], [ %756, %755 ]
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %174) #8
  %766 = getelementptr inbounds i8, ptr %173, i64 112
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %766) #8
  %767 = getelementptr inbounds i8, ptr %173, i64 96
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %767) #8
  %768 = getelementptr inbounds i8, ptr %173, i64 80
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %768) #8
  %769 = getelementptr inbounds i8, ptr %173, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %769) #8
  %770 = getelementptr inbounds i8, ptr %173, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %770) #8
  %771 = getelementptr inbounds i8, ptr %173, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %771) #8
  %772 = getelementptr inbounds i8, ptr %173, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %772) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %173) #8
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %173) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %172) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #8
  br label %.loopexit350.loopexit

.loopexit350.loopexit:                            ; preds = %765, %753
  %.pn269.pn.pn.pn = phi { ptr, i32 } [ %.pn269.pn.pn, %765 ], [ %754, %753 ]
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %171) #8
  %773 = getelementptr inbounds i8, ptr %170, i64 120
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %773) #8
  %774 = getelementptr inbounds i8, ptr %170, i64 96
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %774) #8
  %775 = getelementptr inbounds i8, ptr %170, i64 72
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %775) #8
  %776 = getelementptr inbounds i8, ptr %170, i64 48
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %776) #8
  %777 = getelementptr inbounds i8, ptr %170, i64 24
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %777) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %170) #8
  br label %.loopexit350

.loopexit350:                                     ; preds = %749, %.loopexit350.loopexit, %.thread
  %.pn269.pn.pn.pn.pn = phi { ptr, i32 } [ %351, %.thread ], [ %.pn269.pn.pn.pn, %.loopexit350.loopexit ], [ %748, %749 ]
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %170) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %169) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %168) #8
  br label %834

778:                                              ; preds = %374
  %779 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #8
  br label %833

780:                                              ; preds = %391
  %781 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit

782:                                              ; preds = %392
  %783 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.loopexit

784:                                              ; preds = %393
  %785 = landingpad { ptr, i32 }
          cleanup
  br label %794

786:                                              ; preds = %398
  %787 = landingpad { ptr, i32 }
          cleanup
  br label %793

788:                                              ; preds = %399
  %789 = landingpad { ptr, i32 }
          cleanup
  br label %792

790:                                              ; preds = %400
  %791 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %181) #8
  br label %792

792:                                              ; preds = %790, %788
  %.pn275 = phi { ptr, i32 } [ %791, %790 ], [ %789, %788 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #8
  br label %793

793:                                              ; preds = %792, %786
  %.pn275.pn = phi { ptr, i32 } [ %.pn275, %792 ], [ %787, %786 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %189) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %188) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %185) #8
  br label %794

794:                                              ; preds = %793, %784
  %.pn275.pn.pn = phi { ptr, i32 } [ %.pn275.pn, %793 ], [ %785, %784 ]
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %187) #8
  %795 = getelementptr inbounds i8, ptr %186, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %795) #8
  %796 = getelementptr inbounds i8, ptr %186, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %796) #8
  %797 = getelementptr inbounds i8, ptr %186, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %797) #8
  %798 = getelementptr inbounds i8, ptr %186, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %798) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %186) #8
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %186) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %185) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %182) #8
  br label %.loopexit.loopexit

.loopexit.loopexit:                               ; preds = %794, %782
  %.pn275.pn.pn.pn = phi { ptr, i32 } [ %.pn275.pn.pn, %794 ], [ %783, %782 ]
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %184) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %184) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %183) #8
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit, %780
  %.pn275.pn.pn.pn.pn = phi { ptr, i32 } [ %781, %780 ], [ %.pn275.pn.pn.pn, %.loopexit.loopexit ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %183) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %182) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %181) #8
  br label %832

799:                                              ; preds = %401
  %800 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %191) #8
  br label %831

801:                                              ; preds = %410
  %802 = landingpad { ptr, i32 }
          cleanup
  br label %830

803:                                              ; preds = %464, %446, %438, %437
  %804 = landingpad { ptr, i32 }
          cleanup
  br label %830

805:                                              ; preds = %454
  %806 = landingpad { ptr, i32 }
          cleanup
  br label %819

807:                                              ; preds = %456
  %808 = landingpad { ptr, i32 }
          cleanup
  br label %811

809:                                              ; preds = %457
  %810 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %195) #8
  br label %811

811:                                              ; preds = %809, %807
  %.pn281 = phi { ptr, i32 } [ %810, %809 ], [ %808, %807 ]
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %197) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %197) #8
  %812 = getelementptr inbounds i8, ptr %196, i64 112
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %812) #8
  %813 = getelementptr inbounds i8, ptr %196, i64 96
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %813) #8
  %814 = getelementptr inbounds i8, ptr %196, i64 80
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %814) #8
  %815 = getelementptr inbounds i8, ptr %196, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %815) #8
  %816 = getelementptr inbounds i8, ptr %196, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %816) #8
  %817 = getelementptr inbounds i8, ptr %196, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %817) #8
  %818 = getelementptr inbounds i8, ptr %196, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %818) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %196) #8
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %196) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %195) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %192) #8
  br label %819

819:                                              ; preds = %811, %805
  %.pn281.pn = phi { ptr, i32 } [ %.pn281, %811 ], [ %806, %805 ]
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %194) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %194) #8
  %820 = getelementptr inbounds i8, ptr %193, i64 80
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %820) #8
  %821 = getelementptr inbounds i8, ptr %193, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %821) #8
  %822 = getelementptr inbounds i8, ptr %193, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %822) #8
  %823 = getelementptr inbounds i8, ptr %193, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %823) #8
  %824 = getelementptr inbounds i8, ptr %193, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %824) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %193) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %193) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %192) #8
  br label %830

825:                                              ; preds = %471, %469, %467
  %826 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %198) #8
  br label %830

827:                                              ; preds = %473, %462
  %.1175 = phi i64 [ %465, %473 ], [ %.0174354, %462 ]
  %828 = call noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %829 = icmp ult i64 %828, 5
  br i1 %829, label %437, label %._crit_edge, !llvm.loop !20

._crit_edge:                                      ; preds = %827, %.preheader
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %190) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %180) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %180) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %179) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %179) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %177) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %177) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %167) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %166) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %166) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %164) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %164) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %162) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %162) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %161) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %161) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %160) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %160) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %159) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %159) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %158) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %158) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %156) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %156) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %154) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %154) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %152) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %150) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %150) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %140) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %140) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %138) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %138) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %136) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %136) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %134) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %131) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %131) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %128) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %125) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %125) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %122) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %119) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %119) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %118) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %118) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %117) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %117) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %116) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %116) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %115) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %115) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %113) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %113) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %111) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %107) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %107) #8
  call void @_ZN6ngraph8autodiff8AdjointsD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %100) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %95) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %95) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %93) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %93) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v16DivideELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %88) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %88) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %86) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %85) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %84) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %84) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v17MaximumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %83) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %76) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %76) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %71) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07SoftmaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %58) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %55) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %55) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04ReluELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %13) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #8
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %8) #8
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %8) #8
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %3) #8
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %3) #8
  ret i32 0

830:                                              ; preds = %803, %819, %825, %801
  %.pn284.pn = phi { ptr, i32 } [ %802, %801 ], [ %826, %825 ], [ %804, %803 ], [ %.pn281.pn, %819 ]
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #8
  br label %831

831:                                              ; preds = %830, %799
  %.pn284.pn.pn = phi { ptr, i32 } [ %.pn284.pn, %830 ], [ %800, %799 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %190) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %180) #8
  br label %832

832:                                              ; preds = %831, %.loopexit
  %.pn284.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn, %831 ], [ %.pn275.pn.pn.pn.pn, %.loopexit ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %180) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %179) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %179) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %177) #8
  br label %833

833:                                              ; preds = %832, %778
  %.pn284.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn, %832 ], [ %779, %778 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %177) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  br label %834

834:                                              ; preds = %833, %.loopexit350
  %.pn284.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn, %833 ], [ %.pn269.pn.pn.pn.pn, %.loopexit350 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %167) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %166) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %166) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %164) #8
  br label %835

835:                                              ; preds = %834, %745
  %.pn284.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn, %834 ], [ %746, %745 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %164) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %162) #8
  br label %836

836:                                              ; preds = %835, %743
  %.pn284.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn, %835 ], [ %744, %743 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %162) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %161) #8
  br label %837

837:                                              ; preds = %836, %741
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn, %836 ], [ %742, %741 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %161) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %160) #8
  br label %838

838:                                              ; preds = %837, %739
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn, %837 ], [ %740, %739 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %160) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %159) #8
  br label %839

839:                                              ; preds = %838, %737
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn, %838 ], [ %738, %737 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %159) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %158) #8
  br label %840

840:                                              ; preds = %839, %735
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %839 ], [ %736, %735 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %158) #8
  br label %841

841:                                              ; preds = %840, %733
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %840 ], [ %734, %733 ]
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %156) #8
  br label %842

842:                                              ; preds = %841, %731
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %841 ], [ %732, %731 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %156) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %154) #8
  br label %843

843:                                              ; preds = %842, %729
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %842 ], [ %730, %729 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %154) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #8
  br label %844

844:                                              ; preds = %843, %727
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %843 ], [ %728, %727 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %152) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %150) #8
  br label %845

845:                                              ; preds = %844, %725
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %844 ], [ %726, %725 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %150) #8
  br label %846

846:                                              ; preds = %845, %723, %721, %719, %717, %715
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %845 ], [ %724, %723 ], [ %716, %715 ], [ %722, %721 ], [ %720, %719 ], [ %718, %717 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #8
  br label %847

847:                                              ; preds = %846, %714
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %846 ], [ %.pn267, %714 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %140) #8
  br label %848

848:                                              ; preds = %847, %708
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %847 ], [ %709, %708 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %140) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %138) #8
  br label %849

849:                                              ; preds = %848, %706
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %848 ], [ %707, %706 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %138) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %136) #8
  br label %850

850:                                              ; preds = %849, %704
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %849 ], [ %705, %704 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %136) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %134) #8
  br label %851

851:                                              ; preds = %850, %702
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %850 ], [ %703, %702 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %131) #8
  br label %852

852:                                              ; preds = %851, %701
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %851 ], [ %.pn265, %701 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %131) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #8
  br label %853

853:                                              ; preds = %852, %696
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %852 ], [ %.pn262.pn, %696 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %128) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %125) #8
  br label %854

854:                                              ; preds = %853, %688
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %853 ], [ %.pn259.pn, %688 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %125) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %122) #8
  br label %855

855:                                              ; preds = %854, %680
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %854 ], [ %.pn256.pn, %680 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %119) #8
  br label %856

856:                                              ; preds = %855, %672
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %855 ], [ %.pn253.pn, %672 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %119) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %118) #8
  br label %857

857:                                              ; preds = %856, %663
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %856 ], [ %664, %663 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %118) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %117) #8
  br label %858

858:                                              ; preds = %857, %661
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %857 ], [ %662, %661 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %117) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %116) #8
  br label %859

859:                                              ; preds = %858, %659
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %858 ], [ %660, %659 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %116) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09AllReduceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %115) #8
  br label %860

860:                                              ; preds = %859, %657
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %859 ], [ %658, %657 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %115) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %113) #8
  br label %861

861:                                              ; preds = %860, %656
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %860 ], [ %.pn251, %656 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %113) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  br label %862

862:                                              ; preds = %861, %651
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %861 ], [ %.pn249, %651 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %111) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #8
  br label %863

863:                                              ; preds = %862, %646
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %862 ], [ %.pn247, %646 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %107) #8
  br label %864

864:                                              ; preds = %863, %641
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %863 ], [ %.pn245, %641 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %107) #8
  call void @_ZN6ngraph8autodiff8AdjointsD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #8
  br label %865

865:                                              ; preds = %864, %.loopexit352
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %864 ], [ %.pn240.pn.pn.pn, %.loopexit352 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %100) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %95) #8
  br label %866

866:                                              ; preds = %865, %626
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %865 ], [ %.pn235.pn.pn.pn, %626 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %95) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %93) #8
  br label %867

867:                                              ; preds = %866, %612
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %866 ], [ %.pn233, %612 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %93) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v16DivideELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %88) #8
  br label %868

868:                                              ; preds = %867, %607
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %867 ], [ %.pn230.pn, %607 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %88) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #8
  br label %869

869:                                              ; preds = %868, %599
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %868 ], [ %.pn228, %599 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %86) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85) #8
  br label %870

870:                                              ; preds = %869, %593
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %869 ], [ %594, %593 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %85) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %84) #8
  br label %871

871:                                              ; preds = %870, %591
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %870 ], [ %592, %591 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %84) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v17MaximumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #8
  br label %872

872:                                              ; preds = %871, %589
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %871 ], [ %590, %589 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %83) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %76) #8
  br label %873

873:                                              ; preds = %872, %588
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %872 ], [ %.pn225.pn, %588 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %76) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #8
  br label %874

874:                                              ; preds = %873, %580
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %873 ], [ %.pn222.pn, %580 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %71) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #8
  br label %875

875:                                              ; preds = %874, %572
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %874 ], [ %.pn220, %572 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  br label %876

876:                                              ; preds = %875, %567
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %875 ], [ %.pn218, %567 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07SoftmaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #8
  br label %877

877:                                              ; preds = %876, %562
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %876 ], [ %.pn216, %562 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %58) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %55) #8
  br label %878

878:                                              ; preds = %877, %557
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %877 ], [ %.pn213.pn, %557 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %55) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #8
  br label %879

879:                                              ; preds = %878, %549
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %878 ], [ %.pn210.pn, %549 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #8
  br label %880

880:                                              ; preds = %879, %540
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %879 ], [ %541, %540 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  br label %881

881:                                              ; preds = %880, %539
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %880 ], [ %.pn208, %539 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  br label %882

882:                                              ; preds = %881, %534
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %881 ], [ %.pn206, %534 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04ReluELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #8
  br label %883

883:                                              ; preds = %882, %529
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %882 ], [ %.pn202.pn.pn, %529 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #8
  br label %884

884:                                              ; preds = %883, %518
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %883 ], [ %.pn199.pn, %518 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  br label %885

885:                                              ; preds = %884, %509
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %884 ], [ %510, %509 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  br label %886

886:                                              ; preds = %885, %508
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %885 ], [ %.pn197, %508 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  br label %887

887:                                              ; preds = %886, %503
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %886 ], [ %.pn195, %503 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %13) #8
  br label %888

888:                                              ; preds = %887, %498
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %887 ], [ %.pn193, %498 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #8
  br label %889

889:                                              ; preds = %492, %888, %490
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %491, %490 ], [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %888 ], [ %493, %492 ]
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %8) #8
  br label %890

890:                                              ; preds = %889, %489
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %889 ], [ %.pn190.pn, %489 ]
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %8) #8
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %3) #8
  br label %891

891:                                              ; preds = %890, %481
  %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %890 ], [ %.pn.pn, %481 ]
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %3) #8
  resume { ptr, i32 } %.pn284.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

declare void @_ZN15MNistDataLoaderC1EmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(208), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

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

declare void @_ZN15MNistDataLoader4openEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN15MNistDataLoader11get_columnsEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN15MNistDataLoader8get_rowsEv(ptr noundef nonnull align 8 dereferenceable(208)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09ParameterEJRKNS0_7element4TypeENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.154") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

declare void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRSt10shared_ptrINS2_9ParameterEES7_iEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES9_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.158") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.161") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #3

declare void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v04ReluEJSt10shared_ptrINS0_4NodeEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES8_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.170") align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

declare void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRSt10shared_ptrINS2_4ReluEERS4_INS2_9ParameterEEiEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.158") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07SoftmaxEJRSt10shared_ptrINS0_4NodeEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.173") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v06OneHotEJRSt10shared_ptrINS2_9ParameterEENS0_5ShapeEiEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.176") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorIfSaIfEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.179") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

declare void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIfSaIfEEC2ESt16initializer_listIfERKS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_8ConstantEENS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.161") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v17MaximumEJRSt10shared_ptrINS1_2v07SoftmaxEERS4_INS5_9BroadcastEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.188") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03LogEJRSt10shared_ptrINS1_2v17MaximumEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.191") align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRSt10shared_ptrINS1_2v03LogEERS4_INS5_6OneHotEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.194") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v16DivideEJSt10shared_ptrINS1_2v03SumEERS4_INS5_9ParameterEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.197") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS1_2v18MultiplyEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.200") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #3

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

declare void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

declare void @_ZN6ngraphngERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

declare void @_ZN6ngraph8autodiff8AdjointsC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS5_EES9_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

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

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

declare void @_ZN6ngraph8autodiff8Adjoints15backprop_outputERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8, ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09AllReduceEJRNS0_6OutputINS0_4NodeEEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.215") align 8, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09AllReduceEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

declare void @_ZN6ngraph7runtime7Backend6createERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.24") align 8, ptr noundef nonnull align 8 dereferenceable(32), i1 noundef zeroext) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt4bindISt25uniform_real_distributionIfEJSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueES5_JDpT0_EE4typeEOS5_DpOS6_(ptr dead_on_unwind noalias writable sret(%"class.std::_Bind") align 8, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt25uniform_real_distributionIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8), float noundef, float noundef) unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16), float noundef, i64 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v16DivideEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v07SoftmaxEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

declare void @_ZN6ngraph14clone_functionERKNS_8FunctionERSt13unordered_mapIPNS_4NodeESt10shared_ptrIS4_ESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.237") align 8, ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

declare void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt10shared_ptrIN6ngraph7runtime10ExecutableEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

; 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 #1 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 nounwind uwtable
declare dso_local void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #7 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph8autodiff8AdjointsD2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #7 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind
declare void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208)) unnamed_addr #6

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

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #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 = { "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 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 #6 = { 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 #7 = { 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 #8 = { nounwind }

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

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


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass