; LLVM IR from NervanaSystems/ngraph :: doc/examples/mnist_mlp (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.24" = type { %"class.std::__shared_ptr.25" }
%"class.std::__shared_ptr.25" = type { ptr, %"class.std::__shared_count" }
%"class.std::function.215" = 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.217" }
%"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.217" = type { %"struct.std::_Tuple_impl.218" }
%"struct.std::_Tuple_impl.218" = type { %"struct.std::_Head_base.219" }
%"struct.std::_Head_base.219" = type { %"class.std::linear_congruential_engine" }
%"class.std::linear_congruential_engine" = type { i64 }
%"class.std::unordered_map.220" = type { %"class.std::_Hashtable.221" }
%"class.std::_Hashtable.221" = 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.234" = type { %"class.std::__shared_ptr.235" }
%"class.std::__shared_ptr.235" = 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.237" }
%"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.237" = type { %"class.std::_Function_base", ptr }
%"class.std::initializer_list.239" = 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.std::shared_ptr.27", 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.std::shared_ptr.27", 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.27", align 8
  %133 = alloca %"class.ngraph::Output", align 8
  %134 = alloca %"class.ngraph::Output", align 8
  %135 = alloca %"class.ngraph::Output", 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.ngraph::Output", align 8
  %140 = alloca %"class.std::shared_ptr.24", align 8
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca %"class.std::allocator.56", align 1
  %143 = alloca %"class.std::shared_ptr", align 8
  %144 = alloca %"class.std::shared_ptr.27", align 8
  %145 = alloca %"class.std::shared_ptr", align 8
  %146 = alloca %"class.std::shared_ptr.27", align 8
  %147 = alloca %"class.std::shared_ptr", align 8
  %148 = alloca %"class.std::shared_ptr.27", align 8
  %149 = alloca %"class.std::shared_ptr", align 8
  %150 = alloca %"class.std::shared_ptr.27", align 8
  %151 = alloca %"class.std::function.215", align 8
  %152 = alloca %"class.std::_Bind", align 8
  %153 = alloca %"class.std::uniform_real_distribution", align 4
  %154 = alloca %"class.std::linear_congruential_engine", align 8
  %155 = alloca %"class.std::function.215", align 8
  %156 = alloca %"class.std::function.215", align 8
  %157 = alloca %"class.std::function.215", align 8
  %158 = alloca %"class.std::function.215", align 8
  %159 = alloca %"class.std::shared_ptr", align 8
  %160 = alloca %"class.std::shared_ptr.27", align 8
  %161 = alloca %"class.std::shared_ptr", align 8
  %162 = alloca %"class.std::shared_ptr.27", align 8
  %163 = alloca %"class.std::shared_ptr", align 8
  %164 = alloca %"class.std::shared_ptr.27", align 8
  %165 = alloca %"class.std::shared_ptr", align 8
  %166 = alloca %"class.std::shared_ptr.27", align 8
  %167 = alloca %"class.std::shared_ptr", align 8
  %168 = alloca %"class.std::shared_ptr", align 8
  %169 = alloca %"class.std::shared_ptr", align 8
  %170 = alloca %"class.std::shared_ptr", 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::unordered_map.220", align 8
  %176 = alloca %"class.std::shared_ptr.234", align 8
  %177 = alloca %"class.ngraph::Function", align 8
  %178 = alloca %"class.std::vector.209", align 8
  %179 = alloca %"class.std::initializer_list.214", align 8
  %180 = alloca [6 x %"class.ngraph::Output"], align 8
  %181 = alloca ptr, align 8
  %182 = alloca %"class.std::allocator.211", align 1
  %183 = alloca %"class.std::vector.139", align 8
  %184 = alloca %"class.std::initializer_list.239", align 8
  %185 = alloca [8 x %"class.std::shared_ptr.154"], align 8
  %186 = alloca %"class.std::allocator.141", align 1
  %187 = alloca %"class.std::__cxx11::basic_string", align 8
  %188 = alloca %"class.std::allocator.56", align 1
  %189 = alloca %"class.std::shared_ptr.133", align 8
  %190 = alloca %"class.std::shared_ptr.234", align 8
  %191 = alloca %"class.std::unordered_map.220", align 8
  %192 = alloca %"class.std::shared_ptr.234", align 8
  %193 = alloca %"class.ngraph::Function", align 8
  %194 = alloca %"class.std::vector.209", align 8
  %195 = alloca %"class.std::initializer_list.214", align 8
  %196 = alloca [1 x %"class.ngraph::Output"], align 8
  %197 = alloca ptr, align 8
  %198 = alloca %"class.std::allocator.211", align 1
  %199 = alloca %"class.std::vector.139", align 8
  %200 = alloca %"class.std::initializer_list.239", align 8
  %201 = alloca [5 x %"class.std::shared_ptr.154"], align 8
  %202 = alloca %"class.std::allocator.141", align 1
  %203 = alloca %"class.std::__cxx11::basic_string", align 8
  %204 = alloca %"class.std::allocator.56", align 1
  %205 = alloca %"class.std::shared_ptr.133", align 8
  %206 = alloca %"class.std::shared_ptr.234", align 8
  %207 = alloca i64, align 8
  %208 = alloca %"class.std::vector.149", align 8
  %209 = alloca %"class.std::initializer_list", align 8
  %210 = alloca [6 x %"class.std::shared_ptr"], align 8
  %211 = alloca %"class.std::allocator.151", align 1
  %212 = alloca %"class.std::vector.149", align 8
  %213 = alloca %"class.std::initializer_list", align 8
  %214 = alloca [8 x %"class.std::shared_ptr"], align 8
  %215 = alloca %"class.std::allocator.151", align 1
  %216 = 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
  %217 = load i64, ptr %8, align 8, !tbaa !11
  store i64 %217, ptr %10, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #8
  %218 = call double @exp(double noundef -5.000000e+01) #8
  %219 = fptrunc double %218 to float
  store float %219, ptr %11, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 208, ptr %12) #8
  %220 = load i64, ptr %7, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #8
  %221 = 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 %221, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %222 unwind label %617

222:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #8
  %223 = 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 %223, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %224 unwind label %621

224:                                              ; preds = %222
  invoke void @_ZN15MNistDataLoaderC1EmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(208) %12, i64 noundef %220, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %225 unwind label %625

225:                                              ; preds = %224
  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
  %226 = load i64, ptr %7, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #8
  %227 = 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 %227, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %228 unwind label %631

228:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #8
  %229 = 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 %229, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %230 unwind label %635

230:                                              ; preds = %228
  invoke void @_ZN15MNistDataLoaderC1EmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(208) %19, i64 noundef %226, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %231 unwind label %639

231:                                              ; preds = %230
  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 %232 unwind label %645

232:                                              ; preds = %231
  invoke void @_ZN15MNistDataLoader4openEv(ptr noundef nonnull align 8 dereferenceable(208) %12)
          to label %233 unwind label %645

233:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %234 = invoke noundef i32 @_ZN15MNistDataLoader11get_columnsEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %235 unwind label %649

235:                                              ; preds = %233
  %236 = invoke noundef i32 @_ZN15MNistDataLoader8get_rowsEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %237 unwind label %649

237:                                              ; preds = %235
  %238 = mul i32 %234, %236
  %239 = zext i32 %238 to i64
  store i64 %239, 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
  %240 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %240, ptr %28, align 8, !tbaa !11
  %241 = getelementptr inbounds i64, ptr %28, i64 1
  %242 = load i64, ptr %24, align 8, !tbaa !11
  store i64 %242, ptr %241, align 8, !tbaa !11
  %243 = getelementptr inbounds %"class.std::initializer_list.157", ptr %27, i32 0, i32 0
  store ptr %28, ptr %243, align 8, !tbaa !15
  %244 = getelementptr inbounds %"class.std::initializer_list.157", ptr %27, i32 0, i32 1
  store i64 2, ptr %244, 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 %245 unwind label %653

245:                                              ; preds = %237
  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 %246 unwind label %657

246:                                              ; preds = %245
  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
  %247 = load i64, ptr %24, align 8, !tbaa !11
  store i64 %247, ptr %32, align 8, !tbaa !11
  %248 = getelementptr inbounds i64, ptr %32, i64 1
  %249 = load i64, ptr %9, align 8, !tbaa !11
  store i64 %249, ptr %248, align 8, !tbaa !11
  %250 = getelementptr inbounds %"class.std::initializer_list.157", ptr %31, i32 0, i32 0
  store ptr %32, ptr %250, align 8, !tbaa !15
  %251 = getelementptr inbounds %"class.std::initializer_list.157", ptr %31, i32 0, i32 1
  store i64 2, ptr %251, 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 %252 unwind label %662

252:                                              ; preds = %246
  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 %253 unwind label %666

253:                                              ; preds = %252
  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
  %254 = load i64, ptr %9, align 8, !tbaa !11
  store i64 %254, ptr %36, align 8, !tbaa !11
  %255 = getelementptr inbounds %"class.std::initializer_list.157", ptr %35, i32 0, i32 0
  store ptr %36, ptr %255, align 8, !tbaa !15
  %256 = getelementptr inbounds %"class.std::initializer_list.157", ptr %35, i32 0, i32 1
  store i64 1, ptr %256, 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 %257 unwind label %671

257:                                              ; preds = %253
  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 %258 unwind label %675

258:                                              ; preds = %257
  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 %259 unwind label %680

259:                                              ; preds = %258
  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
  %260 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %260, ptr %42, align 8, !tbaa !11
  %261 = getelementptr inbounds i64, ptr %42, i64 1
  %262 = load i64, ptr %9, align 8, !tbaa !11
  store i64 %262, ptr %261, align 8, !tbaa !11
  %263 = getelementptr inbounds %"class.std::initializer_list.157", ptr %41, i32 0, i32 0
  store ptr %42, ptr %263, align 8, !tbaa !15
  %264 = getelementptr inbounds %"class.std::initializer_list.157", ptr %41, i32 0, i32 1
  store i64 2, ptr %264, 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 %265 unwind label %684

265:                                              ; preds = %259
  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
  %266 = getelementptr inbounds %"class.std::initializer_list.157", ptr %44, i32 0, i32 0
  store ptr %45, ptr %266, align 8, !tbaa !15
  %267 = getelementptr inbounds %"class.std::initializer_list.157", ptr %44, i32 0, i32 1
  store i64 1, ptr %267, 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 %268 unwind label %688

268:                                              ; preds = %265
  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 %269 unwind label %692

269:                                              ; preds = %268
  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 %270 unwind label %698

270:                                              ; preds = %269
  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 %271 unwind label %702

271:                                              ; preds = %270
  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 %272 unwind label %706

272:                                              ; preds = %271
  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 %273 unwind label %710

273:                                              ; preds = %272
  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
  %274 = load i64, ptr %9, align 8, !tbaa !11
  store i64 %274, ptr %53, align 8, !tbaa !11
  %275 = getelementptr inbounds i64, ptr %53, i64 1
  %276 = load i64, ptr %10, align 8, !tbaa !11
  store i64 %276, ptr %275, align 8, !tbaa !11
  %277 = getelementptr inbounds %"class.std::initializer_list.157", ptr %52, i32 0, i32 0
  store ptr %53, ptr %277, align 8, !tbaa !15
  %278 = getelementptr inbounds %"class.std::initializer_list.157", ptr %52, i32 0, i32 1
  store i64 2, ptr %278, 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 %279 unwind label %717

279:                                              ; preds = %273
  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 %280 unwind label %721

280:                                              ; preds = %279
  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
  %281 = load i64, ptr %10, align 8, !tbaa !11
  store i64 %281, ptr %57, align 8, !tbaa !11
  %282 = getelementptr inbounds %"class.std::initializer_list.157", ptr %56, i32 0, i32 0
  store ptr %57, ptr %282, align 8, !tbaa !15
  %283 = getelementptr inbounds %"class.std::initializer_list.157", ptr %56, i32 0, i32 1
  store i64 1, ptr %283, 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 %284 unwind label %726

284:                                              ; preds = %280
  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 %285 unwind label %730

285:                                              ; preds = %284
  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 %286 unwind label %735

286:                                              ; preds = %285
  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
  %287 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %287, ptr %63, align 8, !tbaa !11
  %288 = getelementptr inbounds i64, ptr %63, i64 1
  %289 = load i64, ptr %10, align 8, !tbaa !11
  store i64 %289, ptr %288, align 8, !tbaa !11
  %290 = getelementptr inbounds %"class.std::initializer_list.157", ptr %62, i32 0, i32 0
  store ptr %63, ptr %290, align 8, !tbaa !15
  %291 = getelementptr inbounds %"class.std::initializer_list.157", ptr %62, i32 0, i32 1
  store i64 2, ptr %291, 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 %292 unwind label %739

292:                                              ; preds = %286
  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
  %293 = getelementptr inbounds %"class.std::initializer_list.157", ptr %65, i32 0, i32 0
  store ptr %66, ptr %293, align 8, !tbaa !15
  %294 = getelementptr inbounds %"class.std::initializer_list.157", ptr %65, i32 0, i32 1
  store i64 1, ptr %294, 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 %295 unwind label %743

295:                                              ; preds = %292
  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 %296 unwind label %747

296:                                              ; preds = %295
  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 %297 unwind label %753

297:                                              ; preds = %296
  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 %298 unwind label %757

298:                                              ; preds = %297
  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 %299 unwind label %761

299:                                              ; preds = %298
  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
  %300 = getelementptr inbounds %"class.std::initializer_list.157", ptr %72, i32 0, i32 0
  store ptr %73, ptr %300, align 8, !tbaa !15
  %301 = getelementptr inbounds %"class.std::initializer_list.157", ptr %72, i32 0, i32 1
  store i64 1, ptr %301, 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 %302 unwind label %767

302:                                              ; preds = %299
  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 %303 unwind label %771

303:                                              ; preds = %302
  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
  %304 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %304, ptr %77, align 8, !tbaa !11
  %305 = getelementptr inbounds %"class.std::initializer_list.157", ptr %76, i32 0, i32 0
  store ptr %77, ptr %305, align 8, !tbaa !15
  %306 = getelementptr inbounds %"class.std::initializer_list.157", ptr %76, i32 0, i32 1
  store i64 1, ptr %306, 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 %307 unwind label %776

307:                                              ; preds = %303
  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 %308 unwind label %780

308:                                              ; preds = %307
  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
  %309 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %309, ptr %81, align 8, !tbaa !11
  %310 = getelementptr inbounds i64, ptr %81, i64 1
  %311 = load i64, ptr %8, align 8, !tbaa !11
  store i64 %311, ptr %310, align 8, !tbaa !11
  %312 = getelementptr inbounds %"class.std::initializer_list.157", ptr %80, i32 0, i32 0
  store ptr %81, ptr %312, align 8, !tbaa !15
  %313 = getelementptr inbounds %"class.std::initializer_list.157", ptr %80, i32 0, i32 1
  store i64 2, ptr %313, 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 %314 unwind label %785

314:                                              ; preds = %308
  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 %315 unwind label %789

315:                                              ; preds = %314
  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 %316 unwind label %794

316:                                              ; preds = %315
  call void @llvm.lifetime.start.p0(i64 24, ptr %85) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #8
  %317 = load float, ptr %11, align 4, !tbaa !13
  store float %317, ptr %87, align 4, !tbaa !13
  %318 = getelementptr inbounds %"class.std::initializer_list.187", ptr %86, i32 0, i32 0
  store ptr %87, ptr %318, align 8, !tbaa !18
  %319 = getelementptr inbounds %"class.std::initializer_list.187", ptr %86, i32 0, i32 1
  store i64 1, ptr %319, 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
  %320 = getelementptr inbounds { ptr, i64 }, ptr %86, i32 0, i32 0
  %321 = load ptr, ptr %320, align 8
  %322 = getelementptr inbounds { ptr, i64 }, ptr %86, i32 0, i32 1
  %323 = load i64, ptr %322, align 8
  invoke void @_ZNSt6vectorIfSaIfEEC2ESt16initializer_listIfERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %85, ptr %321, i64 %323, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %324 unwind label %798

324:                                              ; preds = %316
  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 %325 unwind label %802

325:                                              ; preds = %324
  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
  %326 = load i64, ptr %7, align 8, !tbaa !11
  store i64 %326, ptr %92, align 8, !tbaa !11
  %327 = getelementptr inbounds i64, ptr %92, i64 1
  %328 = load i64, ptr %8, align 8, !tbaa !11
  store i64 %328, ptr %327, align 8, !tbaa !11
  %329 = getelementptr inbounds %"class.std::initializer_list.157", ptr %91, i32 0, i32 0
  store ptr %92, ptr %329, align 8, !tbaa !15
  %330 = getelementptr inbounds %"class.std::initializer_list.157", ptr %91, i32 0, i32 1
  store i64 2, ptr %330, 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 %331 unwind label %808

331:                                              ; preds = %325
  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
  %332 = getelementptr inbounds i64, ptr %95, i64 1
  store i64 1, ptr %332, align 8, !tbaa !11
  %333 = getelementptr inbounds %"class.std::initializer_list.157", ptr %94, i32 0, i32 0
  store ptr %95, ptr %333, align 8, !tbaa !15
  %334 = getelementptr inbounds %"class.std::initializer_list.157", ptr %94, i32 0, i32 1
  store i64 2, ptr %334, 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 %335 unwind label %812

335:                                              ; preds = %331
  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 %336 unwind label %816

336:                                              ; preds = %335
  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 %337 unwind label %822

337:                                              ; preds = %336
  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 %338 unwind label %826

338:                                              ; preds = %337
  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 %339 unwind label %830

339:                                              ; preds = %338
  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 %340 unwind label %834

340:                                              ; preds = %339
  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 %341 unwind label %838

341:                                              ; preds = %340
  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
  %342 = getelementptr inbounds i64, ptr %105, i64 1
  store i64 1, ptr %342, align 8, !tbaa !11
  %343 = getelementptr inbounds %"class.std::initializer_list.157", ptr %104, i32 0, i32 0
  store ptr %105, ptr %343, align 8, !tbaa !15
  %344 = getelementptr inbounds %"class.std::initializer_list.157", ptr %104, i32 0, i32 1
  store i64 2, ptr %344, 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 %345 unwind label %843

345:                                              ; preds = %341
  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 %346 unwind label %847

346:                                              ; preds = %345
  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 %347 unwind label %851

347:                                              ; preds = %346
  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 %348 unwind label %857

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 %106, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f32E, ptr noundef nonnull align 8 dereferenceable(24) %107)
          to label %349 unwind label %861

349:                                              ; preds = %348
  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 %350 unwind label %866

350:                                              ; preds = %349
  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 %351 unwind label %870

351:                                              ; preds = %350
  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 %352 unwind label %874

352:                                              ; preds = %351
  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 %353 unwind label %878

353:                                              ; preds = %352
  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 %354 unwind label %882

354:                                              ; preds = %353
  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 %355 unwind label %890

355:                                              ; preds = %354
  %356 = getelementptr inbounds %"class.std::initializer_list.214", ptr %115, i32 0, i32 0
  store ptr %116, ptr %356, align 8, !tbaa !21
  %357 = getelementptr inbounds %"class.std::initializer_list.214", ptr %115, i32 0, i32 1
  store i64 1, ptr %357, 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
  %358 = getelementptr inbounds { ptr, i64 }, ptr %115, i32 0, i32 0
  %359 = load ptr, ptr %358, align 8
  %360 = getelementptr inbounds { ptr, i64 }, ptr %115, i32 0, i32 1
  %361 = load i64, ptr %360, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %114, ptr %359, i64 %361, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %362 unwind label %901

362:                                              ; preds = %355
  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 %363 unwind label %905

363:                                              ; preds = %362
  %364 = getelementptr inbounds %"class.std::initializer_list.214", ptr %120, i32 0, i32 0
  store ptr %121, ptr %364, align 8, !tbaa !21
  %365 = getelementptr inbounds %"class.std::initializer_list.214", ptr %120, i32 0, i32 1
  store i64 1, ptr %365, 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
  %366 = getelementptr inbounds { ptr, i64 }, ptr %120, i32 0, i32 0
  %367 = load ptr, ptr %366, align 8
  %368 = getelementptr inbounds { ptr, i64 }, ptr %120, 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) %119, ptr %367, i64 %369, ptr noundef nonnull align 1 dereferenceable(1) %123)
          to label %370 unwind label %916

370:                                              ; preds = %363
  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 %371 unwind label %920

371:                                              ; preds = %370
  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
  %372 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %121, i32 0, i32 0
  %373 = getelementptr inbounds %"class.ngraph::Output", ptr %372, i64 1
  br label %374

374:                                              ; preds = %374, %371
  %375 = phi ptr [ %373, %371 ], [ %376, %374 ]
  %376 = getelementptr inbounds %"class.ngraph::Output", ptr %375, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %376) #8
  %377 = icmp eq ptr %376, %372
  br i1 %377, label %378, label %374

378:                                              ; preds = %374
  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
  %379 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %116, i32 0, i32 0
  %380 = getelementptr inbounds %"class.ngraph::Output", ptr %379, i64 1
  br label %381

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

385:                                              ; preds = %381
  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 16, 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 %386 unwind label %942

386:                                              ; preds = %385
  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) %29)
          to label %387 unwind label %946

387:                                              ; preds = %386
  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 %388 unwind label %950

388:                                              ; preds = %387
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %124, ptr noundef nonnull align 8 dereferenceable(24) %125, ptr noundef nonnull align 8 dereferenceable(24) %126)
          to label %389 unwind label %954

389:                                              ; preds = %388
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  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.end.p0(i64 24, ptr %126) #8
  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 16, 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) %33)
          to label %390 unwind label %961

390:                                              ; preds = %389
  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) %33)
          to label %391 unwind label %965

391:                                              ; preds = %390
  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 %392 unwind label %969

392:                                              ; preds = %391
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind 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 %393 unwind label %973

393:                                              ; preds = %392
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  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.end.p0(i64 24, ptr %130) #8
  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 16, ptr %132) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %133) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %133, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %394 unwind label %980

394:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 24, ptr %134) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %135) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %135, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %395 unwind label %984

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

396:                                              ; preds = %395
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.27") align 8 %132, ptr noundef nonnull align 8 dereferenceable(24) %133, ptr noundef nonnull align 8 dereferenceable(24) %134)
          to label %397 unwind label %992

397:                                              ; preds = %396
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %134) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %135) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %135) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %134) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %133) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %133) #8
  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) %54)
          to label %398 unwind label %999

398:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 24, ptr %138) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %139) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %139, ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %399 unwind label %1003

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

400:                                              ; preds = %399
  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 %401 unwind label %1011

401:                                              ; preds = %400
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %139) #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 %140) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %141) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %142) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %142)
          to label %402 unwind label %1018

402:                                              ; preds = %401
  invoke void @_ZN6ngraph7runtime7Backend6createERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.24") align 8 %140, ptr noundef nonnull align 8 dereferenceable(32) %141, i1 noundef zeroext false)
          to label %403 unwind label %1022

403:                                              ; preds = %402
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %143) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %144) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %144, 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 %143, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %144, i64 noundef 0)
          to label %404 unwind label %1027

404:                                              ; preds = %403
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %144) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %144) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %145) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %146) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %146, 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 %145, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %146, i64 noundef 0)
          to label %405 unwind label %1031

405:                                              ; preds = %404
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %147) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %148) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %148, 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 %147, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %148, i64 noundef 0)
          to label %406 unwind label %1035

406:                                              ; preds = %405
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__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 @llvm.lifetime.start.p0(i64 16, ptr %149) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %150) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %150, 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 %149, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %150, i64 noundef 0)
          to label %407 unwind label %1039

407:                                              ; preds = %406
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %150) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %150) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %151) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %152) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #8
  invoke void @_ZNSt25uniform_real_distributionIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %153, float noundef -1.000000e+00, float noundef 1.000000e+00)
          to label %408 unwind label %1043

408:                                              ; preds = %407
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #8
  invoke void @_ZNSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %154, i64 noundef 0)
          to label %409 unwind label %1047

409:                                              ; preds = %408
  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 %152, ptr noundef nonnull align 4 dereferenceable(8) %153, ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %410 unwind label %1047

410:                                              ; preds = %409
  invoke void @_ZNSt8functionIFfvEEC2ISt5_BindIFSt25uniform_real_distributionIfESt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull align 8 dereferenceable(16) %152)
          to label %411 unwind label %1047

411:                                              ; preds = %410
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %412 unwind label %1052

412:                                              ; preds = %411
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef %155, ptr noundef nonnull align 8 dereferenceable(16) %143)
          to label %413 unwind label %1056

413:                                              ; preds = %412
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %414 unwind label %1052

414:                                              ; preds = %413
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef %156, ptr noundef nonnull align 8 dereferenceable(16) %145)
          to label %415 unwind label %1060

415:                                              ; preds = %414
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %416 unwind label %1052

416:                                              ; preds = %415
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef %157, ptr noundef nonnull align 8 dereferenceable(16) %147)
          to label %417 unwind label %1064

417:                                              ; preds = %416
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %418 unwind label %1052

418:                                              ; preds = %417
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef %158, ptr noundef nonnull align 8 dereferenceable(16) %149)
          to label %419 unwind label %1068

419:                                              ; preds = %418
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %159) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %160) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %160, 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 %159, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %160, i64 noundef 0)
          to label %420 unwind label %1072

420:                                              ; preds = %419
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %160) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %160) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %161) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %162) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %162, 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 %161, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %162, i64 noundef 0)
          to label %421 unwind label %1076

421:                                              ; preds = %420
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %162) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %163) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %164) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %164, 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 %163, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %164, i64 noundef 0)
          to label %422 unwind label %1080

422:                                              ; preds = %421
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %164) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %164) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %165) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %166) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %166, 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 %165, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %166, i64 noundef 0)
          to label %423 unwind label %1084

423:                                              ; preds = %422
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %166) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %166) #8
  %424 = load i64, ptr %7, align 8, !tbaa !11
  %425 = uitofp i64 %424 to float
  invoke void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16) %165, float noundef %425, i64 noundef 0)
          to label %426 unwind label %1088

426:                                              ; preds = %423
  call void @llvm.lifetime.start.p0(i64 16, ptr %167) #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) %140, ptr noundef nonnull align 8 dereferenceable(16) %124, i64 noundef 0)
          to label %427 unwind label %1092

427:                                              ; preds = %426
  call void @llvm.lifetime.start.p0(i64 16, ptr %168) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %168, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %128, i64 noundef 0)
          to label %428 unwind label %1096

428:                                              ; preds = %427
  call void @llvm.lifetime.start.p0(i64 16, ptr %169) #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) %140, ptr noundef nonnull align 8 dereferenceable(16) %132, i64 noundef 0)
          to label %429 unwind label %1100

429:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 16, ptr %170) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind writable sret(%"class.std::shared_ptr") align 8 %170, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %136, i64 noundef 0)
          to label %430 unwind label %1104

430:                                              ; preds = %429
  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_2op2v16DivideEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %172, 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 %171, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %172, i64 noundef 0)
          to label %431 unwind label %1108

431:                                              ; preds = %430
  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_2op2v07SoftmaxEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %174, 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 %173, ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %174, i64 noundef 0)
          to label %432 unwind label %1112

432:                                              ; preds = %431
  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
  call void @llvm.lifetime.start.p0(i64 56, ptr %175) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %175) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %176) #8
  call void @llvm.lifetime.start.p0(i64 176, ptr %177) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %178) #8
  call void @llvm.lifetime.start.p0(i64 144, ptr %180) #8
  store ptr %180, ptr %181, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %180, ptr noundef nonnull align 8 dereferenceable(16) %101)
          to label %433 unwind label %1116

433:                                              ; preds = %432
  %434 = getelementptr inbounds %"class.ngraph::Output", ptr %180, i64 1
  store ptr %434, ptr %181, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %434, ptr noundef nonnull align 8 dereferenceable(16) %70)
          to label %435 unwind label %1116

435:                                              ; preds = %433
  %436 = getelementptr inbounds %"class.ngraph::Output", ptr %180, i64 2
  store ptr %436, ptr %181, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %436, ptr noundef nonnull align 8 dereferenceable(16) %124)
          to label %437 unwind label %1116

437:                                              ; preds = %435
  %438 = getelementptr inbounds %"class.ngraph::Output", ptr %180, i64 3
  store ptr %438, ptr %181, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %438, ptr noundef nonnull align 8 dereferenceable(16) %128)
          to label %439 unwind label %1116

439:                                              ; preds = %437
  %440 = getelementptr inbounds %"class.ngraph::Output", ptr %180, i64 4
  store ptr %440, ptr %181, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %440, ptr noundef nonnull align 8 dereferenceable(16) %132)
          to label %441 unwind label %1116

441:                                              ; preds = %439
  %442 = getelementptr inbounds %"class.ngraph::Output", ptr %180, i64 5
  store ptr %442, ptr %181, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %442, ptr noundef nonnull align 8 dereferenceable(16) %136)
          to label %443 unwind label %1116

443:                                              ; preds = %441
  %444 = getelementptr inbounds %"class.std::initializer_list.214", ptr %179, i32 0, i32 0
  store ptr %180, ptr %444, align 8, !tbaa !21
  %445 = getelementptr inbounds %"class.std::initializer_list.214", ptr %179, i32 0, i32 1
  store i64 6, ptr %445, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 1, ptr %182) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #8
  %446 = getelementptr inbounds { ptr, i64 }, ptr %179, i32 0, i32 0
  %447 = load ptr, ptr %446, align 8
  %448 = getelementptr inbounds { ptr, i64 }, ptr %179, i32 0, i32 1
  %449 = load i64, ptr %448, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %178, ptr %447, i64 %449, ptr noundef nonnull align 1 dereferenceable(1) %182)
          to label %450 unwind label %1127

450:                                              ; preds = %443
  call void @llvm.lifetime.start.p0(i64 24, ptr %183) #8
  call void @llvm.lifetime.start.p0(i64 128, ptr %185) #8
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %185, ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  %451 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %185, i64 1
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %451, ptr noundef nonnull align 8 dereferenceable(16) %74) #8
  %452 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %185, i64 2
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %452, ptr noundef nonnull align 8 dereferenceable(16) %99) #8
  %453 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %185, i64 3
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %453, ptr noundef nonnull align 8 dereferenceable(16) %106) #8
  %454 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %185, i64 4
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %454, ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  %455 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %185, i64 5
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %455, ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  %456 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %185, i64 6
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %456, ptr noundef nonnull align 8 dereferenceable(16) %50) #8
  %457 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %185, i64 7
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %457, ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  %458 = getelementptr inbounds %"class.std::initializer_list.239", ptr %184, i32 0, i32 0
  store ptr %185, ptr %458, align 8, !tbaa !24
  %459 = getelementptr inbounds %"class.std::initializer_list.239", ptr %184, i32 0, i32 1
  store i64 8, ptr %459, align 8, !tbaa !26
  call void @llvm.lifetime.start.p0(i64 1, ptr %186) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph2op2v09ParameterEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #8
  %460 = getelementptr inbounds { ptr, i64 }, ptr %184, i32 0, i32 0
  %461 = load ptr, ptr %460, align 8
  %462 = getelementptr inbounds { ptr, i64 }, ptr %184, i32 0, i32 1
  %463 = load i64, ptr %462, align 8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %183, ptr %461, i64 %463, ptr noundef nonnull align 1 dereferenceable(1) %186)
          to label %464 unwind label %1131

464:                                              ; preds = %450
  call void @llvm.lifetime.start.p0(i64 32, ptr %187) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %188) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %188) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %188)
          to label %465 unwind label %1135

465:                                              ; preds = %464
  invoke void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176) %177, ptr noundef nonnull align 8 dereferenceable(24) %178, ptr noundef nonnull align 8 dereferenceable(24) %183, ptr noundef nonnull align 8 dereferenceable(32) %187)
          to label %466 unwind label %1139

466:                                              ; preds = %465
  invoke void @_ZN6ngraph14clone_functionERKNS_8FunctionERSt13unordered_mapIPNS_4NodeESt10shared_ptrIS4_ESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.234") align 8 %176, ptr noundef nonnull align 8 dereferenceable(176) %177, ptr noundef nonnull align 8 dereferenceable(56) %175)
          to label %467 unwind label %1143

467:                                              ; preds = %466
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %177) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %188) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %188) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %187) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %183) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %186) #8
  %468 = getelementptr inbounds [8 x %"class.std::shared_ptr.154"], ptr %185, i32 0, i32 0
  %469 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %468, i64 8
  br label %470

470:                                              ; preds = %470, %467
  %471 = phi ptr [ %469, %467 ], [ %472, %470 ]
  %472 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %471, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %472) #8
  %473 = icmp eq ptr %472, %468
  br i1 %473, label %474, label %470

474:                                              ; preds = %470
  call void @llvm.lifetime.end.p0(i64 128, ptr %185) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %183) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %178) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #8
  %475 = getelementptr inbounds [6 x %"class.ngraph::Output"], ptr %180, i32 0, i32 0
  %476 = getelementptr inbounds %"class.ngraph::Output", ptr %475, i64 6
  br label %477

477:                                              ; preds = %477, %474
  %478 = phi ptr [ %476, %474 ], [ %479, %477 ]
  %479 = getelementptr inbounds %"class.ngraph::Output", ptr %478, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %479) #8
  %480 = icmp eq ptr %479, %475
  br i1 %480, label %481, label %477

481:                                              ; preds = %477
  call void @llvm.lifetime.end.p0(i64 144, ptr %180) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %178) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr %177) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %189) #8
  %482 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %140) #8
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %190, ptr noundef nonnull align 8 dereferenceable(16) %176) #8
  %483 = load ptr, ptr %482, align 8, !tbaa !27
  %484 = getelementptr inbounds ptr, ptr %483, i64 7
  %485 = load ptr, ptr %484, align 8
  invoke void %485(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.133") align 8 %189, ptr noundef nonnull align 8 dereferenceable(8) %482, ptr noundef %190, i1 noundef zeroext false)
          to label %486 unwind label %1166

486:                                              ; preds = %481
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #8
  call void @llvm.lifetime.start.p0(i64 56, ptr %191) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %191) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %192) #8
  call void @llvm.lifetime.start.p0(i64 176, ptr %193) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %194) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %196) #8
  store ptr %196, ptr %197, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %196, ptr noundef nonnull align 8 dereferenceable(16) %70)
          to label %487 unwind label %1170

487:                                              ; preds = %486
  %488 = getelementptr inbounds %"class.std::initializer_list.214", ptr %195, i32 0, i32 0
  store ptr %196, ptr %488, align 8, !tbaa !21
  %489 = getelementptr inbounds %"class.std::initializer_list.214", ptr %195, i32 0, i32 1
  store i64 1, ptr %489, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 1, ptr %198) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %198) #8
  %490 = getelementptr inbounds { ptr, i64 }, ptr %195, i32 0, i32 0
  %491 = load ptr, ptr %490, align 8
  %492 = getelementptr inbounds { ptr, i64 }, ptr %195, i32 0, i32 1
  %493 = load i64, ptr %492, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %194, ptr %491, i64 %493, ptr noundef nonnull align 1 dereferenceable(1) %198)
          to label %494 unwind label %1181

494:                                              ; preds = %487
  call void @llvm.lifetime.start.p0(i64 24, ptr %199) #8
  call void @llvm.lifetime.start.p0(i64 80, ptr %201) #8
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %201, ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  %495 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %201, i64 1
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %495, ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  %496 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %201, i64 2
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %496, ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  %497 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %201, i64 3
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %497, ptr noundef nonnull align 8 dereferenceable(16) %50) #8
  %498 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %201, i64 4
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %498, ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  %499 = getelementptr inbounds %"class.std::initializer_list.239", ptr %200, i32 0, i32 0
  store ptr %201, ptr %499, align 8, !tbaa !24
  %500 = getelementptr inbounds %"class.std::initializer_list.239", ptr %200, i32 0, i32 1
  store i64 5, ptr %500, align 8, !tbaa !26
  call void @llvm.lifetime.start.p0(i64 1, ptr %202) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph2op2v09ParameterEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #8
  %501 = getelementptr inbounds { ptr, i64 }, ptr %200, i32 0, i32 0
  %502 = load ptr, ptr %501, align 8
  %503 = getelementptr inbounds { ptr, i64 }, ptr %200, i32 0, i32 1
  %504 = load i64, ptr %503, align 8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %199, ptr %502, i64 %504, ptr noundef nonnull align 1 dereferenceable(1) %202)
          to label %505 unwind label %1185

505:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 32, ptr %203) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %204) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %204) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %204)
          to label %506 unwind label %1189

506:                                              ; preds = %505
  invoke void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176) %193, ptr noundef nonnull align 8 dereferenceable(24) %194, ptr noundef nonnull align 8 dereferenceable(24) %199, ptr noundef nonnull align 8 dereferenceable(32) %203)
          to label %507 unwind label %1193

507:                                              ; preds = %506
  invoke void @_ZN6ngraph14clone_functionERKNS_8FunctionERSt13unordered_mapIPNS_4NodeESt10shared_ptrIS4_ESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.234") align 8 %192, ptr noundef nonnull align 8 dereferenceable(176) %193, ptr noundef nonnull align 8 dereferenceable(56) %191)
          to label %508 unwind label %1197

508:                                              ; preds = %507
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %193) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %204) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %204) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %203) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %199) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %202) #8
  %509 = getelementptr inbounds [5 x %"class.std::shared_ptr.154"], ptr %201, i32 0, i32 0
  %510 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %509, i64 5
  br label %511

511:                                              ; preds = %511, %508
  %512 = phi ptr [ %510, %508 ], [ %513, %511 ]
  %513 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %512, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %513) #8
  %514 = icmp eq ptr %513, %509
  br i1 %514, label %515, label %511

515:                                              ; preds = %511
  call void @llvm.lifetime.end.p0(i64 80, ptr %201) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %199) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %194) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %198) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %198) #8
  %516 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %196, i32 0, i32 0
  %517 = getelementptr inbounds %"class.ngraph::Output", ptr %516, i64 1
  br label %518

518:                                              ; preds = %518, %515
  %519 = phi ptr [ %517, %515 ], [ %520, %518 ]
  %520 = getelementptr inbounds %"class.ngraph::Output", ptr %519, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %520) #8
  %521 = icmp eq ptr %520, %516
  br i1 %521, label %522, label %518

522:                                              ; preds = %518
  call void @llvm.lifetime.end.p0(i64 24, ptr %196) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %194) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr %193) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %205) #8
  %523 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %140) #8
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %206, ptr noundef nonnull align 8 dereferenceable(16) %192) #8
  %524 = load ptr, ptr %523, align 8, !tbaa !27
  %525 = getelementptr inbounds ptr, ptr %524, i64 7
  %526 = load ptr, ptr %525, align 8
  invoke void %526(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.133") align 8 %205, ptr noundef nonnull align 8 dereferenceable(8) %523, ptr noundef %206, i1 noundef zeroext false)
          to label %527 unwind label %1220

527:                                              ; preds = %522
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %206) #8
  invoke void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16) %163, float noundef 0x3F9EB851E0000000, i64 noundef 0)
          to label %528 unwind label %1224

528:                                              ; preds = %527
  call void @llvm.lifetime.start.p0(i64 8, ptr %207) #8
  store i64 0, ptr %207, align 8, !tbaa !11
  br label %529

529:                                              ; preds = %1264, %528
  %530 = invoke noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %531 unwind label %1228

531:                                              ; preds = %529
  %532 = load i64, ptr %6, align 8, !tbaa !11
  %533 = icmp ult i64 %530, %532
  br i1 %533, label %534, label %1265

534:                                              ; preds = %531
  invoke void @_ZN15MNistDataLoader4loadEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %535 unwind label %1228

535:                                              ; preds = %534
  %536 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %159) #8
  %537 = invoke noundef ptr @_ZNK15MNistDataLoader16get_image_floatsEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %538 unwind label %1228

538:                                              ; preds = %535
  %539 = invoke noundef i64 @_ZNK15MNistDataLoader20get_image_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %540 unwind label %1228

540:                                              ; preds = %538
  %541 = mul i64 %539, 4
  %542 = load ptr, ptr %536, align 8, !tbaa !27
  %543 = getelementptr inbounds ptr, ptr %542, i64 7
  %544 = load ptr, ptr %543, align 8
  invoke void %544(ptr noundef nonnull align 8 dereferenceable(64) %536, ptr noundef %537, i64 noundef %541)
          to label %545 unwind label %1228

545:                                              ; preds = %540
  %546 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %161) #8
  %547 = invoke noundef ptr @_ZNK15MNistDataLoader16get_label_floatsEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %548 unwind label %1228

548:                                              ; preds = %545
  %549 = invoke noundef i64 @_ZNK15MNistDataLoader20get_label_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %550 unwind label %1228

550:                                              ; preds = %548
  %551 = mul i64 %549, 4
  %552 = load ptr, ptr %546, align 8, !tbaa !27
  %553 = getelementptr inbounds ptr, ptr %552, i64 7
  %554 = load ptr, ptr %553, align 8
  invoke void %554(ptr noundef nonnull align 8 dereferenceable(64) %546, ptr noundef %547, i64 noundef %551)
          to label %555 unwind label %1228

555:                                              ; preds = %550
  %556 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %189) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %208) #8
  call void @llvm.lifetime.start.p0(i64 96, ptr %210) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %210, ptr noundef nonnull align 8 dereferenceable(16) %171) #8
  %557 = getelementptr inbounds %"class.std::shared_ptr", ptr %210, i64 1
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %557, ptr noundef nonnull align 8 dereferenceable(16) %173) #8
  %558 = getelementptr inbounds %"class.std::shared_ptr", ptr %210, i64 2
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %558, ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  %559 = getelementptr inbounds %"class.std::shared_ptr", ptr %210, i64 3
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %559, ptr noundef nonnull align 8 dereferenceable(16) %168) #8
  %560 = getelementptr inbounds %"class.std::shared_ptr", ptr %210, i64 4
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %560, ptr noundef nonnull align 8 dereferenceable(16) %169) #8
  %561 = getelementptr inbounds %"class.std::shared_ptr", ptr %210, i64 5
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %561, ptr noundef nonnull align 8 dereferenceable(16) %170) #8
  %562 = getelementptr inbounds %"class.std::initializer_list", ptr %209, i32 0, i32 0
  store ptr %210, ptr %562, align 8, !tbaa !29
  %563 = getelementptr inbounds %"class.std::initializer_list", ptr %209, i32 0, i32 1
  store i64 6, ptr %563, align 8, !tbaa !31
  call void @llvm.lifetime.start.p0(i64 1, ptr %211) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph7runtime6TensorEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %211) #8
  %564 = getelementptr inbounds { ptr, i64 }, ptr %209, i32 0, i32 0
  %565 = load ptr, ptr %564, align 8
  %566 = getelementptr inbounds { ptr, i64 }, ptr %209, i32 0, i32 1
  %567 = load i64, ptr %566, align 8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %208, ptr %565, i64 %567, ptr noundef nonnull align 1 dereferenceable(1) %211)
          to label %568 unwind label %1232

568:                                              ; preds = %555
  call void @llvm.lifetime.start.p0(i64 24, ptr %212) #8
  call void @llvm.lifetime.start.p0(i64 128, ptr %214) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %214, ptr noundef nonnull align 8 dereferenceable(16) %159) #8
  %569 = getelementptr inbounds %"class.std::shared_ptr", ptr %214, i64 1
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %569, ptr noundef nonnull align 8 dereferenceable(16) %161) #8
  %570 = getelementptr inbounds %"class.std::shared_ptr", ptr %214, i64 2
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %570, ptr noundef nonnull align 8 dereferenceable(16) %165) #8
  %571 = getelementptr inbounds %"class.std::shared_ptr", ptr %214, i64 3
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %571, ptr noundef nonnull align 8 dereferenceable(16) %163) #8
  %572 = getelementptr inbounds %"class.std::shared_ptr", ptr %214, i64 4
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %572, ptr noundef nonnull align 8 dereferenceable(16) %143) #8
  %573 = getelementptr inbounds %"class.std::shared_ptr", ptr %214, i64 5
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %573, ptr noundef nonnull align 8 dereferenceable(16) %145) #8
  %574 = getelementptr inbounds %"class.std::shared_ptr", ptr %214, i64 6
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %574, ptr noundef nonnull align 8 dereferenceable(16) %147) #8
  %575 = getelementptr inbounds %"class.std::shared_ptr", ptr %214, i64 7
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %575, ptr noundef nonnull align 8 dereferenceable(16) %149) #8
  %576 = getelementptr inbounds %"class.std::initializer_list", ptr %213, i32 0, i32 0
  store ptr %214, ptr %576, align 8, !tbaa !29
  %577 = getelementptr inbounds %"class.std::initializer_list", ptr %213, i32 0, i32 1
  store i64 8, ptr %577, align 8, !tbaa !31
  call void @llvm.lifetime.start.p0(i64 1, ptr %215) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph7runtime6TensorEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %215) #8
  %578 = getelementptr inbounds { ptr, i64 }, ptr %213, i32 0, i32 0
  %579 = load ptr, ptr %578, align 8
  %580 = getelementptr inbounds { ptr, i64 }, ptr %213, i32 0, i32 1
  %581 = load i64, ptr %580, align 8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %212, ptr %579, i64 %581, ptr noundef nonnull align 1 dereferenceable(1) %215)
          to label %582 unwind label %1236

582:                                              ; preds = %568
  %583 = load ptr, ptr %556, align 8, !tbaa !27
  %584 = getelementptr inbounds ptr, ptr %583, i64 2
  %585 = load ptr, ptr %584, align 8
  %586 = invoke noundef zeroext i1 %585(ptr noundef nonnull align 8 dereferenceable(56) %556, ptr noundef nonnull align 8 dereferenceable(24) %208, ptr noundef nonnull align 8 dereferenceable(24) %212)
          to label %587 unwind label %1240

587:                                              ; preds = %582
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %212) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %215) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %215) #8
  %588 = getelementptr inbounds [8 x %"class.std::shared_ptr"], ptr %214, i32 0, i32 0
  %589 = getelementptr inbounds %"class.std::shared_ptr", ptr %588, i64 8
  br label %590

590:                                              ; preds = %590, %587
  %591 = phi ptr [ %589, %587 ], [ %592, %590 ]
  %592 = getelementptr inbounds %"class.std::shared_ptr", ptr %591, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %592) #8
  %593 = icmp eq ptr %592, %588
  br i1 %593, label %594, label %590

594:                                              ; preds = %590
  call void @llvm.lifetime.end.p0(i64 128, ptr %214) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %212) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %208) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %211) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %211) #8
  %595 = getelementptr inbounds [6 x %"class.std::shared_ptr"], ptr %210, i32 0, i32 0
  %596 = getelementptr inbounds %"class.std::shared_ptr", ptr %595, i64 6
  br label %597

597:                                              ; preds = %597, %594
  %598 = phi ptr [ %596, %594 ], [ %599, %597 ]
  %599 = getelementptr inbounds %"class.std::shared_ptr", ptr %598, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %599) #8
  %600 = icmp eq ptr %599, %595
  br i1 %600, label %601, label %597

601:                                              ; preds = %597
  call void @llvm.lifetime.end.p0(i64 96, ptr %210) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %208) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %143, ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %145, ptr noundef nonnull align 8 dereferenceable(16) %168) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %147, ptr noundef nonnull align 8 dereferenceable(16) %169) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %149, ptr noundef nonnull align 8 dereferenceable(16) %170) #8
  %602 = invoke noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %603 unwind label %1228

603:                                              ; preds = %601
  %604 = load i64, ptr %207, align 8, !tbaa !11
  %605 = icmp ne i64 %602, %604
  br i1 %605, label %606, label %1264

606:                                              ; preds = %603
  %607 = invoke noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %19)
          to label %608 unwind label %1228

608:                                              ; preds = %606
  store i64 %607, ptr %207, align 8, !tbaa !11
  %609 = 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 %610 unwind label %1228

610:                                              ; preds = %608
  call void @_ZNSt10shared_ptrIN6ngraph7runtime10ExecutableEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %216, ptr noundef nonnull align 8 dereferenceable(16) %205) #8
  %611 = invoke noundef float @_Z13test_accuracyR15MNistDataLoaderSt10shared_ptrIN6ngraph7runtime10ExecutableEERKS1_INS3_6TensorEES9_S9_S9_S9_S9_S9_(ptr noundef nonnull align 8 dereferenceable(208) %12, ptr noundef %216, ptr noundef nonnull align 8 dereferenceable(16) %159, ptr noundef nonnull align 8 dereferenceable(16) %161, ptr noundef nonnull align 8 dereferenceable(16) %173, ptr noundef nonnull align 8 dereferenceable(16) %143, ptr noundef nonnull align 8 dereferenceable(16) %145, ptr noundef nonnull align 8 dereferenceable(16) %147, ptr noundef nonnull align 8 dereferenceable(16) %149)
          to label %612 unwind label %1260

612:                                              ; preds = %610
  %613 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %609, float noundef %611)
          to label %614 unwind label %1260

614:                                              ; preds = %612
  %615 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %613, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %616 unwind label %1260

616:                                              ; preds = %614
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %216) #8
  br label %1264

617:                                              ; preds = %2
  %618 = landingpad { ptr, i32 }
          cleanup
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %15, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %16, align 4
  br label %630

621:                                              ; preds = %222
  %622 = landingpad { ptr, i32 }
          cleanup
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %15, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %16, align 4
  br label %629

625:                                              ; preds = %224
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %15, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  br label %629

629:                                              ; preds = %625, %621
  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 %630

630:                                              ; preds = %629, %617
  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 %1322

631:                                              ; preds = %225
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %15, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %16, align 4
  br label %644

635:                                              ; preds = %228
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %15, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %16, align 4
  br label %643

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

643:                                              ; preds = %639, %635
  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 %644

644:                                              ; preds = %643, %631
  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 %1321

645:                                              ; preds = %232, %231
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %15, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %16, align 4
  br label %1320

649:                                              ; preds = %235, %233
  %650 = landingpad { ptr, i32 }
          cleanup
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %15, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %16, align 4
  br label %1319

653:                                              ; preds = %237
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %15, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %16, align 4
  br label %661

657:                                              ; preds = %245
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %15, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  br label %661

661:                                              ; preds = %657, %653
  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 %1318

662:                                              ; preds = %246
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %15, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %16, align 4
  br label %670

666:                                              ; preds = %252
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %15, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  br label %670

670:                                              ; preds = %666, %662
  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 %1317

671:                                              ; preds = %253
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %15, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %16, align 4
  br label %679

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

679:                                              ; preds = %675, %671
  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 %1316

680:                                              ; preds = %258
  %681 = landingpad { ptr, i32 }
          cleanup
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %15, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  br label %1315

684:                                              ; preds = %259
  %685 = landingpad { ptr, i32 }
          cleanup
  %686 = extractvalue { ptr, i32 } %685, 0
  store ptr %686, ptr %15, align 8
  %687 = extractvalue { ptr, i32 } %685, 1
  store i32 %687, ptr %16, align 4
  br label %697

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

692:                                              ; preds = %268
  %693 = landingpad { ptr, i32 }
          cleanup
  %694 = extractvalue { ptr, i32 } %693, 0
  store ptr %694, ptr %15, align 8
  %695 = extractvalue { ptr, i32 } %693, 1
  store i32 %695, ptr %16, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #8
  br label %696

696:                                              ; preds = %692, %688
  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 %697

697:                                              ; preds = %696, %684
  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 %1314

698:                                              ; preds = %269
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %15, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %16, align 4
  br label %716

702:                                              ; preds = %270
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %15, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %16, align 4
  br label %715

706:                                              ; preds = %271
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %15, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %16, align 4
  br label %714

710:                                              ; preds = %272
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %15, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  br label %714

714:                                              ; preds = %710, %706
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #8
  br label %715

715:                                              ; preds = %714, %702
  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 %716

716:                                              ; preds = %715, %698
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  br label %1313

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

721:                                              ; preds = %279
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %15, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #8
  br label %725

725:                                              ; preds = %721, %717
  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 %1312

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
  br label %734

730:                                              ; preds = %284
  %731 = landingpad { ptr, i32 }
          cleanup
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %15, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #8
  br label %734

734:                                              ; preds = %730, %726
  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 %1311

735:                                              ; preds = %285
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %15, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #8
  br label %1310

739:                                              ; preds = %286
  %740 = landingpad { ptr, i32 }
          cleanup
  %741 = extractvalue { ptr, i32 } %740, 0
  store ptr %741, ptr %15, align 8
  %742 = extractvalue { ptr, i32 } %740, 1
  store i32 %742, ptr %16, align 4
  br label %752

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

747:                                              ; preds = %295
  %748 = landingpad { ptr, i32 }
          cleanup
  %749 = extractvalue { ptr, i32 } %748, 0
  store ptr %749, ptr %15, align 8
  %750 = extractvalue { ptr, i32 } %748, 1
  store i32 %750, ptr %16, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #8
  br label %751

751:                                              ; preds = %747, %743
  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 %752

752:                                              ; preds = %751, %739
  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 %1309

753:                                              ; preds = %296
  %754 = landingpad { ptr, i32 }
          cleanup
  %755 = extractvalue { ptr, i32 } %754, 0
  store ptr %755, ptr %15, align 8
  %756 = extractvalue { ptr, i32 } %754, 1
  store i32 %756, ptr %16, align 4
  br label %766

757:                                              ; preds = %297
  %758 = landingpad { ptr, i32 }
          cleanup
  %759 = extractvalue { ptr, i32 } %758, 0
  store ptr %759, ptr %15, align 8
  %760 = extractvalue { ptr, i32 } %758, 1
  store i32 %760, ptr %16, align 4
  br label %765

761:                                              ; preds = %298
  %762 = landingpad { ptr, i32 }
          cleanup
  %763 = extractvalue { ptr, i32 } %762, 0
  store ptr %763, ptr %15, align 8
  %764 = extractvalue { ptr, i32 } %762, 1
  store i32 %764, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #8
  br label %765

765:                                              ; preds = %761, %757
  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 %766

766:                                              ; preds = %765, %753
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #8
  br label %1308

767:                                              ; preds = %299
  %768 = landingpad { ptr, i32 }
          cleanup
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %15, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %16, align 4
  br label %775

771:                                              ; preds = %302
  %772 = landingpad { ptr, i32 }
          cleanup
  %773 = extractvalue { ptr, i32 } %772, 0
  store ptr %773, ptr %15, align 8
  %774 = extractvalue { ptr, i32 } %772, 1
  store i32 %774, ptr %16, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %71) #8
  br label %775

775:                                              ; preds = %771, %767
  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 %1307

776:                                              ; preds = %303
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %15, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %16, align 4
  br label %784

780:                                              ; preds = %307
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %15, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #8
  br label %784

784:                                              ; preds = %780, %776
  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 %1306

785:                                              ; preds = %308
  %786 = landingpad { ptr, i32 }
          cleanup
  %787 = extractvalue { ptr, i32 } %786, 0
  store ptr %787, ptr %15, align 8
  %788 = extractvalue { ptr, i32 } %786, 1
  store i32 %788, ptr %16, align 4
  br label %793

789:                                              ; preds = %314
  %790 = landingpad { ptr, i32 }
          cleanup
  %791 = extractvalue { ptr, i32 } %790, 0
  store ptr %791, ptr %15, align 8
  %792 = extractvalue { ptr, i32 } %790, 1
  store i32 %792, 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 %793

793:                                              ; preds = %789, %785
  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 %1305

794:                                              ; preds = %315
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %15, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %16, align 4
  br label %807

798:                                              ; preds = %316
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %15, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %16, align 4
  br label %806

802:                                              ; preds = %324
  %803 = landingpad { ptr, i32 }
          cleanup
  %804 = extractvalue { ptr, i32 } %803, 0
  store ptr %804, ptr %15, align 8
  %805 = extractvalue { ptr, i32 } %803, 1
  store i32 %805, ptr %16, align 4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #8
  br label %806

806:                                              ; preds = %802, %798
  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 %807

807:                                              ; preds = %806, %794
  call void @llvm.lifetime.end.p0(i64 24, ptr %84) #8
  br label %1304

808:                                              ; preds = %325
  %809 = landingpad { ptr, i32 }
          cleanup
  %810 = extractvalue { ptr, i32 } %809, 0
  store ptr %810, ptr %15, align 8
  %811 = extractvalue { ptr, i32 } %809, 1
  store i32 %811, ptr %16, align 4
  br label %821

812:                                              ; preds = %331
  %813 = landingpad { ptr, i32 }
          cleanup
  %814 = extractvalue { ptr, i32 } %813, 0
  store ptr %814, ptr %15, align 8
  %815 = extractvalue { ptr, i32 } %813, 1
  store i32 %815, ptr %16, align 4
  br label %820

816:                                              ; preds = %335
  %817 = landingpad { ptr, i32 }
          cleanup
  %818 = extractvalue { ptr, i32 } %817, 0
  store ptr %818, ptr %15, align 8
  %819 = extractvalue { ptr, i32 } %817, 1
  store i32 %819, ptr %16, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %93) #8
  br label %820

820:                                              ; preds = %816, %812
  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 %821

821:                                              ; preds = %820, %808
  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 %1303

822:                                              ; preds = %336
  %823 = landingpad { ptr, i32 }
          cleanup
  %824 = extractvalue { ptr, i32 } %823, 0
  store ptr %824, ptr %15, align 8
  %825 = extractvalue { ptr, i32 } %823, 1
  store i32 %825, ptr %16, align 4
  br label %1302

826:                                              ; preds = %337
  %827 = landingpad { ptr, i32 }
          cleanup
  %828 = extractvalue { ptr, i32 } %827, 0
  store ptr %828, ptr %15, align 8
  %829 = extractvalue { ptr, i32 } %827, 1
  store i32 %829, ptr %16, align 4
  br label %1301

830:                                              ; preds = %338
  %831 = landingpad { ptr, i32 }
          cleanup
  %832 = extractvalue { ptr, i32 } %831, 0
  store ptr %832, ptr %15, align 8
  %833 = extractvalue { ptr, i32 } %831, 1
  store i32 %833, ptr %16, align 4
  br label %1300

834:                                              ; preds = %339
  %835 = landingpad { ptr, i32 }
          cleanup
  %836 = extractvalue { ptr, i32 } %835, 0
  store ptr %836, ptr %15, align 8
  %837 = extractvalue { ptr, i32 } %835, 1
  store i32 %837, ptr %16, align 4
  br label %842

838:                                              ; preds = %340
  %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
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  br label %842

842:                                              ; preds = %838, %834
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #8
  br label %1299

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

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

851:                                              ; preds = %346
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %15, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %102) #8
  br label %855

855:                                              ; preds = %851, %847
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %103) #8
  br label %856

856:                                              ; preds = %855, %843
  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 %1298

857:                                              ; preds = %347
  %858 = landingpad { ptr, i32 }
          cleanup
  %859 = extractvalue { ptr, i32 } %858, 0
  store ptr %859, ptr %15, align 8
  %860 = extractvalue { ptr, i32 } %858, 1
  store i32 %860, ptr %16, align 4
  br label %865

861:                                              ; preds = %348
  %862 = landingpad { ptr, i32 }
          cleanup
  %863 = extractvalue { ptr, i32 } %862, 0
  store ptr %863, ptr %15, align 8
  %864 = extractvalue { ptr, i32 } %862, 1
  store i32 %864, ptr %16, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %107) #8
  br label %865

865:                                              ; preds = %861, %857
  call void @llvm.lifetime.end.p0(i64 24, ptr %107) #8
  br label %1297

866:                                              ; preds = %349
  %867 = landingpad { ptr, i32 }
          cleanup
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %15, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %16, align 4
  br label %889

870:                                              ; preds = %350
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %15, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %16, align 4
  br label %888

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

878:                                              ; preds = %352
  %879 = landingpad { ptr, i32 }
          cleanup
  %880 = extractvalue { ptr, i32 } %879, 0
  store ptr %880, ptr %15, align 8
  %881 = extractvalue { ptr, i32 } %879, 1
  store i32 %881, ptr %16, align 4
  br label %886

882:                                              ; preds = %353
  %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
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #8
  br label %886

886:                                              ; preds = %882, %878
  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 %887

887:                                              ; preds = %886, %874
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %110) #8
  br label %888

888:                                              ; preds = %887, %870
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  br label %889

889:                                              ; preds = %888, %866
  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 %1296

890:                                              ; preds = %354
  %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
  %894 = load ptr, ptr %117, align 8
  %895 = icmp eq ptr %116, %894
  br i1 %895, label %900, label %896

896:                                              ; preds = %896, %890
  %897 = phi ptr [ %894, %890 ], [ %898, %896 ]
  %898 = getelementptr inbounds %"class.ngraph::Output", ptr %897, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %898) #8
  %899 = icmp eq ptr %898, %116
  br i1 %899, label %900, label %896

900:                                              ; preds = %896, %890
  br label %941

901:                                              ; preds = %355
  %902 = landingpad { ptr, i32 }
          cleanup
  %903 = extractvalue { ptr, i32 } %902, 0
  store ptr %903, ptr %15, align 8
  %904 = extractvalue { ptr, i32 } %902, 1
  store i32 %904, ptr %16, align 4
  br label %933

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

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

915:                                              ; preds = %911, %905
  br label %932

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

920:                                              ; preds = %370
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %15, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %16, align 4
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %119) #8
  br label %924

924:                                              ; preds = %920, %916
  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
  %925 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %121, i32 0, i32 0
  %926 = getelementptr inbounds %"class.ngraph::Output", ptr %925, i64 1
  br label %927

927:                                              ; preds = %927, %924
  %928 = phi ptr [ %926, %924 ], [ %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, %925
  br i1 %930, label %931, label %927

931:                                              ; preds = %927
  br label %932

932:                                              ; preds = %931, %915
  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 %933

933:                                              ; preds = %932, %901
  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
  %934 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %116, i32 0, i32 0
  %935 = getelementptr inbounds %"class.ngraph::Output", ptr %934, i64 1
  br label %936

936:                                              ; preds = %936, %933
  %937 = phi ptr [ %935, %933 ], [ %938, %936 ]
  %938 = getelementptr inbounds %"class.ngraph::Output", ptr %937, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %938) #8
  %939 = icmp eq ptr %938, %934
  br i1 %939, label %940, label %936

940:                                              ; preds = %936
  br label %941

941:                                              ; preds = %940, %900
  call void @llvm.lifetime.end.p0(i64 24, ptr %116) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %114) #8
  br label %1295

942:                                              ; preds = %385
  %943 = landingpad { ptr, i32 }
          cleanup
  %944 = extractvalue { ptr, i32 } %943, 0
  store ptr %944, ptr %15, align 8
  %945 = extractvalue { ptr, i32 } %943, 1
  store i32 %945, ptr %16, align 4
  br label %960

946:                                              ; preds = %386
  %947 = landingpad { ptr, i32 }
          cleanup
  %948 = extractvalue { ptr, i32 } %947, 0
  store ptr %948, ptr %15, align 8
  %949 = extractvalue { ptr, i32 } %947, 1
  store i32 %949, ptr %16, align 4
  br label %959

950:                                              ; preds = %387
  %951 = landingpad { ptr, i32 }
          cleanup
  %952 = extractvalue { ptr, i32 } %951, 0
  store ptr %952, ptr %15, align 8
  %953 = extractvalue { ptr, i32 } %951, 1
  store i32 %953, ptr %16, align 4
  br label %958

954:                                              ; preds = %388
  %955 = landingpad { ptr, i32 }
          cleanup
  %956 = extractvalue { ptr, i32 } %955, 0
  store ptr %956, ptr %15, align 8
  %957 = extractvalue { ptr, i32 } %955, 1
  store i32 %957, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  br label %958

958:                                              ; preds = %954, %950
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #8
  br label %959

959:                                              ; preds = %958, %946
  call void @llvm.lifetime.end.p0(i64 24, ptr %127) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %126) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %125) #8
  br label %960

960:                                              ; preds = %959, %942
  call void @llvm.lifetime.end.p0(i64 24, ptr %125) #8
  br label %1294

961:                                              ; preds = %389
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %15, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %16, align 4
  br label %979

965:                                              ; preds = %390
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %15, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %16, align 4
  br label %978

969:                                              ; preds = %391
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %15, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %16, align 4
  br label %977

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

977:                                              ; preds = %973, %969
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #8
  br label %978

978:                                              ; preds = %977, %965
  call void @llvm.lifetime.end.p0(i64 24, ptr %131) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %130) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #8
  br label %979

979:                                              ; preds = %978, %961
  call void @llvm.lifetime.end.p0(i64 24, ptr %129) #8
  br label %1293

980:                                              ; preds = %393
  %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
  br label %998

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

988:                                              ; preds = %395
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %15, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %16, align 4
  br label %996

992:                                              ; preds = %396
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %15, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %134) #8
  br label %996

996:                                              ; preds = %992, %988
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %135) #8
  br label %997

997:                                              ; preds = %996, %984
  call void @llvm.lifetime.end.p0(i64 24, ptr %135) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %134) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %133) #8
  br label %998

998:                                              ; preds = %997, %980
  call void @llvm.lifetime.end.p0(i64 24, ptr %133) #8
  br label %1292

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

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

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

1011:                                             ; preds = %400
  %1012 = landingpad { ptr, i32 }
          cleanup
  %1013 = extractvalue { ptr, i32 } %1012, 0
  store ptr %1013, ptr %15, align 8
  %1014 = extractvalue { ptr, i32 } %1012, 1
  store i32 %1014, ptr %16, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #8
  br label %1015

1015:                                             ; preds = %1011, %1007
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #8
  br label %1016

1016:                                             ; preds = %1015, %1003
  call void @llvm.lifetime.end.p0(i64 24, ptr %139) #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
  br label %1017

1017:                                             ; preds = %1016, %999
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #8
  br label %1291

1018:                                             ; preds = %401
  %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
  br label %1026

1022:                                             ; preds = %402
  %1023 = landingpad { ptr, i32 }
          cleanup
  %1024 = extractvalue { ptr, i32 } %1023, 0
  store ptr %1024, ptr %15, align 8
  %1025 = extractvalue { ptr, i32 } %1023, 1
  store i32 %1025, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #8
  br label %1026

1026:                                             ; preds = %1022, %1018
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #8
  br label %1290

1027:                                             ; preds = %403
  %1028 = landingpad { ptr, i32 }
          cleanup
  %1029 = extractvalue { ptr, i32 } %1028, 0
  store ptr %1029, ptr %15, align 8
  %1030 = extractvalue { ptr, i32 } %1028, 1
  store i32 %1030, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %144) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %144) #8
  br label %1289

1031:                                             ; preds = %404
  %1032 = landingpad { ptr, i32 }
          cleanup
  %1033 = extractvalue { ptr, i32 } %1032, 0
  store ptr %1033, ptr %15, align 8
  %1034 = extractvalue { ptr, i32 } %1032, 1
  store i32 %1034, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #8
  br label %1288

1035:                                             ; preds = %405
  %1036 = landingpad { ptr, i32 }
          cleanup
  %1037 = extractvalue { ptr, i32 } %1036, 0
  store ptr %1037, ptr %15, align 8
  %1038 = extractvalue { ptr, i32 } %1036, 1
  store i32 %1038, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %148) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %148) #8
  br label %1287

1039:                                             ; preds = %406
  %1040 = landingpad { ptr, i32 }
          cleanup
  %1041 = extractvalue { ptr, i32 } %1040, 0
  store ptr %1041, ptr %15, align 8
  %1042 = extractvalue { ptr, i32 } %1040, 1
  store i32 %1042, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %150) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %150) #8
  br label %1286

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

1047:                                             ; preds = %410, %409, %408
  %1048 = landingpad { ptr, i32 }
          cleanup
  %1049 = extractvalue { ptr, i32 } %1048, 0
  store ptr %1049, ptr %15, align 8
  %1050 = extractvalue { ptr, i32 } %1048, 1
  store i32 %1050, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #8
  br label %1051

1051:                                             ; preds = %1047, %1043
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #8
  br label %1285

1052:                                             ; preds = %417, %415, %413, %411
  %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 %1284

1056:                                             ; preds = %412
  %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
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #8
  br label %1284

1060:                                             ; preds = %414
  %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 @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #8
  br label %1284

1064:                                             ; preds = %416
  %1065 = landingpad { ptr, i32 }
          cleanup
  %1066 = extractvalue { ptr, i32 } %1065, 0
  store ptr %1066, ptr %15, align 8
  %1067 = extractvalue { ptr, i32 } %1065, 1
  store i32 %1067, ptr %16, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #8
  br label %1284

1068:                                             ; preds = %418
  %1069 = landingpad { ptr, i32 }
          cleanup
  %1070 = extractvalue { ptr, i32 } %1069, 0
  store ptr %1070, ptr %15, align 8
  %1071 = extractvalue { ptr, i32 } %1069, 1
  store i32 %1071, ptr %16, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #8
  br label %1284

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

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

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

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

1088:                                             ; preds = %423
  %1089 = landingpad { ptr, i32 }
          cleanup
  %1090 = extractvalue { ptr, i32 } %1089, 0
  store ptr %1090, ptr %15, align 8
  %1091 = extractvalue { ptr, i32 } %1089, 1
  store i32 %1091, ptr %16, align 4
  br label %1279

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

1096:                                             ; preds = %427
  %1097 = landingpad { ptr, i32 }
          cleanup
  %1098 = extractvalue { ptr, i32 } %1097, 0
  store ptr %1098, ptr %15, align 8
  %1099 = extractvalue { ptr, i32 } %1097, 1
  store i32 %1099, ptr %16, align 4
  br label %1277

1100:                                             ; preds = %428
  %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 %1276

1104:                                             ; preds = %429
  %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
  br label %1275

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 @_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 %1274

1112:                                             ; preds = %431
  %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 @_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 %1273

1116:                                             ; preds = %441, %439, %437, %435, %433, %432
  %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
  %1120 = load ptr, ptr %181, align 8
  %1121 = icmp eq ptr %180, %1120
  br i1 %1121, label %1126, label %1122

1122:                                             ; preds = %1122, %1116
  %1123 = phi ptr [ %1120, %1116 ], [ %1124, %1122 ]
  %1124 = getelementptr inbounds %"class.ngraph::Output", ptr %1123, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1124) #8
  %1125 = icmp eq ptr %1124, %180
  br i1 %1125, label %1126, label %1122

1126:                                             ; preds = %1122, %1116
  br label %1165

1127:                                             ; preds = %443
  %1128 = landingpad { ptr, i32 }
          cleanup
  %1129 = extractvalue { ptr, i32 } %1128, 0
  store ptr %1129, ptr %15, align 8
  %1130 = extractvalue { ptr, i32 } %1128, 1
  store i32 %1130, ptr %16, align 4
  br label %1157

1131:                                             ; preds = %450
  %1132 = landingpad { ptr, i32 }
          cleanup
  %1133 = extractvalue { ptr, i32 } %1132, 0
  store ptr %1133, ptr %15, align 8
  %1134 = extractvalue { ptr, i32 } %1132, 1
  store i32 %1134, ptr %16, align 4
  br label %1149

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

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

1143:                                             ; preds = %466
  %1144 = landingpad { ptr, i32 }
          cleanup
  %1145 = extractvalue { ptr, i32 } %1144, 0
  store ptr %1145, ptr %15, align 8
  %1146 = extractvalue { ptr, i32 } %1144, 1
  store i32 %1146, ptr %16, align 4
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %177) #8
  br label %1147

1147:                                             ; preds = %1143, %1139
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #8
  br label %1148

1148:                                             ; preds = %1147, %1135
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %188) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %188) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %187) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %183) #8
  br label %1149

1149:                                             ; preds = %1148, %1131
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %186) #8
  %1150 = getelementptr inbounds [8 x %"class.std::shared_ptr.154"], ptr %185, i32 0, i32 0
  %1151 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %1150, i64 8
  br label %1152

1152:                                             ; preds = %1152, %1149
  %1153 = phi ptr [ %1151, %1149 ], [ %1154, %1152 ]
  %1154 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %1153, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1154) #8
  %1155 = icmp eq ptr %1154, %1150
  br i1 %1155, label %1156, label %1152

1156:                                             ; preds = %1152
  call void @llvm.lifetime.end.p0(i64 128, ptr %185) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %183) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %178) #8
  br label %1157

1157:                                             ; preds = %1156, %1127
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #8
  %1158 = getelementptr inbounds [6 x %"class.ngraph::Output"], ptr %180, i32 0, i32 0
  %1159 = getelementptr inbounds %"class.ngraph::Output", ptr %1158, i64 6
  br label %1160

1160:                                             ; preds = %1160, %1157
  %1161 = phi ptr [ %1159, %1157 ], [ %1162, %1160 ]
  %1162 = getelementptr inbounds %"class.ngraph::Output", ptr %1161, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1162) #8
  %1163 = icmp eq ptr %1162, %1158
  br i1 %1163, label %1164, label %1160

1164:                                             ; preds = %1160
  br label %1165

1165:                                             ; preds = %1164, %1126
  call void @llvm.lifetime.end.p0(i64 144, ptr %180) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %178) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr %177) #8
  br label %1272

1166:                                             ; preds = %481
  %1167 = landingpad { ptr, i32 }
          cleanup
  %1168 = extractvalue { ptr, i32 } %1167, 0
  store ptr %1168, ptr %15, align 8
  %1169 = extractvalue { ptr, i32 } %1167, 1
  store i32 %1169, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #8
  br label %1271

1170:                                             ; preds = %486
  %1171 = landingpad { ptr, i32 }
          cleanup
  %1172 = extractvalue { ptr, i32 } %1171, 0
  store ptr %1172, ptr %15, align 8
  %1173 = extractvalue { ptr, i32 } %1171, 1
  store i32 %1173, ptr %16, align 4
  %1174 = load ptr, ptr %197, align 8
  %1175 = icmp eq ptr %196, %1174
  br i1 %1175, label %1180, label %1176

1176:                                             ; preds = %1176, %1170
  %1177 = phi ptr [ %1174, %1170 ], [ %1178, %1176 ]
  %1178 = getelementptr inbounds %"class.ngraph::Output", ptr %1177, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1178) #8
  %1179 = icmp eq ptr %1178, %196
  br i1 %1179, label %1180, label %1176

1180:                                             ; preds = %1176, %1170
  br label %1219

1181:                                             ; preds = %487
  %1182 = landingpad { ptr, i32 }
          cleanup
  %1183 = extractvalue { ptr, i32 } %1182, 0
  store ptr %1183, ptr %15, align 8
  %1184 = extractvalue { ptr, i32 } %1182, 1
  store i32 %1184, ptr %16, align 4
  br label %1211

1185:                                             ; preds = %494
  %1186 = landingpad { ptr, i32 }
          cleanup
  %1187 = extractvalue { ptr, i32 } %1186, 0
  store ptr %1187, ptr %15, align 8
  %1188 = extractvalue { ptr, i32 } %1186, 1
  store i32 %1188, ptr %16, align 4
  br label %1203

1189:                                             ; preds = %505
  %1190 = landingpad { ptr, i32 }
          cleanup
  %1191 = extractvalue { ptr, i32 } %1190, 0
  store ptr %1191, ptr %15, align 8
  %1192 = extractvalue { ptr, i32 } %1190, 1
  store i32 %1192, ptr %16, align 4
  br label %1202

1193:                                             ; preds = %506
  %1194 = landingpad { ptr, i32 }
          cleanup
  %1195 = extractvalue { ptr, i32 } %1194, 0
  store ptr %1195, ptr %15, align 8
  %1196 = extractvalue { ptr, i32 } %1194, 1
  store i32 %1196, ptr %16, align 4
  br label %1201

1197:                                             ; preds = %507
  %1198 = landingpad { ptr, i32 }
          cleanup
  %1199 = extractvalue { ptr, i32 } %1198, 0
  store ptr %1199, ptr %15, align 8
  %1200 = extractvalue { ptr, i32 } %1198, 1
  store i32 %1200, ptr %16, align 4
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %193) #8
  br label %1201

1201:                                             ; preds = %1197, %1193
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #8
  br label %1202

1202:                                             ; preds = %1201, %1189
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %204) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %204) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %203) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %199) #8
  br label %1203

1203:                                             ; preds = %1202, %1185
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %202) #8
  %1204 = getelementptr inbounds [5 x %"class.std::shared_ptr.154"], ptr %201, i32 0, i32 0
  %1205 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %1204, i64 5
  br label %1206

1206:                                             ; preds = %1206, %1203
  %1207 = phi ptr [ %1205, %1203 ], [ %1208, %1206 ]
  %1208 = getelementptr inbounds %"class.std::shared_ptr.154", ptr %1207, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1208) #8
  %1209 = icmp eq ptr %1208, %1204
  br i1 %1209, label %1210, label %1206

1210:                                             ; preds = %1206
  call void @llvm.lifetime.end.p0(i64 80, ptr %201) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %199) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %194) #8
  br label %1211

1211:                                             ; preds = %1210, %1181
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %198) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %198) #8
  %1212 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %196, i32 0, i32 0
  %1213 = getelementptr inbounds %"class.ngraph::Output", ptr %1212, i64 1
  br label %1214

1214:                                             ; preds = %1214, %1211
  %1215 = phi ptr [ %1213, %1211 ], [ %1216, %1214 ]
  %1216 = getelementptr inbounds %"class.ngraph::Output", ptr %1215, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1216) #8
  %1217 = icmp eq ptr %1216, %1212
  br i1 %1217, label %1218, label %1214

1218:                                             ; preds = %1214
  br label %1219

1219:                                             ; preds = %1218, %1180
  call void @llvm.lifetime.end.p0(i64 24, ptr %196) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %194) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr %193) #8
  br label %1270

1220:                                             ; preds = %522
  %1221 = landingpad { ptr, i32 }
          cleanup
  %1222 = extractvalue { ptr, i32 } %1221, 0
  store ptr %1222, ptr %15, align 8
  %1223 = extractvalue { ptr, i32 } %1221, 1
  store i32 %1223, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %206) #8
  br label %1269

1224:                                             ; preds = %527
  %1225 = landingpad { ptr, i32 }
          cleanup
  %1226 = extractvalue { ptr, i32 } %1225, 0
  store ptr %1226, ptr %15, align 8
  %1227 = extractvalue { ptr, i32 } %1225, 1
  store i32 %1227, ptr %16, align 4
  br label %1268

1228:                                             ; preds = %608, %606, %601, %550, %548, %545, %540, %538, %535, %534, %529
  %1229 = landingpad { ptr, i32 }
          cleanup
  %1230 = extractvalue { ptr, i32 } %1229, 0
  store ptr %1230, ptr %15, align 8
  %1231 = extractvalue { ptr, i32 } %1229, 1
  store i32 %1231, ptr %16, align 4
  br label %1267

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

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

1240:                                             ; preds = %582
  %1241 = landingpad { ptr, i32 }
          cleanup
  %1242 = extractvalue { ptr, i32 } %1241, 0
  store ptr %1242, ptr %15, align 8
  %1243 = extractvalue { ptr, i32 } %1241, 1
  store i32 %1243, ptr %16, align 4
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %212) #8
  br label %1244

1244:                                             ; preds = %1240, %1236
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %215) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %215) #8
  %1245 = getelementptr inbounds [8 x %"class.std::shared_ptr"], ptr %214, i32 0, i32 0
  %1246 = getelementptr inbounds %"class.std::shared_ptr", ptr %1245, i64 8
  br label %1247

1247:                                             ; preds = %1247, %1244
  %1248 = phi ptr [ %1246, %1244 ], [ %1249, %1247 ]
  %1249 = getelementptr inbounds %"class.std::shared_ptr", ptr %1248, i64 -1
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1249) #8
  %1250 = icmp eq ptr %1249, %1245
  br i1 %1250, label %1251, label %1247

1251:                                             ; preds = %1247
  call void @llvm.lifetime.end.p0(i64 128, ptr %214) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %212) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %208) #8
  br label %1252

1252:                                             ; preds = %1251, %1232
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %211) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %211) #8
  %1253 = getelementptr inbounds [6 x %"class.std::shared_ptr"], ptr %210, i32 0, i32 0
  %1254 = getelementptr inbounds %"class.std::shared_ptr", ptr %1253, i64 6
  br label %1255

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

1259:                                             ; preds = %1255
  call void @llvm.lifetime.end.p0(i64 96, ptr %210) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %208) #8
  br label %1267

1260:                                             ; preds = %614, %612, %610
  %1261 = landingpad { ptr, i32 }
          cleanup
  %1262 = extractvalue { ptr, i32 } %1261, 0
  store ptr %1262, ptr %15, align 8
  %1263 = extractvalue { ptr, i32 } %1261, 1
  store i32 %1263, ptr %16, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %216) #8
  br label %1267

1264:                                             ; preds = %616, %603
  br label %529, !llvm.loop !32

1265:                                             ; preds = %531
  store i32 0, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %205) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %205) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %192) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %192) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %191) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr %191) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %189) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %189) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__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 @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %175) #8
  call void @llvm.lifetime.end.p0(i64 56, 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) %170) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #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) %168) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %168) #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 @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %165) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %165) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %163) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %163) #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 %161) #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 %159) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %149) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %149) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %147) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %147) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__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_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %143) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %143) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %140) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %140) #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_ptrIN6ngraph4NodeELN9__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 @_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 %128) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %124) #8
  call void @llvm.lifetime.end.p0(i64 16, 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
  %1266 = load i32, ptr %3, align 4
  ret i32 %1266

1267:                                             ; preds = %1260, %1259, %1228
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #8
  br label %1268

1268:                                             ; preds = %1267, %1224
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %205) #8
  br label %1269

1269:                                             ; preds = %1268, %1220
  call void @llvm.lifetime.end.p0(i64 16, ptr %205) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %192) #8
  br label %1270

1270:                                             ; preds = %1269, %1219
  call void @llvm.lifetime.end.p0(i64 16, ptr %192) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %191) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr %191) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %189) #8
  br label %1271

1271:                                             ; preds = %1270, %1166
  call void @llvm.lifetime.end.p0(i64 16, ptr %189) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %176) #8
  br label %1272

1272:                                             ; preds = %1271, %1165
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %175) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr %175) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %173) #8
  br label %1273

1273:                                             ; preds = %1272, %1112
  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 %1274

1274:                                             ; preds = %1273, %1108
  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) %170) #8
  br label %1275

1275:                                             ; preds = %1274, %1104
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %169) #8
  br label %1276

1276:                                             ; preds = %1275, %1100
  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) %168) #8
  br label %1277

1277:                                             ; preds = %1276, %1096
  call void @llvm.lifetime.end.p0(i64 16, ptr %168) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %167) #8
  br label %1278

1278:                                             ; preds = %1277, %1092
  call void @llvm.lifetime.end.p0(i64 16, ptr %167) #8
  br label %1279

1279:                                             ; preds = %1278, %1088
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %165) #8
  br label %1280

1280:                                             ; preds = %1279, %1084
  call void @llvm.lifetime.end.p0(i64 16, ptr %165) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %163) #8
  br label %1281

1281:                                             ; preds = %1280, %1080
  call void @llvm.lifetime.end.p0(i64 16, ptr %163) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %161) #8
  br label %1282

1282:                                             ; preds = %1281, %1076
  call void @llvm.lifetime.end.p0(i64 16, ptr %161) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %159) #8
  br label %1283

1283:                                             ; preds = %1282, %1072
  call void @llvm.lifetime.end.p0(i64 16, ptr %159) #8
  br label %1284

1284:                                             ; preds = %1283, %1068, %1064, %1060, %1056, %1052
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #8
  br label %1285

1285:                                             ; preds = %1284, %1051
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %149) #8
  br label %1286

1286:                                             ; preds = %1285, %1039
  call void @llvm.lifetime.end.p0(i64 16, ptr %149) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %147) #8
  br label %1287

1287:                                             ; preds = %1286, %1035
  call void @llvm.lifetime.end.p0(i64 16, ptr %147) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %145) #8
  br label %1288

1288:                                             ; preds = %1287, %1031
  call void @llvm.lifetime.end.p0(i64 16, ptr %145) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %143) #8
  br label %1289

1289:                                             ; preds = %1288, %1027
  call void @llvm.lifetime.end.p0(i64 16, ptr %143) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %140) #8
  br label %1290

1290:                                             ; preds = %1289, %1026
  call void @llvm.lifetime.end.p0(i64 16, ptr %140) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %136) #8
  br label %1291

1291:                                             ; preds = %1290, %1017
  call void @llvm.lifetime.end.p0(i64 16, ptr %136) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #8
  br label %1292

1292:                                             ; preds = %1291, %998
  call void @llvm.lifetime.end.p0(i64 16, ptr %132) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #8
  br label %1293

1293:                                             ; preds = %1292, %979
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %124) #8
  br label %1294

1294:                                             ; preds = %1293, %960
  call void @llvm.lifetime.end.p0(i64 16, ptr %124) #8
  call void @_ZN6ngraph8autodiff8AdjointsD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %113) #8
  br label %1295

1295:                                             ; preds = %1294, %941
  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 %1296

1296:                                             ; preds = %1295, %889
  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 %1297

1297:                                             ; preds = %1296, %865
  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 %1298

1298:                                             ; preds = %1297, %856
  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 %1299

1299:                                             ; preds = %1298, %842
  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 %1300

1300:                                             ; preds = %1299, %830
  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 %1301

1301:                                             ; preds = %1300, %826
  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 %1302

1302:                                             ; preds = %1301, %822
  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 %1303

1303:                                             ; preds = %1302, %821
  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 %1304

1304:                                             ; preds = %1303, %807
  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 %1305

1305:                                             ; preds = %1304, %793
  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 %1306

1306:                                             ; preds = %1305, %784
  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 %1307

1307:                                             ; preds = %1306, %775
  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 %1308

1308:                                             ; preds = %1307, %766
  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 %1309

1309:                                             ; preds = %1308, %752
  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 %1310

1310:                                             ; preds = %1309, %735
  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 %1311

1311:                                             ; preds = %1310, %734
  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 %1312

1312:                                             ; preds = %1311, %725
  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 %1313

1313:                                             ; preds = %1312, %716
  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 %1314

1314:                                             ; preds = %1313, %697
  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 %1315

1315:                                             ; preds = %1314, %680
  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 %1316

1316:                                             ; preds = %1315, %679
  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 %1317

1317:                                             ; preds = %1316, %670
  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 %1318

1318:                                             ; preds = %1317, %661
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #8
  br label %1319

1319:                                             ; preds = %1318, %649
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %1320

1320:                                             ; preds = %1319, %645
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %19) #8
  br label %1321

1321:                                             ; preds = %1320, %644
  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 %1322

1322:                                             ; preds = %1321, %630
  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 %1323

1323:                                             ; preds = %1322
  %1324 = load ptr, ptr %15, align 8
  %1325 = load i32, ptr %16, align 4
  %1326 = insertvalue { ptr, i32 } poison, ptr %1324, 0
  %1327 = insertvalue { ptr, i32 } %1326, i32 %1325, 1
  resume { ptr, i32 } %1327
}

; 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

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.234") 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: 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.24" = type { %"class.std::__shared_ptr.25" }
%"class.std::__shared_ptr.25" = type { ptr, %"class.std::__shared_count" }
%"class.std::function.215" = 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.217" }
%"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.217" = type { %"struct.std::_Tuple_impl.218" }
%"struct.std::_Tuple_impl.218" = type { %"struct.std::_Head_base.219" }
%"struct.std::_Head_base.219" = type { %"class.std::linear_congruential_engine" }
%"class.std::linear_congruential_engine" = type { i64 }
%"class.std::unordered_map.220" = type { %"class.std::_Hashtable.221" }
%"class.std::_Hashtable.221" = 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.234" = type { %"class.std::__shared_ptr.235" }
%"class.std::__shared_ptr.235" = 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.237" }
%"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.237" = 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.std::shared_ptr.27", 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.std::shared_ptr.27", 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.27", align 8
  %116 = alloca %"class.ngraph::Output", align 8
  %117 = alloca %"class.ngraph::Output", align 8
  %118 = alloca %"class.ngraph::Output", 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.ngraph::Output", align 8
  %123 = alloca %"class.std::shared_ptr.24", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::allocator.56", align 1
  %126 = alloca %"class.std::shared_ptr", align 8
  %127 = alloca %"class.std::shared_ptr.27", align 8
  %128 = alloca %"class.std::shared_ptr", align 8
  %129 = alloca %"class.std::shared_ptr.27", align 8
  %130 = alloca %"class.std::shared_ptr", align 8
  %131 = alloca %"class.std::shared_ptr.27", align 8
  %132 = alloca %"class.std::shared_ptr", align 8
  %133 = alloca %"class.std::shared_ptr.27", align 8
  %134 = alloca %"class.std::function.215", align 8
  %135 = alloca %"class.std::_Bind", align 8
  %136 = alloca %"class.std::uniform_real_distribution", align 4
  %137 = alloca %"class.std::linear_congruential_engine", align 8
  %138 = alloca %"class.std::function.215", align 8
  %139 = alloca %"class.std::function.215", align 8
  %140 = alloca %"class.std::function.215", align 8
  %141 = alloca %"class.std::function.215", align 8
  %142 = alloca %"class.std::shared_ptr", align 8
  %143 = alloca %"class.std::shared_ptr.27", align 8
  %144 = alloca %"class.std::shared_ptr", align 8
  %145 = alloca %"class.std::shared_ptr.27", align 8
  %146 = alloca %"class.std::shared_ptr", align 8
  %147 = alloca %"class.std::shared_ptr.27", align 8
  %148 = alloca %"class.std::shared_ptr", align 8
  %149 = alloca %"class.std::shared_ptr.27", align 8
  %150 = alloca %"class.std::shared_ptr", align 8
  %151 = alloca %"class.std::shared_ptr", align 8
  %152 = alloca %"class.std::shared_ptr", align 8
  %153 = alloca %"class.std::shared_ptr", 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::unordered_map.220", align 8
  %159 = alloca %"class.std::shared_ptr.234", align 8
  %160 = alloca %"class.ngraph::Function", align 8
  %161 = alloca %"class.std::vector.209", align 8
  %162 = alloca [6 x %"class.ngraph::Output"], align 8
  %163 = alloca %"class.std::allocator.211", align 1
  %164 = alloca %"class.std::vector.139", align 8
  %165 = alloca [8 x %"class.std::shared_ptr.154"], align 8
  %166 = alloca %"class.std::allocator.141", align 1
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::allocator.56", align 1
  %169 = alloca %"class.std::shared_ptr.133", align 8
  %170 = alloca %"class.std::shared_ptr.234", align 8
  %171 = alloca %"class.std::unordered_map.220", align 8
  %172 = alloca %"class.std::shared_ptr.234", align 8
  %173 = alloca %"class.ngraph::Function", align 8
  %174 = alloca %"class.std::vector.209", align 8
  %175 = alloca [1 x %"class.ngraph::Output"], align 8
  %176 = alloca %"class.std::allocator.211", align 1
  %177 = alloca %"class.std::vector.139", align 8
  %178 = alloca [5 x %"class.std::shared_ptr.154"], align 8
  %179 = alloca %"class.std::allocator.141", align 1
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %"class.std::allocator.56", align 1
  %182 = alloca %"class.std::shared_ptr.133", align 8
  %183 = alloca %"class.std::shared_ptr.234", align 8
  %184 = alloca %"class.std::vector.149", align 8
  %185 = alloca [6 x %"class.std::shared_ptr"], align 8
  %186 = alloca %"class.std::allocator.151", align 1
  %187 = alloca %"class.std::vector.149", align 8
  %188 = alloca [8 x %"class.std::shared_ptr"], align 8
  %189 = alloca %"class.std::allocator.151", align 1
  %190 = 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
  %191 = 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 %191, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %192 unwind label %458

192:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #8
  %193 = 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 %193, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %194 unwind label %460

194:                                              ; preds = %192
  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 %195 unwind label %462

195:                                              ; preds = %194
  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
  %196 = 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 %196, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %197 unwind label %466

197:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #8
  %198 = 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 %198, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %199 unwind label %468

199:                                              ; preds = %197
  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 %200 unwind label %470

200:                                              ; preds = %199
  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 %201 unwind label %474

201:                                              ; preds = %200
  invoke void @_ZN15MNistDataLoader4openEv(ptr noundef nonnull align 8 dereferenceable(208) %3)
          to label %202 unwind label %474

202:                                              ; preds = %201
  %203 = invoke noundef i32 @_ZN15MNistDataLoader11get_columnsEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
          to label %204 unwind label %476

204:                                              ; preds = %202
  %205 = invoke noundef i32 @_ZN15MNistDataLoader8get_rowsEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
          to label %206 unwind label %476

206:                                              ; preds = %204
  %207 = mul i32 %205, %203
  %208 = zext i32 %207 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
  %209 = getelementptr inbounds i8, ptr %16, i64 8
  store i64 %208, ptr %209, align 8, !tbaa !9
  store ptr %16, ptr %15, align 8, !tbaa !11
  %210 = getelementptr inbounds i8, ptr %15, i64 8
  store i64 2, ptr %210, 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 %211 unwind label %478

211:                                              ; preds = %206
  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 %212 unwind label %480

212:                                              ; preds = %211
  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 %208, ptr %20, align 8, !tbaa !9
  %213 = getelementptr inbounds i8, ptr %20, i64 8
  store i64 600, ptr %213, align 8, !tbaa !9
  store ptr %20, ptr %19, align 8, !tbaa !11
  %214 = getelementptr inbounds i8, ptr %19, i64 8
  store i64 2, ptr %214, 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 %215 unwind label %483

215:                                              ; preds = %212
  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 %216 unwind label %485

216:                                              ; preds = %215
  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
  %217 = getelementptr inbounds i8, ptr %23, i64 8
  store i64 1, ptr %217, 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 %218 unwind label %488

218:                                              ; preds = %216
  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 %219 unwind label %490

219:                                              ; preds = %218
  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 %220 unwind label %493

220:                                              ; preds = %219
  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
  %221 = getelementptr inbounds i8, ptr %30, i64 8
  store i64 600, ptr %221, align 8, !tbaa !9
  store ptr %30, ptr %29, align 8, !tbaa !11
  %222 = getelementptr inbounds i8, ptr %29, i64 8
  store i64 2, ptr %222, 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 %223 unwind label %495

223:                                              ; preds = %220
  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
  %224 = getelementptr inbounds i8, ptr %32, i64 8
  store i64 1, ptr %224, 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 %225 unwind label %497

225:                                              ; preds = %223
  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 %226 unwind label %499

226:                                              ; preds = %225
  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 %227 unwind label %503

227:                                              ; preds = %226
  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 %228 unwind label %505

228:                                              ; preds = %227
  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 %229 unwind label %507

229:                                              ; preds = %228
  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 %230 unwind label %509

230:                                              ; preds = %229
  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
  %231 = getelementptr inbounds i8, ptr %41, i64 8
  store i64 10, ptr %231, align 8, !tbaa !9
  store ptr %41, ptr %40, align 8, !tbaa !11
  %232 = getelementptr inbounds i8, ptr %40, i64 8
  store i64 2, ptr %232, 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 %233 unwind label %514

233:                                              ; preds = %230
  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 %234 unwind label %516

234:                                              ; preds = %233
  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
  %235 = getelementptr inbounds i8, ptr %44, i64 8
  store i64 1, ptr %235, 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 %236 unwind label %519

236:                                              ; preds = %234
  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 %237 unwind label %521

237:                                              ; preds = %236
  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 %238 unwind label %524

238:                                              ; preds = %237
  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
  %239 = getelementptr inbounds i8, ptr %51, i64 8
  store i64 10, ptr %239, align 8, !tbaa !9
  store ptr %51, ptr %50, align 8, !tbaa !11
  %240 = getelementptr inbounds i8, ptr %50, i64 8
  store i64 2, ptr %240, 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 %241 unwind label %526

241:                                              ; preds = %238
  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
  %242 = getelementptr inbounds i8, ptr %53, i64 8
  store i64 1, ptr %242, 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 %243 unwind label %528

243:                                              ; preds = %241
  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 %244 unwind label %530

244:                                              ; preds = %243
  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 %245 unwind label %534

245:                                              ; preds = %244
  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 %246 unwind label %536

246:                                              ; preds = %245
  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 %247 unwind label %538

247:                                              ; preds = %246
  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
  %248 = getelementptr inbounds i8, ptr %60, i64 8
  store i64 1, ptr %248, 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 %249 unwind label %542

249:                                              ; preds = %247
  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 %250 unwind label %544

250:                                              ; preds = %249
  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
  %251 = getelementptr inbounds i8, ptr %64, i64 8
  store i64 1, ptr %251, 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 %252 unwind label %547

252:                                              ; preds = %250
  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 %253 unwind label %549

253:                                              ; preds = %252
  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
  %254 = getelementptr inbounds i8, ptr %69, i64 8
  store i64 10, ptr %254, align 8, !tbaa !9
  store ptr %69, ptr %68, align 8, !tbaa !11
  %255 = getelementptr inbounds i8, ptr %68, i64 8
  store i64 2, ptr %255, 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 %256 unwind label %552

256:                                              ; preds = %253
  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 %257 unwind label %554

257:                                              ; preds = %256
  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 %258 unwind label %557

258:                                              ; preds = %257
  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 %259 unwind label %559

259:                                              ; preds = %258
  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 %260 unwind label %561

260:                                              ; preds = %259
  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
  %261 = getelementptr inbounds i8, ptr %79, i64 8
  store i64 10, ptr %261, align 8, !tbaa !9
  store ptr %79, ptr %78, align 8, !tbaa !11
  %262 = getelementptr inbounds i8, ptr %78, i64 8
  store i64 2, ptr %262, 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 %263 unwind label %565

263:                                              ; preds = %260
  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
  %264 = getelementptr inbounds i8, ptr %82, i64 8
  store i64 1, ptr %264, align 8, !tbaa !9
  store ptr %82, ptr %81, align 8, !tbaa !11
  %265 = getelementptr inbounds i8, ptr %81, i64 8
  store i64 2, ptr %265, 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 %266 unwind label %567

266:                                              ; preds = %263
  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 %267 unwind label %569

267:                                              ; preds = %266
  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 %268 unwind label %573

268:                                              ; preds = %267
  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 %269 unwind label %575

269:                                              ; preds = %268
  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 %270 unwind label %577

270:                                              ; preds = %269
  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 %271 unwind label %579

271:                                              ; preds = %270
  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 %272 unwind label %581

272:                                              ; preds = %271
  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
  %273 = getelementptr inbounds i8, ptr %92, i64 8
  store i64 1, ptr %273, align 8, !tbaa !9
  store ptr %92, ptr %91, align 8, !tbaa !11
  %274 = getelementptr inbounds i8, ptr %91, i64 8
  store i64 2, ptr %274, 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 %275 unwind label %584

275:                                              ; preds = %272
  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 %276 unwind label %586

276:                                              ; preds = %275
  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 %277 unwind label %588

277:                                              ; preds = %276
  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 %278 unwind label %592

278:                                              ; preds = %277
  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 %279 unwind label %594

279:                                              ; preds = %278
  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 %280 unwind label %597

280:                                              ; preds = %279
  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 %281 unwind label %599

281:                                              ; preds = %280
  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 %282 unwind label %601

282:                                              ; preds = %281
  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 %283 unwind label %603

283:                                              ; preds = %282
  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 %284 unwind label %605

284:                                              ; preds = %283
  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 %285 unwind label %611

285:                                              ; preds = %284
  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 %286 unwind label %613

286:                                              ; preds = %285
  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 %287 unwind label %615

287:                                              ; preds = %286
  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 %288 unwind label %617

288:                                              ; preds = %287
  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 %289 unwind label %619

289:                                              ; preds = %288
  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 16, 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 %290 unwind label %621

290:                                              ; preds = %289
  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) %17)
          to label %291 unwind label %623

291:                                              ; preds = %290
  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 %292 unwind label %625

292:                                              ; preds = %291
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %107, ptr noundef nonnull align 8 dereferenceable(24) %108, ptr noundef nonnull align 8 dereferenceable(24) %109)
          to label %293 unwind label %627

293:                                              ; preds = %292
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #8
  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.end.p0(i64 24, ptr nonnull %109) #8
  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 16, 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) %21)
          to label %294 unwind label %632

294:                                              ; preds = %293
  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) %21)
          to label %295 unwind label %634

295:                                              ; preds = %294
  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 %296 unwind label %636

296:                                              ; preds = %295
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %111, ptr noundef nonnull align 8 dereferenceable(24) %112, ptr noundef nonnull align 8 dereferenceable(24) %113)
          to label %297 unwind label %638

297:                                              ; preds = %296
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %113) #8
  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.end.p0(i64 24, ptr nonnull %113) #8
  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 16, ptr nonnull %115) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %116) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %116, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %298 unwind label %643

298:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %117) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %118) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %118, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %299 unwind label %645

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

300:                                              ; preds = %299
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.27") align 8 %115, ptr noundef nonnull align 8 dereferenceable(24) %116, ptr noundef nonnull align 8 dereferenceable(24) %117)
          to label %301 unwind label %649

301:                                              ; preds = %300
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %117) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %118) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %118) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %117) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %116) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %116) #8
  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) %42)
          to label %302 unwind label %654

302:                                              ; preds = %301
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %121) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %122) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09ParameterEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %122, ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %303 unwind label %656

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

304:                                              ; preds = %303
  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 %305 unwind label %660

305:                                              ; preds = %304
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %122) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %122) #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 %123) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %125) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %125)
          to label %306 unwind label %665

306:                                              ; preds = %305
  invoke void @_ZN6ngraph7runtime7Backend6createERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.24") align 8 %123, ptr noundef nonnull align 8 dereferenceable(32) %124, i1 noundef zeroext false)
          to label %307 unwind label %667

307:                                              ; preds = %306
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %125) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %126) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %127) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %127, 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 %126, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %127, i64 noundef 0)
          to label %308 unwind label %670

308:                                              ; preds = %307
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %127) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %127) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %128) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %129) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %129, 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 %128, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %129, i64 noundef 0)
          to label %309 unwind label %672

309:                                              ; preds = %308
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %129) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %129) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %130) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %131) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %131, 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 %130, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %131, i64 noundef 0)
          to label %310 unwind label %674

310:                                              ; preds = %309
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__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 @llvm.lifetime.start.p0(i64 16, ptr nonnull %132) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %133) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %133, 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 %132, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %133, i64 noundef 0)
          to label %311 unwind label %676

311:                                              ; preds = %310
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %133) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %133) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %134) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %135) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %136) #8
  invoke void @_ZNSt25uniform_real_distributionIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %136, float noundef -1.000000e+00, float noundef 1.000000e+00)
          to label %312 unwind label %678

312:                                              ; preds = %311
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %137) #8
  invoke void @_ZNSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %137, i64 noundef 0)
          to label %313 unwind label %680

313:                                              ; preds = %312
  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 %135, ptr noundef nonnull align 4 dereferenceable(8) %136, ptr noundef nonnull align 8 dereferenceable(8) %137)
          to label %314 unwind label %680

314:                                              ; preds = %313
  invoke void @_ZNSt8functionIFfvEEC2ISt5_BindIFSt25uniform_real_distributionIfESt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull align 8 dereferenceable(16) %135)
          to label %315 unwind label %680

315:                                              ; preds = %314
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %135) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %316 unwind label %683

316:                                              ; preds = %315
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef nonnull %138, ptr noundef nonnull align 8 dereferenceable(16) %126)
          to label %317 unwind label %685

317:                                              ; preds = %316
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %318 unwind label %683

318:                                              ; preds = %317
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef nonnull %139, ptr noundef nonnull align 8 dereferenceable(16) %128)
          to label %319 unwind label %687

319:                                              ; preds = %318
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %320 unwind label %683

320:                                              ; preds = %319
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef nonnull %140, ptr noundef nonnull align 8 dereferenceable(16) %130)
          to label %321 unwind label %689

321:                                              ; preds = %320
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #8
  invoke void @_ZNSt8functionIFfvEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %322 unwind label %683

322:                                              ; preds = %321
  invoke void @_Z9randomizeIfEvSt8functionIFT_vEERKSt10shared_ptrIN6ngraph7runtime6TensorEE(ptr noundef nonnull %141, ptr noundef nonnull align 8 dereferenceable(16) %132)
          to label %323 unwind label %691

323:                                              ; preds = %322
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %142) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %143) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %143, 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 %142, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %143, i64 noundef 0)
          to label %324 unwind label %693

324:                                              ; preds = %323
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %143) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %143) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %144) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %145) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %145, 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 %144, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %145, i64 noundef 0)
          to label %325 unwind label %695

325:                                              ; preds = %324
  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 nonnull %145) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %146) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %147) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %147, 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 %146, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %147, i64 noundef 0)
          to label %326 unwind label %697

326:                                              ; preds = %325
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %147) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %147) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %148) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %149) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v09ParameterEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %149, 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 %148, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %149, i64 noundef 0)
          to label %327 unwind label %699

327:                                              ; preds = %326
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %149) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %149) #8
  invoke void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16) %148, float noundef 1.280000e+02, i64 noundef 0)
          to label %328 unwind label %701

328:                                              ; preds = %327
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %150) #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) %123, ptr noundef nonnull align 8 dereferenceable(16) %107, i64 noundef 0)
          to label %329 unwind label %703

329:                                              ; preds = %328
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %151) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %151, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %111, i64 noundef 0)
          to label %330 unwind label %705

330:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %152) #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) %123, ptr noundef nonnull align 8 dereferenceable(16) %115, i64 noundef 0)
          to label %331 unwind label %707

331:                                              ; preds = %330
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %153) #8
  invoke void @_Z18make_output_tensorRKSt10shared_ptrIN6ngraph7runtime7BackendEERKS_INS0_4NodeEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr") align 8 %153, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %119, i64 noundef 0)
          to label %332 unwind label %709

332:                                              ; preds = %331
  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_2op2v16DivideEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %155, 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 %154, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %155, i64 noundef 0)
          to label %333 unwind label %711

333:                                              ; preds = %332
  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_2op2v07SoftmaxEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %157, 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 %156, ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull align 8 dereferenceable(16) %157, i64 noundef 0)
          to label %334 unwind label %713

334:                                              ; preds = %333
  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
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %158) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %158) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %159) #8
  call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %160) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %161) #8
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %162) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v16DivideEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %162, ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %336 unwind label %.thread

.thread:                                          ; preds = %334
  %335 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit330

336:                                              ; preds = %334
  %337 = getelementptr inbounds i8, ptr %162, i64 24
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %337, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %338 unwind label %715

338:                                              ; preds = %336
  %339 = getelementptr inbounds i8, ptr %162, i64 48
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %339, ptr noundef nonnull align 8 dereferenceable(16) %107)
          to label %340 unwind label %715

340:                                              ; preds = %338
  %341 = getelementptr inbounds i8, ptr %162, i64 72
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %341, ptr noundef nonnull align 8 dereferenceable(16) %111)
          to label %342 unwind label %715

342:                                              ; preds = %340
  %343 = getelementptr inbounds i8, ptr %162, i64 96
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %343, ptr noundef nonnull align 8 dereferenceable(16) %115)
          to label %344 unwind label %715

344:                                              ; preds = %342
  %345 = getelementptr inbounds i8, ptr %162, i64 120
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %345, ptr noundef nonnull align 8 dereferenceable(16) %119)
          to label %346 unwind label %715

346:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %163) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %163) #8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %161, ptr nonnull %162, i64 6, ptr noundef nonnull align 1 dereferenceable(1) %163)
          to label %347 unwind label %721

347:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %164) #8
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %165) #8
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %165, ptr noundef nonnull align 8 dereferenceable(16) %13) #8
  %348 = getelementptr inbounds i8, ptr %165, i64 16
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %348, ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  %349 = getelementptr inbounds i8, ptr %165, i64 32
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %349, ptr noundef nonnull align 8 dereferenceable(16) %86) #8
  %350 = getelementptr inbounds i8, ptr %165, i64 48
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %350, ptr noundef nonnull align 8 dereferenceable(16) %93) #8
  %351 = getelementptr inbounds i8, ptr %165, i64 64
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %351, ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  %352 = getelementptr inbounds i8, ptr %165, i64 80
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %352, ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  %353 = getelementptr inbounds i8, ptr %165, i64 96
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %353, ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  %354 = getelementptr inbounds i8, ptr %165, i64 112
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %354, ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %166) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph2op2v09ParameterEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %164, ptr nonnull %165, i64 8, ptr noundef nonnull align 1 dereferenceable(1) %166)
          to label %355 unwind label %723

355:                                              ; preds = %347
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %167) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %168) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %168)
          to label %356 unwind label %725

356:                                              ; preds = %355
  invoke void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176) %160, ptr noundef nonnull align 8 dereferenceable(24) %161, ptr noundef nonnull align 8 dereferenceable(24) %164, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %357 unwind label %727

357:                                              ; preds = %356
  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.234") align 8 %159, ptr noundef nonnull align 8 dereferenceable(176) %160, ptr noundef nonnull align 8 dereferenceable(56) %158)
          to label %358 unwind label %729

358:                                              ; preds = %357
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %160) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %168) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %164) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %166) #8
  %359 = getelementptr inbounds i8, ptr %165, i64 112
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %359) #8
  %360 = getelementptr inbounds i8, ptr %165, i64 96
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %360) #8
  %361 = getelementptr inbounds i8, ptr %165, i64 80
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %361) #8
  %362 = getelementptr inbounds i8, ptr %165, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %362) #8
  %363 = getelementptr inbounds i8, ptr %165, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %363) #8
  %364 = getelementptr inbounds i8, ptr %165, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %364) #8
  %365 = getelementptr inbounds i8, ptr %165, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %365) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %165) #8
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %165) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %164) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %161) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %163) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %163) #8
  %366 = getelementptr inbounds i8, ptr %162, i64 120
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %366) #8
  %367 = getelementptr inbounds i8, ptr %162, i64 96
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %367) #8
  %368 = getelementptr inbounds i8, ptr %162, i64 72
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %368) #8
  %369 = getelementptr inbounds i8, ptr %162, i64 48
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %369) #8
  %370 = getelementptr inbounds i8, ptr %162, i64 24
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %370) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %162) #8
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %162) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %161) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %160) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %169) #8
  %371 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %123) #8
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %170, ptr noundef nonnull align 8 dereferenceable(16) %159) #8
  %372 = load ptr, ptr %371, align 8, !tbaa !18
  %373 = getelementptr inbounds i8, ptr %372, i64 56
  %374 = load ptr, ptr %373, align 8
  invoke void %374(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.133") align 8 %169, ptr noundef nonnull align 8 dereferenceable(8) %371, ptr noundef nonnull %170, i1 noundef zeroext false)
          to label %375 unwind label %746

375:                                              ; preds = %358
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %170) #8
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %171) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %171) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %172) #8
  call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %173) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %174) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %175) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07SoftmaxEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %175, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %376 unwind label %748

376:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %176) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %174, ptr nonnull %175, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %176)
          to label %377 unwind label %750

377:                                              ; preds = %376
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %177) #8
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %178) #8
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %178, ptr noundef nonnull align 8 dereferenceable(16) %13) #8
  %378 = getelementptr inbounds i8, ptr %178, i64 16
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %378, ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  %379 = getelementptr inbounds i8, ptr %178, i64 32
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %379, ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  %380 = getelementptr inbounds i8, ptr %178, i64 48
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %380, ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  %381 = getelementptr inbounds i8, ptr %178, i64 64
  call void @_ZNSt10shared_ptrIN6ngraph2op2v09ParameterEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %381, ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %179) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph2op2v09ParameterEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %179) #8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %177, ptr nonnull %178, i64 5, ptr noundef nonnull align 1 dereferenceable(1) %179)
          to label %382 unwind label %752

382:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %180) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %181) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %181) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %181)
          to label %383 unwind label %754

383:                                              ; preds = %382
  invoke void @_ZN6ngraph8FunctionC1ERKSt6vectorINS_6OutputINS_4NodeEEESaIS4_EERKS1_ISt10shared_ptrINS_2op2v09ParameterEESaISD_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(176) %173, ptr noundef nonnull align 8 dereferenceable(24) %174, ptr noundef nonnull align 8 dereferenceable(24) %177, ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %384 unwind label %756

384:                                              ; preds = %383
  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.234") align 8 %172, ptr noundef nonnull align 8 dereferenceable(176) %173, ptr noundef nonnull align 8 dereferenceable(56) %171)
          to label %385 unwind label %758

385:                                              ; preds = %384
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %173) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %181) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %181) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %180) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %177) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %179) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %179) #8
  %386 = getelementptr inbounds i8, ptr %178, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %386) #8
  %387 = getelementptr inbounds i8, ptr %178, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %387) #8
  %388 = getelementptr inbounds i8, ptr %178, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %388) #8
  %389 = getelementptr inbounds i8, ptr %178, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %389) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #8
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %178) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %177) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %174) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %175) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %175) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %174) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %173) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %182) #8
  %390 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %123) #8
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %183, ptr noundef nonnull align 8 dereferenceable(16) %172) #8
  %391 = load ptr, ptr %390, align 8, !tbaa !18
  %392 = getelementptr inbounds i8, ptr %391, i64 56
  %393 = load ptr, ptr %392, align 8
  invoke void %393(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.133") align 8 %182, ptr noundef nonnull align 8 dereferenceable(8) %390, ptr noundef nonnull %183, i1 noundef zeroext false)
          to label %394 unwind label %767

394:                                              ; preds = %385
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %183) #8
  invoke void @_Z10set_scalarIfEvRKSt10shared_ptrIN6ngraph7runtime6TensorEET_m(ptr noundef nonnull align 8 dereferenceable(16) %146, float noundef 0x3F9EB851E0000000, i64 noundef 0)
          to label %.preheader unwind label %769

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

.lr.ph:                                           ; preds = %.preheader
  %397 = getelementptr inbounds i8, ptr %185, i64 16
  %398 = getelementptr inbounds i8, ptr %185, i64 32
  %399 = getelementptr inbounds i8, ptr %185, i64 48
  %400 = getelementptr inbounds i8, ptr %185, i64 64
  %401 = getelementptr inbounds i8, ptr %185, i64 80
  %402 = getelementptr inbounds i8, ptr %188, i64 16
  %403 = getelementptr inbounds i8, ptr %188, i64 32
  %404 = getelementptr inbounds i8, ptr %188, i64 48
  %405 = getelementptr inbounds i8, ptr %188, i64 64
  %406 = getelementptr inbounds i8, ptr %188, i64 80
  %407 = getelementptr inbounds i8, ptr %188, i64 96
  %408 = getelementptr inbounds i8, ptr %188, i64 112
  %409 = getelementptr inbounds i8, ptr %188, i64 112
  %410 = getelementptr inbounds i8, ptr %188, i64 96
  %411 = getelementptr inbounds i8, ptr %188, i64 80
  %412 = getelementptr inbounds i8, ptr %188, i64 64
  %413 = getelementptr inbounds i8, ptr %188, i64 48
  %414 = getelementptr inbounds i8, ptr %188, i64 32
  %415 = getelementptr inbounds i8, ptr %188, i64 16
  %416 = getelementptr inbounds i8, ptr %185, i64 80
  %417 = getelementptr inbounds i8, ptr %185, i64 64
  %418 = getelementptr inbounds i8, ptr %185, i64 48
  %419 = getelementptr inbounds i8, ptr %185, i64 32
  %420 = getelementptr inbounds i8, ptr %185, i64 16
  br label %421

421:                                              ; preds = %.lr.ph, %795
  %.0166334 = phi i64 [ 0, %.lr.ph ], [ %.1167, %795 ]
  invoke void @_ZN15MNistDataLoader4loadEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
          to label %422 unwind label %771

422:                                              ; preds = %421
  %423 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %142) #8
  %424 = call noundef ptr @_ZNK15MNistDataLoader16get_image_floatsEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %425 = call noundef i64 @_ZNK15MNistDataLoader20get_image_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %426 = shl i64 %425, 2
  %427 = load ptr, ptr %423, align 8, !tbaa !18
  %428 = getelementptr inbounds i8, ptr %427, i64 56
  %429 = load ptr, ptr %428, align 8
  invoke void %429(ptr noundef nonnull align 8 dereferenceable(64) %423, ptr noundef %424, i64 noundef %426)
          to label %430 unwind label %771

430:                                              ; preds = %422
  %431 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %144) #8
  %432 = call noundef ptr @_ZNK15MNistDataLoader16get_label_floatsEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %433 = call noundef i64 @_ZNK15MNistDataLoader20get_label_batch_sizeEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %434 = shl i64 %433, 2
  %435 = load ptr, ptr %431, align 8, !tbaa !18
  %436 = getelementptr inbounds i8, ptr %435, i64 56
  %437 = load ptr, ptr %436, align 8
  invoke void %437(ptr noundef nonnull align 8 dereferenceable(64) %431, ptr noundef %432, i64 noundef %434)
          to label %438 unwind label %771

438:                                              ; preds = %430
  %439 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %169) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %184) #8
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %185) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %185, ptr noundef nonnull align 8 dereferenceable(16) %154) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %397, ptr noundef nonnull align 8 dereferenceable(16) %156) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %398, ptr noundef nonnull align 8 dereferenceable(16) %150) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %399, ptr noundef nonnull align 8 dereferenceable(16) %151) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %400, ptr noundef nonnull align 8 dereferenceable(16) %152) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %401, ptr noundef nonnull align 8 dereferenceable(16) %153) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %186) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph7runtime6TensorEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %184, ptr nonnull %185, i64 6, ptr noundef nonnull align 1 dereferenceable(1) %186)
          to label %440 unwind label %773

440:                                              ; preds = %438
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %187) #8
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %188) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %188, ptr noundef nonnull align 8 dereferenceable(16) %142) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %402, ptr noundef nonnull align 8 dereferenceable(16) %144) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %403, ptr noundef nonnull align 8 dereferenceable(16) %148) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %404, ptr noundef nonnull align 8 dereferenceable(16) %146) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %405, ptr noundef nonnull align 8 dereferenceable(16) %126) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %406, ptr noundef nonnull align 8 dereferenceable(16) %128) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %407, ptr noundef nonnull align 8 dereferenceable(16) %130) #8
  call void @_ZNSt10shared_ptrIN6ngraph7runtime6TensorEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %408, ptr noundef nonnull align 8 dereferenceable(16) %132) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %189) #8
  call void @_ZNSaISt10shared_ptrIN6ngraph7runtime6TensorEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #8
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EEC2ESt16initializer_listIS4_ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %187, ptr nonnull %188, i64 8, ptr noundef nonnull align 1 dereferenceable(1) %189)
          to label %441 unwind label %775

441:                                              ; preds = %440
  %442 = load ptr, ptr %439, align 8, !tbaa !18
  %443 = getelementptr inbounds i8, ptr %442, i64 16
  %444 = load ptr, ptr %443, align 8
  %445 = invoke noundef zeroext i1 %444(ptr noundef nonnull align 8 dereferenceable(56) %439, ptr noundef nonnull align 8 dereferenceable(24) %184, ptr noundef nonnull align 8 dereferenceable(24) %187)
          to label %446 unwind label %777

446:                                              ; preds = %441
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %187) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %189) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %409) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %410) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %411) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %412) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %413) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %414) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %415) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %188) #8
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %188) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %187) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %184) #8
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %186) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %416) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %417) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %418) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %419) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %420) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %185) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %185) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %184) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %126, ptr noundef nonnull align 8 dereferenceable(16) %150) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %128, ptr noundef nonnull align 8 dereferenceable(16) %151) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %130, ptr noundef nonnull align 8 dereferenceable(16) %152) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_(ptr noundef nonnull align 8 dereferenceable(16) %132, ptr noundef nonnull align 8 dereferenceable(16) %153) #8
  %447 = call noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %.not = icmp eq i64 %447, %.0166334
  br i1 %.not, label %795, label %448

448:                                              ; preds = %446
  %449 = call noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %450 = 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 %451 unwind label %771

451:                                              ; preds = %448
  call void @_ZNSt10shared_ptrIN6ngraph7runtime10ExecutableEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %190, ptr noundef nonnull align 8 dereferenceable(16) %182) #8
  %452 = invoke noundef float @_Z13test_accuracyR15MNistDataLoaderSt10shared_ptrIN6ngraph7runtime10ExecutableEERKS1_INS3_6TensorEES9_S9_S9_S9_S9_S9_(ptr noundef nonnull align 8 dereferenceable(208) %3, ptr noundef nonnull %190, ptr noundef nonnull align 8 dereferenceable(16) %142, ptr noundef nonnull align 8 dereferenceable(16) %144, ptr noundef nonnull align 8 dereferenceable(16) %156, ptr noundef nonnull align 8 dereferenceable(16) %126, ptr noundef nonnull align 8 dereferenceable(16) %128, ptr noundef nonnull align 8 dereferenceable(16) %130, ptr noundef nonnull align 8 dereferenceable(16) %132)
          to label %453 unwind label %793

453:                                              ; preds = %451
  %454 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %450, float noundef %452)
          to label %455 unwind label %793

455:                                              ; preds = %453
  %456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %454, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %457 unwind label %793

457:                                              ; preds = %455
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #8
  br label %795

458:                                              ; preds = %2
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %465

460:                                              ; preds = %192
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %464

462:                                              ; preds = %194
  %463 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #8
  br label %464

464:                                              ; preds = %462, %460
  %.pn = phi { ptr, i32 } [ %463, %462 ], [ %461, %460 ]
  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 %465

465:                                              ; preds = %464, %458
  %.pn.pn = phi { ptr, i32 } [ %.pn, %464 ], [ %459, %458 ]
  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 %851

466:                                              ; preds = %195
  %467 = landingpad { ptr, i32 }
          cleanup
  br label %473

468:                                              ; preds = %197
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %472

470:                                              ; preds = %199
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  br label %472

472:                                              ; preds = %470, %468
  %.pn182 = phi { ptr, i32 } [ %471, %470 ], [ %469, %468 ]
  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 %473

473:                                              ; preds = %472, %466
  %.pn182.pn = phi { ptr, i32 } [ %.pn182, %472 ], [ %467, %466 ]
  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 %850

474:                                              ; preds = %201, %200
  %475 = landingpad { ptr, i32 }
          cleanup
  br label %849

476:                                              ; preds = %204, %202
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %849

478:                                              ; preds = %206
  %479 = landingpad { ptr, i32 }
          cleanup
  br label %482

480:                                              ; preds = %211
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  br label %482

482:                                              ; preds = %480, %478
  %.pn185 = phi { ptr, i32 } [ %481, %480 ], [ %479, %478 ]
  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 %848

483:                                              ; preds = %212
  %484 = landingpad { ptr, i32 }
          cleanup
  br label %487

485:                                              ; preds = %215
  %486 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  br label %487

487:                                              ; preds = %485, %483
  %.pn187 = phi { ptr, i32 } [ %486, %485 ], [ %484, %483 ]
  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 %847

488:                                              ; preds = %216
  %489 = landingpad { ptr, i32 }
          cleanup
  br label %492

490:                                              ; preds = %218
  %491 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  br label %492

492:                                              ; preds = %490, %488
  %.pn189 = phi { ptr, i32 } [ %491, %490 ], [ %489, %488 ]
  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 %846

493:                                              ; preds = %219
  %494 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #8
  br label %845

495:                                              ; preds = %220
  %496 = landingpad { ptr, i32 }
          cleanup
  br label %502

497:                                              ; preds = %223
  %498 = landingpad { ptr, i32 }
          cleanup
  br label %501

499:                                              ; preds = %225
  %500 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #8
  br label %501

501:                                              ; preds = %499, %497
  %.pn191 = phi { ptr, i32 } [ %500, %499 ], [ %498, %497 ]
  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 %502

502:                                              ; preds = %501, %495
  %.pn191.pn = phi { ptr, i32 } [ %.pn191, %501 ], [ %496, %495 ]
  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 %844

503:                                              ; preds = %226
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %513

505:                                              ; preds = %227
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %512

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

509:                                              ; preds = %229
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #8
  br label %511

511:                                              ; preds = %509, %507
  %.pn194 = phi { ptr, i32 } [ %510, %509 ], [ %508, %507 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #8
  br label %512

512:                                              ; preds = %511, %505
  %.pn194.pn = phi { ptr, i32 } [ %.pn194, %511 ], [ %506, %505 ]
  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 %513

513:                                              ; preds = %512, %503
  %.pn194.pn.pn = phi { ptr, i32 } [ %.pn194.pn, %512 ], [ %504, %503 ]
  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 %843

514:                                              ; preds = %230
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %518

516:                                              ; preds = %233
  %517 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  br label %518

518:                                              ; preds = %516, %514
  %.pn198 = phi { ptr, i32 } [ %517, %516 ], [ %515, %514 ]
  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 %842

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

521:                                              ; preds = %236
  %522 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  br label %523

523:                                              ; preds = %521, %519
  %.pn200 = phi { ptr, i32 } [ %522, %521 ], [ %520, %519 ]
  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 %841

524:                                              ; preds = %237
  %525 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #8
  br label %840

526:                                              ; preds = %238
  %527 = landingpad { ptr, i32 }
          cleanup
  br label %533

528:                                              ; preds = %241
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %532

530:                                              ; preds = %243
  %531 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #8
  br label %532

532:                                              ; preds = %530, %528
  %.pn202 = phi { ptr, i32 } [ %531, %530 ], [ %529, %528 ]
  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 %533

533:                                              ; preds = %532, %526
  %.pn202.pn = phi { ptr, i32 } [ %.pn202, %532 ], [ %527, %526 ]
  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 %839

534:                                              ; preds = %244
  %535 = landingpad { ptr, i32 }
          cleanup
  br label %541

536:                                              ; preds = %245
  %537 = landingpad { ptr, i32 }
          cleanup
  br label %540

538:                                              ; preds = %246
  %539 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  br label %540

540:                                              ; preds = %538, %536
  %.pn205 = phi { ptr, i32 } [ %539, %538 ], [ %537, %536 ]
  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 %541

541:                                              ; preds = %540, %534
  %.pn205.pn = phi { ptr, i32 } [ %.pn205, %540 ], [ %535, %534 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %56) #8
  br label %838

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

544:                                              ; preds = %249
  %545 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %59) #8
  br label %546

546:                                              ; preds = %544, %542
  %.pn208 = phi { ptr, i32 } [ %545, %544 ], [ %543, %542 ]
  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 %837

547:                                              ; preds = %250
  %548 = landingpad { ptr, i32 }
          cleanup
  br label %551

549:                                              ; preds = %252
  %550 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  br label %551

551:                                              ; preds = %549, %547
  %.pn210 = phi { ptr, i32 } [ %550, %549 ], [ %548, %547 ]
  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 %836

552:                                              ; preds = %253
  %553 = landingpad { ptr, i32 }
          cleanup
  br label %556

554:                                              ; preds = %256
  %555 = 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 %556

556:                                              ; preds = %554, %552
  %.pn212 = phi { ptr, i32 } [ %555, %554 ], [ %553, %552 ]
  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 %835

557:                                              ; preds = %257
  %558 = landingpad { ptr, i32 }
          cleanup
  br label %564

559:                                              ; preds = %258
  %560 = landingpad { ptr, i32 }
          cleanup
  br label %563

561:                                              ; preds = %259
  %562 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #8
  br label %563

563:                                              ; preds = %561, %559
  %.pn214 = phi { ptr, i32 } [ %562, %561 ], [ %560, %559 ]
  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 %564

564:                                              ; preds = %563, %557
  %.pn214.pn = phi { ptr, i32 } [ %.pn214, %563 ], [ %558, %557 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %72) #8
  br label %834

565:                                              ; preds = %260
  %566 = landingpad { ptr, i32 }
          cleanup
  br label %572

567:                                              ; preds = %263
  %568 = landingpad { ptr, i32 }
          cleanup
  br label %571

569:                                              ; preds = %266
  %570 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %80) #8
  br label %571

571:                                              ; preds = %569, %567
  %.pn217 = phi { ptr, i32 } [ %570, %569 ], [ %568, %567 ]
  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 %572

572:                                              ; preds = %571, %565
  %.pn217.pn = phi { ptr, i32 } [ %.pn217, %571 ], [ %566, %565 ]
  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 %833

573:                                              ; preds = %267
  %574 = landingpad { ptr, i32 }
          cleanup
  br label %832

575:                                              ; preds = %268
  %576 = landingpad { ptr, i32 }
          cleanup
  br label %831

577:                                              ; preds = %269
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %830

579:                                              ; preds = %270
  %580 = landingpad { ptr, i32 }
          cleanup
  br label %583

581:                                              ; preds = %271
  %582 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #8
  br label %583

583:                                              ; preds = %581, %579
  %.pn220 = phi { ptr, i32 } [ %582, %581 ], [ %580, %579 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #8
  br label %829

584:                                              ; preds = %272
  %585 = landingpad { ptr, i32 }
          cleanup
  br label %591

586:                                              ; preds = %275
  %587 = landingpad { ptr, i32 }
          cleanup
  br label %590

588:                                              ; preds = %276
  %589 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #8
  br label %590

590:                                              ; preds = %588, %586
  %.pn222 = phi { ptr, i32 } [ %589, %588 ], [ %587, %586 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  br label %591

591:                                              ; preds = %590, %584
  %.pn222.pn = phi { ptr, i32 } [ %.pn222, %590 ], [ %585, %584 ]
  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 %828

592:                                              ; preds = %277
  %593 = landingpad { ptr, i32 }
          cleanup
  br label %596

594:                                              ; preds = %278
  %595 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #8
  br label %596

596:                                              ; preds = %594, %592
  %.pn225 = phi { ptr, i32 } [ %595, %594 ], [ %593, %592 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %94) #8
  br label %827

597:                                              ; preds = %279
  %598 = landingpad { ptr, i32 }
          cleanup
  br label %610

599:                                              ; preds = %280
  %600 = landingpad { ptr, i32 }
          cleanup
  br label %609

601:                                              ; preds = %281
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %608

603:                                              ; preds = %282
  %604 = landingpad { ptr, i32 }
          cleanup
  br label %607

605:                                              ; preds = %283
  %606 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #8
  br label %607

607:                                              ; preds = %605, %603
  %.pn227 = phi { ptr, i32 } [ %606, %605 ], [ %604, %603 ]
  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 %608

608:                                              ; preds = %607, %601
  %.pn227.pn = phi { ptr, i32 } [ %.pn227, %607 ], [ %602, %601 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #8
  br label %609

609:                                              ; preds = %608, %599
  %.pn227.pn.pn = phi { ptr, i32 } [ %.pn227.pn, %608 ], [ %600, %599 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #8
  br label %610

610:                                              ; preds = %609, %597
  %.pn227.pn.pn.pn = phi { ptr, i32 } [ %.pn227.pn.pn, %609 ], [ %598, %597 ]
  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 %826

611:                                              ; preds = %284
  %612 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit332

613:                                              ; preds = %285
  %614 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit332.loopexit

615:                                              ; preds = %286
  %616 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit333

617:                                              ; preds = %287
  %618 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit333.loopexit

619:                                              ; preds = %288
  %620 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #8
  br label %.loopexit333.loopexit

.loopexit333.loopexit:                            ; preds = %619, %617
  %.pn232 = phi { ptr, i32 } [ %620, %619 ], [ %618, %617 ]
  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 %.loopexit333

.loopexit333:                                     ; preds = %.loopexit333.loopexit, %615
  %.pn232.pn = phi { ptr, i32 } [ %616, %615 ], [ %.pn232, %.loopexit333.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 %.loopexit332.loopexit

.loopexit332.loopexit:                            ; preds = %.loopexit333, %613
  %.pn232.pn.pn = phi { ptr, i32 } [ %.pn232.pn, %.loopexit333 ], [ %614, %613 ]
  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 %.loopexit332

.loopexit332:                                     ; preds = %.loopexit332.loopexit, %611
  %.pn232.pn.pn.pn = phi { ptr, i32 } [ %612, %611 ], [ %.pn232.pn.pn, %.loopexit332.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 %825

621:                                              ; preds = %289
  %622 = landingpad { ptr, i32 }
          cleanup
  br label %631

623:                                              ; preds = %290
  %624 = landingpad { ptr, i32 }
          cleanup
  br label %630

625:                                              ; preds = %291
  %626 = landingpad { ptr, i32 }
          cleanup
  br label %629

627:                                              ; preds = %292
  %628 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #8
  br label %629

629:                                              ; preds = %627, %625
  %.pn237 = phi { ptr, i32 } [ %628, %627 ], [ %626, %625 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #8
  br label %630

630:                                              ; preds = %629, %623
  %.pn237.pn = phi { ptr, i32 } [ %.pn237, %629 ], [ %624, %623 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #8
  br label %631

631:                                              ; preds = %630, %621
  %.pn237.pn.pn = phi { ptr, i32 } [ %.pn237.pn, %630 ], [ %622, %621 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %108) #8
  br label %824

632:                                              ; preds = %293
  %633 = landingpad { ptr, i32 }
          cleanup
  br label %642

634:                                              ; preds = %294
  %635 = landingpad { ptr, i32 }
          cleanup
  br label %641

636:                                              ; preds = %295
  %637 = landingpad { ptr, i32 }
          cleanup
  br label %640

638:                                              ; preds = %296
  %639 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %113) #8
  br label %640

640:                                              ; preds = %638, %636
  %.pn241 = phi { ptr, i32 } [ %639, %638 ], [ %637, %636 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #8
  br label %641

641:                                              ; preds = %640, %634
  %.pn241.pn = phi { ptr, i32 } [ %.pn241, %640 ], [ %635, %634 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %113) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #8
  br label %642

642:                                              ; preds = %641, %632
  %.pn241.pn.pn = phi { ptr, i32 } [ %.pn241.pn, %641 ], [ %633, %632 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %112) #8
  br label %823

643:                                              ; preds = %297
  %644 = landingpad { ptr, i32 }
          cleanup
  br label %653

645:                                              ; preds = %298
  %646 = landingpad { ptr, i32 }
          cleanup
  br label %652

647:                                              ; preds = %299
  %648 = landingpad { ptr, i32 }
          cleanup
  br label %651

649:                                              ; preds = %300
  %650 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %117) #8
  br label %651

651:                                              ; preds = %649, %647
  %.pn245 = phi { ptr, i32 } [ %650, %649 ], [ %648, %647 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %118) #8
  br label %652

652:                                              ; preds = %651, %645
  %.pn245.pn = phi { ptr, i32 } [ %.pn245, %651 ], [ %646, %645 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %118) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %117) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %116) #8
  br label %653

653:                                              ; preds = %652, %643
  %.pn245.pn.pn = phi { ptr, i32 } [ %.pn245.pn, %652 ], [ %644, %643 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %116) #8
  br label %822

654:                                              ; preds = %301
  %655 = landingpad { ptr, i32 }
          cleanup
  br label %664

656:                                              ; preds = %302
  %657 = landingpad { ptr, i32 }
          cleanup
  br label %663

658:                                              ; preds = %303
  %659 = landingpad { ptr, i32 }
          cleanup
  br label %662

660:                                              ; preds = %304
  %661 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #8
  br label %662

662:                                              ; preds = %660, %658
  %.pn249 = phi { ptr, i32 } [ %661, %660 ], [ %659, %658 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %122) #8
  br label %663

663:                                              ; preds = %662, %656
  %.pn249.pn = phi { ptr, i32 } [ %.pn249, %662 ], [ %657, %656 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %122) #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
  br label %664

664:                                              ; preds = %663, %654
  %.pn249.pn.pn = phi { ptr, i32 } [ %.pn249.pn, %663 ], [ %655, %654 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %120) #8
  br label %821

665:                                              ; preds = %305
  %666 = landingpad { ptr, i32 }
          cleanup
  br label %669

667:                                              ; preds = %306
  %668 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #8
  br label %669

669:                                              ; preds = %667, %665
  %.pn253 = phi { ptr, i32 } [ %668, %667 ], [ %666, %665 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %125) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #8
  br label %820

670:                                              ; preds = %307
  %671 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %127) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %127) #8
  br label %819

672:                                              ; preds = %308
  %673 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %129) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %129) #8
  br label %818

674:                                              ; preds = %309
  %675 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__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
  br label %817

676:                                              ; preds = %310
  %677 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %133) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %133) #8
  br label %816

678:                                              ; preds = %311
  %679 = landingpad { ptr, i32 }
          cleanup
  br label %682

680:                                              ; preds = %314, %313, %312
  %681 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #8
  br label %682

682:                                              ; preds = %680, %678
  %.pn255 = phi { ptr, i32 } [ %681, %680 ], [ %679, %678 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %135) #8
  br label %815

683:                                              ; preds = %321, %319, %317, %315
  %684 = landingpad { ptr, i32 }
          cleanup
  br label %814

685:                                              ; preds = %316
  %686 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #8
  br label %814

687:                                              ; preds = %318
  %688 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #8
  br label %814

689:                                              ; preds = %320
  %690 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #8
  br label %814

691:                                              ; preds = %322
  %692 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #8
  br label %814

693:                                              ; preds = %323
  %694 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %143) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %143) #8
  br label %813

695:                                              ; preds = %324
  %696 = landingpad { ptr, i32 }
          cleanup
  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 nonnull %145) #8
  br label %812

697:                                              ; preds = %325
  %698 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %147) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %147) #8
  br label %811

699:                                              ; preds = %326
  %700 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %149) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %149) #8
  br label %810

701:                                              ; preds = %327
  %702 = landingpad { ptr, i32 }
          cleanup
  br label %809

703:                                              ; preds = %328
  %704 = landingpad { ptr, i32 }
          cleanup
  br label %808

705:                                              ; preds = %329
  %706 = landingpad { ptr, i32 }
          cleanup
  br label %807

707:                                              ; preds = %330
  %708 = landingpad { ptr, i32 }
          cleanup
  br label %806

709:                                              ; preds = %331
  %710 = landingpad { ptr, i32 }
          cleanup
  br label %805

711:                                              ; preds = %332
  %712 = 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 %804

713:                                              ; preds = %333
  %714 = 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 %803

715:                                              ; preds = %344, %342, %340, %338, %336
  %.0165 = phi ptr [ %345, %344 ], [ %343, %342 ], [ %341, %340 ], [ %339, %338 ], [ %337, %336 ]
  %716 = landingpad { ptr, i32 }
          cleanup
  br label %717

717:                                              ; preds = %715, %717
  %718 = phi ptr [ %.0165, %715 ], [ %719, %717 ]
  %719 = getelementptr inbounds i8, ptr %718, i64 -24
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %719) #8
  %720 = icmp eq ptr %719, %162
  br i1 %720, label %.loopexit330, label %717

721:                                              ; preds = %346
  %722 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit330.loopexit

723:                                              ; preds = %347
  %724 = landingpad { ptr, i32 }
          cleanup
  br label %733

725:                                              ; preds = %355
  %726 = landingpad { ptr, i32 }
          cleanup
  br label %732

727:                                              ; preds = %356
  %728 = landingpad { ptr, i32 }
          cleanup
  br label %731

729:                                              ; preds = %357
  %730 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %160) #8
  br label %731

731:                                              ; preds = %729, %727
  %.pn257 = phi { ptr, i32 } [ %730, %729 ], [ %728, %727 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #8
  br label %732

732:                                              ; preds = %731, %725
  %.pn257.pn = phi { ptr, i32 } [ %.pn257, %731 ], [ %726, %725 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %168) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %164) #8
  br label %733

733:                                              ; preds = %732, %723
  %.pn257.pn.pn = phi { ptr, i32 } [ %.pn257.pn, %732 ], [ %724, %723 ]
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %166) #8
  %734 = getelementptr inbounds i8, ptr %165, i64 112
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %734) #8
  %735 = getelementptr inbounds i8, ptr %165, i64 96
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %735) #8
  %736 = getelementptr inbounds i8, ptr %165, i64 80
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %736) #8
  %737 = getelementptr inbounds i8, ptr %165, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %737) #8
  %738 = getelementptr inbounds i8, ptr %165, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %738) #8
  %739 = getelementptr inbounds i8, ptr %165, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %739) #8
  %740 = getelementptr inbounds i8, ptr %165, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %740) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %165) #8
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %165) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %164) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %161) #8
  br label %.loopexit330.loopexit

.loopexit330.loopexit:                            ; preds = %733, %721
  %.pn257.pn.pn.pn = phi { ptr, i32 } [ %.pn257.pn.pn, %733 ], [ %722, %721 ]
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %163) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %163) #8
  %741 = getelementptr inbounds i8, ptr %162, i64 120
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %741) #8
  %742 = getelementptr inbounds i8, ptr %162, i64 96
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %742) #8
  %743 = getelementptr inbounds i8, ptr %162, i64 72
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %743) #8
  %744 = getelementptr inbounds i8, ptr %162, i64 48
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %744) #8
  %745 = getelementptr inbounds i8, ptr %162, i64 24
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %745) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %162) #8
  br label %.loopexit330

.loopexit330:                                     ; preds = %717, %.loopexit330.loopexit, %.thread
  %.pn257.pn.pn.pn.pn = phi { ptr, i32 } [ %335, %.thread ], [ %.pn257.pn.pn.pn, %.loopexit330.loopexit ], [ %716, %717 ]
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %162) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %161) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %160) #8
  br label %802

746:                                              ; preds = %358
  %747 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %170) #8
  br label %801

748:                                              ; preds = %375
  %749 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit

750:                                              ; preds = %376
  %751 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.loopexit

752:                                              ; preds = %377
  %753 = landingpad { ptr, i32 }
          cleanup
  br label %762

754:                                              ; preds = %382
  %755 = landingpad { ptr, i32 }
          cleanup
  br label %761

756:                                              ; preds = %383
  %757 = landingpad { ptr, i32 }
          cleanup
  br label %760

758:                                              ; preds = %384
  %759 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph8FunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(176) %173) #8
  br label %760

760:                                              ; preds = %758, %756
  %.pn263 = phi { ptr, i32 } [ %759, %758 ], [ %757, %756 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #8
  br label %761

761:                                              ; preds = %760, %754
  %.pn263.pn = phi { ptr, i32 } [ %.pn263, %760 ], [ %755, %754 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %181) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %181) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %180) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %177) #8
  br label %762

762:                                              ; preds = %761, %752
  %.pn263.pn.pn = phi { ptr, i32 } [ %.pn263.pn, %761 ], [ %753, %752 ]
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph2op2v09ParameterEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %179) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %179) #8
  %763 = getelementptr inbounds i8, ptr %178, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %763) #8
  %764 = getelementptr inbounds i8, ptr %178, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %764) #8
  %765 = getelementptr inbounds i8, ptr %178, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %765) #8
  %766 = getelementptr inbounds i8, ptr %178, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %766) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09ParameterELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #8
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %178) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %177) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %174) #8
  br label %.loopexit.loopexit

.loopexit.loopexit:                               ; preds = %762, %750
  %.pn263.pn.pn.pn = phi { ptr, i32 } [ %.pn263.pn.pn, %762 ], [ %751, %750 ]
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %175) #8
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit, %748
  %.pn263.pn.pn.pn.pn = phi { ptr, i32 } [ %749, %748 ], [ %.pn263.pn.pn.pn, %.loopexit.loopexit ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %175) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %174) #8
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %173) #8
  br label %800

767:                                              ; preds = %385
  %768 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %183) #8
  br label %799

769:                                              ; preds = %394
  %770 = landingpad { ptr, i32 }
          cleanup
  br label %798

771:                                              ; preds = %448, %430, %422, %421
  %772 = landingpad { ptr, i32 }
          cleanup
  br label %798

773:                                              ; preds = %438
  %774 = landingpad { ptr, i32 }
          cleanup
  br label %787

775:                                              ; preds = %440
  %776 = landingpad { ptr, i32 }
          cleanup
  br label %779

777:                                              ; preds = %441
  %778 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %187) #8
  br label %779

779:                                              ; preds = %777, %775
  %.pn269 = phi { ptr, i32 } [ %778, %777 ], [ %776, %775 ]
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %189) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %189) #8
  %780 = getelementptr inbounds i8, ptr %188, i64 112
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %780) #8
  %781 = getelementptr inbounds i8, ptr %188, i64 96
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %781) #8
  %782 = getelementptr inbounds i8, ptr %188, i64 80
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %782) #8
  %783 = getelementptr inbounds i8, ptr %188, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %783) #8
  %784 = getelementptr inbounds i8, ptr %188, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %784) #8
  %785 = getelementptr inbounds i8, ptr %188, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %785) #8
  %786 = getelementptr inbounds i8, ptr %188, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %786) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %188) #8
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %188) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %187) #8
  call void @_ZNSt6vectorISt10shared_ptrIN6ngraph7runtime6TensorEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %184) #8
  br label %787

787:                                              ; preds = %779, %773
  %.pn269.pn = phi { ptr, i32 } [ %.pn269, %779 ], [ %774, %773 ]
  call void @_ZNSt15__new_allocatorISt10shared_ptrIN6ngraph7runtime6TensorEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %186) #8
  %788 = getelementptr inbounds i8, ptr %185, i64 80
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %788) #8
  %789 = getelementptr inbounds i8, ptr %185, i64 64
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %789) #8
  %790 = getelementptr inbounds i8, ptr %185, i64 48
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %790) #8
  %791 = getelementptr inbounds i8, ptr %185, i64 32
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %791) #8
  %792 = getelementptr inbounds i8, ptr %185, i64 16
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %792) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %185) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %185) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %184) #8
  br label %798

793:                                              ; preds = %455, %453, %451
  %794 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #8
  br label %798

795:                                              ; preds = %457, %446
  %.1167 = phi i64 [ %449, %457 ], [ %.0166334, %446 ]
  %796 = call noundef i64 @_ZN15MNistDataLoader9get_epochEv(ptr noundef nonnull align 8 dereferenceable(208) %8)
  %797 = icmp ult i64 %796, 5
  br i1 %797, label %421, label %._crit_edge, !llvm.loop !20

._crit_edge:                                      ; preds = %795, %.preheader
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %182) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %182) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %172) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %171) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %171) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %169) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %169) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__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 @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %158) #8
  call void @llvm.lifetime.end.p0(i64 56, 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) %153) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %153) #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) %151) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %151) #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 @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %148) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %148) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %146) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %144) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %144) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %142) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %142) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %132) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %130) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %130) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__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_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %126) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %126) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %123) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %123) #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_ptrIN6ngraph4NodeELN9__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 @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %111) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %111) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107) #8
  call void @llvm.lifetime.end.p0(i64 16, 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

798:                                              ; preds = %771, %787, %793, %769
  %.pn272.pn = phi { ptr, i32 } [ %770, %769 ], [ %794, %793 ], [ %772, %771 ], [ %.pn269.pn, %787 ]
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %182) #8
  br label %799

799:                                              ; preds = %798, %767
  %.pn272.pn.pn = phi { ptr, i32 } [ %.pn272.pn, %798 ], [ %768, %767 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %182) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #8
  br label %800

800:                                              ; preds = %799, %.loopexit
  %.pn272.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn, %799 ], [ %.pn263.pn.pn.pn.pn, %.loopexit ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %172) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %171) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %171) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime10ExecutableELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %169) #8
  br label %801

801:                                              ; preds = %800, %746
  %.pn272.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn, %800 ], [ %747, %746 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %169) #8
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %159) #8
  br label %802

802:                                              ; preds = %801, %.loopexit330
  %.pn272.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn, %801 ], [ %.pn257.pn.pn.pn.pn, %.loopexit330 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %159) #8
  call void @_ZNSt13unordered_mapIPN6ngraph4NodeESt10shared_ptrIS1_ESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %158) #8
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %158) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %156) #8
  br label %803

803:                                              ; preds = %802, %713
  %.pn272.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn, %802 ], [ %714, %713 ]
  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 %804

804:                                              ; preds = %803, %711
  %.pn272.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn, %803 ], [ %712, %711 ]
  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) %153) #8
  br label %805

805:                                              ; preds = %804, %709
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn, %804 ], [ %710, %709 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %153) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #8
  br label %806

806:                                              ; preds = %805, %707
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn, %805 ], [ %708, %707 ]
  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) %151) #8
  br label %807

807:                                              ; preds = %806, %705
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn, %806 ], [ %706, %705 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %151) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %150) #8
  br label %808

808:                                              ; preds = %807, %703
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %807 ], [ %704, %703 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %150) #8
  br label %809

809:                                              ; preds = %808, %701
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %808 ], [ %702, %701 ]
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %148) #8
  br label %810

810:                                              ; preds = %809, %699
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %809 ], [ %700, %699 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %148) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #8
  br label %811

811:                                              ; preds = %810, %697
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %810 ], [ %698, %697 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %146) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %144) #8
  br label %812

812:                                              ; preds = %811, %695
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %811 ], [ %696, %695 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %144) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %142) #8
  br label %813

813:                                              ; preds = %812, %693
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %812 ], [ %694, %693 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %142) #8
  br label %814

814:                                              ; preds = %813, %691, %689, %687, %685, %683
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %813 ], [ %692, %691 ], [ %684, %683 ], [ %690, %689 ], [ %688, %687 ], [ %686, %685 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #8
  br label %815

815:                                              ; preds = %814, %682
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %814 ], [ %.pn255, %682 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #8
  br label %816

816:                                              ; preds = %815, %676
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %815 ], [ %677, %676 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %132) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %130) #8
  br label %817

817:                                              ; preds = %816, %674
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %816 ], [ %675, %674 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %130) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #8
  br label %818

818:                                              ; preds = %817, %672
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %817 ], [ %673, %672 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %128) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime6TensorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %126) #8
  br label %819

819:                                              ; preds = %818, %670
  %.pn272.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %818 ], [ %671, %670 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %126) #8
  call void @_ZNSt12__shared_ptrIN6ngraph7runtime7BackendELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %123) #8
  br label %820

820:                                              ; preds = %819, %669
  %.pn272.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %819 ], [ %.pn253, %669 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %123) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %119) #8
  br label %821

821:                                              ; preds = %820, %664
  %.pn272.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %820 ], [ %.pn249.pn.pn, %664 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %119) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %115) #8
  br label %822

822:                                              ; preds = %821, %653
  %.pn272.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %821 ], [ %.pn245.pn.pn, %653 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %115) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %111) #8
  br label %823

823:                                              ; preds = %822, %642
  %.pn272.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %822 ], [ %.pn241.pn.pn, %642 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %111) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107) #8
  br label %824

824:                                              ; preds = %823, %631
  %.pn272.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %823 ], [ %.pn237.pn.pn, %631 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %107) #8
  call void @_ZN6ngraph8autodiff8AdjointsD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #8
  br label %825

825:                                              ; preds = %824, %.loopexit332
  %.pn272.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %824 ], [ %.pn232.pn.pn.pn, %.loopexit332 ]
  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 %826

826:                                              ; preds = %825, %610
  %.pn272.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %825 ], [ %.pn227.pn.pn.pn, %610 ]
  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 %827

827:                                              ; preds = %826, %596
  %.pn272.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %826 ], [ %.pn225, %596 ]
  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 %828

828:                                              ; preds = %827, %591
  %.pn272.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %827 ], [ %.pn222.pn, %591 ]
  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 %829

829:                                              ; preds = %828, %583
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %828 ], [ %.pn220, %583 ]
  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 %830

830:                                              ; preds = %829, %577
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %829 ], [ %578, %577 ]
  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 %831

831:                                              ; preds = %830, %575
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %830 ], [ %576, %575 ]
  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 %832

832:                                              ; preds = %831, %573
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %831 ], [ %574, %573 ]
  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 %833

833:                                              ; preds = %832, %572
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %832 ], [ %.pn217.pn, %572 ]
  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 %834

834:                                              ; preds = %833, %564
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %833 ], [ %.pn214.pn, %564 ]
  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 %835

835:                                              ; preds = %834, %556
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %834 ], [ %.pn212, %556 ]
  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 %836

836:                                              ; preds = %835, %551
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %835 ], [ %.pn210, %551 ]
  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 %837

837:                                              ; preds = %836, %546
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %836 ], [ %.pn208, %546 ]
  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 %838

838:                                              ; preds = %837, %541
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %837 ], [ %.pn205.pn, %541 ]
  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 %839

839:                                              ; preds = %838, %533
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %838 ], [ %.pn202.pn, %533 ]
  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 %840

840:                                              ; preds = %839, %524
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %839 ], [ %525, %524 ]
  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 %841

841:                                              ; preds = %840, %523
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %840 ], [ %.pn200, %523 ]
  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 %842

842:                                              ; preds = %841, %518
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %841 ], [ %.pn198, %518 ]
  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 %843

843:                                              ; preds = %842, %513
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %842 ], [ %.pn194.pn.pn, %513 ]
  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 %844

844:                                              ; preds = %843, %502
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %843 ], [ %.pn191.pn, %502 ]
  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 %845

845:                                              ; preds = %844, %493
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %844 ], [ %494, %493 ]
  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 %846

846:                                              ; preds = %845, %492
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %845 ], [ %.pn189, %492 ]
  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 %847

847:                                              ; preds = %846, %487
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %846 ], [ %.pn187, %487 ]
  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 %848

848:                                              ; preds = %847, %482
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %847 ], [ %.pn185, %482 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #8
  br label %849

849:                                              ; preds = %476, %848, %474
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %475, %474 ], [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %848 ], [ %477, %476 ]
  call void @_ZN15MNistDataLoaderD1Ev(ptr noundef nonnull align 8 dereferenceable(208) %8) #8
  br label %850

850:                                              ; preds = %849, %473
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %849 ], [ %.pn182.pn, %473 ]
  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 %851

851:                                              ; preds = %850, %465
  %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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 } [ %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %850 ], [ %.pn.pn, %465 ]
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %3) #8
  resume { ptr, i32 } %.pn272.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.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

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.234") 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: 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