; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op (softmax_crossentropy)

; 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.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.102" = type { %"class.std::__shared_ptr.103" }
%"class.std::__shared_ptr.103" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.117" = type { %"class.std::__shared_ptr.118" }
%"class.std::__shared_ptr.118" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.120" = type { %"class.std::__shared_ptr.121" }
%"class.std::__shared_ptr.121" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.108" = type { %"class.std::__shared_ptr.109" }
%"class.std::__shared_ptr.109" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = 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.ngraph::AxisVector" = type { %"class.std::vector.77" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = 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.92" = type { ptr, i64 }
%"class.ngraph::Shape" = type { %"class.std::vector.77" }
%"class.std::shared_ptr.93" = type { %"class.std::__shared_ptr.94" }
%"class.std::__shared_ptr.94" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::AxisSet" = type { %"class.std::set.86" }
%"class.std::set.86" = type { %"class.std::_Rb_tree.87" }
%"class.std::_Rb_tree.87" = 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.111" = type { %"class.std::__shared_ptr.112" }
%"class.std::__shared_ptr.112" = type { ptr, %"class.std::__shared_count" }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::allocator.71" = type { i8 }
%"class.std::shared_ptr.138" = type { %"class.std::__shared_ptr.139" }
%"class.std::__shared_ptr.139" = type { ptr, %"class.std::__shared_count" }
%"class.std::initializer_list.141" = type { ptr, i64 }
%"class.std::shared_ptr.142" = type { %"class.std::__shared_ptr.143" }
%"class.std::__shared_ptr.143" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::op::v0::SoftmaxCrossEntropyBackprop" = type { %"class.ngraph::op::util::FusedOp", i8, i64 }
%"class.ngraph::op::util::FusedOp" = type { %"class.ngraph::op::Op" }
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.5", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.13", %"class.std::set", %"class.std::deque", %"class.std::deque.39", %"class.std::unordered_map", i32, %"class.std::shared_ptr", %"class.std::map" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = 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::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::unordered_set.13" = type { %"class.std::_Hashtable.14" }
%"class.std::_Hashtable.14" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@_ZN6ngraph7element3i64E = external global %"class.ngraph::element::Type", align 4

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24)) #4

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

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24)) #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #3 align 2

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

; 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.102") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(48)) #5

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

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

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: nounwind
declare void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #6

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

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

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

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

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

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

declare void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") 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_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), 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 #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v027SoftmaxCrossEntropyBackprop12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.69") align 8 %0, ptr noundef nonnull align 8 dereferenceable(696) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"class.ngraph::Output", align 8
  %6 = alloca %"class.ngraph::Output", align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca %"class.ngraph::Output", align 8
  %10 = alloca i64, align 8
  %11 = alloca i64, align 8
  %12 = alloca %"class.std::shared_ptr.117", align 8
  %13 = alloca %"class.ngraph::AxisVector", align 8
  %14 = alloca %"class.std::initializer_list.92", align 8
  %15 = alloca [2 x i64], align 8
  %16 = alloca %"class.ngraph::Shape", align 8
  %17 = alloca %"class.std::initializer_list.92", align 8
  %18 = alloca [1 x i64], align 8
  %19 = alloca %"class.ngraph::Output", align 8
  %20 = alloca %"class.std::shared_ptr.93", align 8
  %21 = alloca %"class.ngraph::AxisSet", align 8
  %22 = alloca %"class.std::initializer_list.92", align 8
  %23 = alloca [1 x i64], align 8
  %24 = alloca %"class.std::shared_ptr.111", align 8
  %25 = alloca %"class.std::shared_ptr.102", align 8
  %26 = alloca %"class.ngraph::AxisSet", align 8
  %27 = alloca %"class.std::initializer_list.92", align 8
  %28 = alloca [1 x i64], align 8
  %29 = alloca %"class.std::shared_ptr.93", align 8
  %30 = alloca %"class.ngraph::AxisSet", align 8
  %31 = alloca %"class.std::initializer_list.92", align 8
  %32 = alloca [1 x i64], align 8
  %33 = alloca %"class.std::shared_ptr.74", align 8
  %34 = alloca %"class.ngraph::Output", align 8
  %35 = alloca %"class.std::initializer_list", align 8
  %36 = alloca [1 x %"class.ngraph::Output"], align 8
  %37 = alloca ptr, align 8
  %38 = alloca %"class.std::shared_ptr.74", align 8
  %39 = alloca %"class.ngraph::Output", align 8
  %40 = alloca %"class.ngraph::Output", align 8
  %41 = alloca i1, align 1
  %42 = alloca %"class.std::allocator.71", align 1
  %43 = alloca i32, align 4
  %44 = alloca %"class.std::shared_ptr.138", align 8
  %45 = alloca %"class.ngraph::Shape", align 8
  %46 = alloca %"class.std::initializer_list.141", align 8
  %47 = alloca [1 x i64], align 8
  %48 = alloca %"class.std::shared_ptr.142", align 8
  %49 = alloca %"class.std::shared_ptr.108", align 8
  %50 = alloca %"class.std::shared_ptr.117", align 8
  %51 = alloca %"class.ngraph::AxisVector", align 8
  %52 = alloca %"class.std::initializer_list.92", align 8
  %53 = alloca [2 x i64], align 8
  %54 = alloca %"class.ngraph::Shape", align 8
  %55 = alloca %"class.std::initializer_list.92", align 8
  %56 = alloca [1 x i64], align 8
  %57 = alloca %"class.std::shared_ptr.93", align 8
  %58 = alloca %"class.ngraph::AxisSet", align 8
  %59 = alloca %"class.std::initializer_list.92", align 8
  %60 = alloca [1 x i64], align 8
  %61 = alloca %"class.std::shared_ptr.117", align 8
  %62 = alloca %"class.ngraph::AxisVector", align 8
  %63 = alloca %"class.std::initializer_list.92", align 8
  %64 = alloca [2 x i64], align 8
  %65 = alloca %"class.ngraph::Shape", align 8
  %66 = alloca %"class.std::initializer_list.92", align 8
  %67 = alloca [1 x i64], align 8
  %68 = alloca %"class.std::shared_ptr.120", align 8
  %69 = alloca %"class.std::shared_ptr.108", align 8
  %70 = alloca %"class.std::shared_ptr.117", align 8
  %71 = alloca %"class.ngraph::AxisVector", align 8
  %72 = alloca %"class.std::initializer_list.92", align 8
  %73 = alloca [2 x i64], align 8
  %74 = alloca %"class.ngraph::Shape", align 8
  %75 = alloca %"class.std::initializer_list.92", align 8
  %76 = alloca [1 x i64], align 8
  %77 = alloca %"class.ngraph::Output", align 8
  %78 = alloca %"class.std::shared_ptr.93", align 8
  %79 = alloca %"class.ngraph::AxisSet", align 8
  %80 = alloca %"class.std::initializer_list.92", align 8
  %81 = alloca [1 x i64], align 8
  %82 = alloca %"class.std::shared_ptr.111", align 8
  %83 = alloca %"class.std::shared_ptr.111", align 8
  %84 = alloca %"class.std::shared_ptr.102", align 8
  %85 = alloca %"class.ngraph::AxisSet", align 8
  %86 = alloca %"class.std::initializer_list.92", align 8
  %87 = alloca [1 x i64], align 8
  %88 = alloca %"class.std::shared_ptr.93", align 8
  %89 = alloca %"class.ngraph::AxisSet", align 8
  %90 = alloca %"class.std::initializer_list.92", align 8
  %91 = alloca [1 x i64], align 8
  %92 = alloca %"class.std::shared_ptr.74", align 8
  %93 = alloca %"class.ngraph::Output", align 8
  %94 = alloca %"class.std::initializer_list", align 8
  %95 = alloca [1 x %"class.ngraph::Output"], align 8
  %96 = alloca ptr, align 8
  %97 = alloca %"class.std::shared_ptr.74", align 8
  %98 = alloca %"class.ngraph::Output", align 8
  %99 = alloca %"class.ngraph::Output", align 8
  %100 = alloca i1, align 1
  %101 = alloca %"class.std::allocator.71", align 1
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  %102 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %5) #7
  call void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %5, ptr noundef nonnull align 8 dereferenceable(680) %102, i64 noundef 0)
  call void @llvm.lifetime.start.p0(i64 24, ptr %6) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %6, ptr noundef nonnull align 8 dereferenceable(680) %102, i64 noundef 1)
          to label %103 unwind label %145

103:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %9, ptr noundef nonnull align 8 dereferenceable(680) %102, i64 noundef 2)
          to label %104 unwind label %149

104:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #7
  %105 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %106 unwind label %153

106:                                              ; preds = %104
  %107 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %105) #7
  %108 = sub i64 %107, 1
  store i64 %108, ptr %10, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  %109 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %110 unwind label %157

110:                                              ; preds = %106
  %111 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %109) #7
  %112 = sub i64 %111, 1
  store i64 %112, ptr %11, align 8, !tbaa !9
  %113 = getelementptr inbounds %"class.ngraph::op::v0::SoftmaxCrossEntropyBackprop", ptr %102, i32 0, i32 1
  %114 = load i8, ptr %113, align 8, !tbaa !11, !range !67, !noundef !68
  %115 = trunc i8 %114 to i1
  br i1 %115, label %116, label %308

116:                                              ; preds = %110
  %117 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %118 unwind label %157

118:                                              ; preds = %116
  %119 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %120 unwind label %157

120:                                              ; preds = %118
  %121 = invoke noundef zeroext i1 @_ZStneImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %117, ptr noundef nonnull align 8 dereferenceable(24) %119)
          to label %122 unwind label %157

122:                                              ; preds = %120
  br i1 %121, label %123, label %195

123:                                              ; preds = %122
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #7
  store i64 0, ptr %15, align 8, !tbaa !9
  %124 = getelementptr inbounds i64, ptr %15, i64 1
  store i64 1, ptr %124, align 8, !tbaa !9
  %125 = getelementptr inbounds %"class.std::initializer_list.92", ptr %14, i32 0, i32 0
  store ptr %15, ptr %125, align 8, !tbaa !69
  %126 = getelementptr inbounds %"class.std::initializer_list.92", ptr %14, i32 0, i32 1
  store i64 2, ptr %126, align 8, !tbaa !71
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %127 unwind label %161

127:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #7
  %128 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %129 unwind label %165

129:                                              ; preds = %127
  %130 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %128, i64 noundef 0)
          to label %131 unwind label %165

131:                                              ; preds = %129
  %132 = load i64, ptr %130, align 8, !tbaa !9
  store i64 %132, ptr %18, align 8, !tbaa !9
  %133 = getelementptr inbounds %"class.std::initializer_list.92", ptr %17, i32 0, i32 0
  store ptr %18, ptr %133, align 8, !tbaa !69
  %134 = getelementptr inbounds %"class.std::initializer_list.92", ptr %17, i32 0, i32 1
  store i64 1, ptr %134, align 8, !tbaa !71
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %135 unwind label %165

135:                                              ; preds = %131
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.117") align 8 %12, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %136 unwind label %169

136:                                              ; preds = %135
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %19) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #7
  %137 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %138 unwind label %175

138:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 48, ptr %21) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  store i64 1, ptr %23, align 8, !tbaa !9
  %139 = getelementptr inbounds %"class.std::initializer_list.92", ptr %22, i32 0, i32 0
  store ptr %23, ptr %139, align 8, !tbaa !69
  %140 = getelementptr inbounds %"class.std::initializer_list.92", ptr %22, i32 0, i32 1
  store i64 1, ptr %140, align 8, !tbaa !71
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %141 unwind label %179

141:                                              ; preds = %138
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.93") align 8 %20, ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(24) %137, ptr noundef nonnull align 8 dereferenceable(48) %21)
          to label %142 unwind label %183

142:                                              ; preds = %141
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %143 unwind label %187

143:                                              ; preds = %142
  %144 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %19) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #7
  br label %195

145:                                              ; preds = %2
  %146 = landingpad { ptr, i32 }
          cleanup
  %147 = extractvalue { ptr, i32 } %146, 0
  store ptr %147, ptr %7, align 8
  %148 = extractvalue { ptr, i32 } %146, 1
  store i32 %148, ptr %8, align 4
  br label %629

149:                                              ; preds = %103
  %150 = landingpad { ptr, i32 }
          cleanup
  %151 = extractvalue { ptr, i32 } %150, 0
  store ptr %151, ptr %7, align 8
  %152 = extractvalue { ptr, i32 } %150, 1
  store i32 %152, ptr %8, align 4
  br label %628

153:                                              ; preds = %104
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %7, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %8, align 4
  br label %627

157:                                              ; preds = %120, %118, %116, %106
  %158 = landingpad { ptr, i32 }
          cleanup
  %159 = extractvalue { ptr, i32 } %158, 0
  store ptr %159, ptr %7, align 8
  %160 = extractvalue { ptr, i32 } %158, 1
  store i32 %160, ptr %8, align 4
  br label %626

161:                                              ; preds = %123
  %162 = landingpad { ptr, i32 }
          cleanup
  %163 = extractvalue { ptr, i32 } %162, 0
  store ptr %163, ptr %7, align 8
  %164 = extractvalue { ptr, i32 } %162, 1
  store i32 %164, ptr %8, align 4
  br label %174

165:                                              ; preds = %131, %129, %127
  %166 = landingpad { ptr, i32 }
          cleanup
  %167 = extractvalue { ptr, i32 } %166, 0
  store ptr %167, ptr %7, align 8
  %168 = extractvalue { ptr, i32 } %166, 1
  store i32 %168, ptr %8, align 4
  br label %173

169:                                              ; preds = %135
  %170 = landingpad { ptr, i32 }
          cleanup
  %171 = extractvalue { ptr, i32 } %170, 0
  store ptr %171, ptr %7, align 8
  %172 = extractvalue { ptr, i32 } %170, 1
  store i32 %172, ptr %8, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  br label %173

173:                                              ; preds = %169, %165
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  br label %174

174:                                              ; preds = %173, %161
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  br label %194

175:                                              ; preds = %136
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %7, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %8, align 4
  br label %193

179:                                              ; preds = %138
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %7, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %8, align 4
  br label %192

183:                                              ; preds = %141
  %184 = landingpad { ptr, i32 }
          cleanup
  %185 = extractvalue { ptr, i32 } %184, 0
  store ptr %185, ptr %7, align 8
  %186 = extractvalue { ptr, i32 } %184, 1
  store i32 %186, ptr %8, align 4
  br label %191

187:                                              ; preds = %142
  %188 = landingpad { ptr, i32 }
          cleanup
  %189 = extractvalue { ptr, i32 } %188, 0
  store ptr %189, ptr %7, align 8
  %190 = extractvalue { ptr, i32 } %188, 1
  store i32 %190, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br label %191

191:                                              ; preds = %187, %183
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  br label %192

192:                                              ; preds = %191, %179
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %21) #7
  br label %193

193:                                              ; preds = %192, %175
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  br label %194

194:                                              ; preds = %193, %174
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #7
  br label %626

195:                                              ; preds = %143, %122
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRNS0_6OutputINS0_4NodeEEES7_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.111") align 8 %24, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %196 unwind label %228

196:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %26) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  %197 = load i64, ptr %11, align 8, !tbaa !9
  store i64 %197, ptr %28, align 8, !tbaa !9
  %198 = getelementptr inbounds %"class.std::initializer_list.92", ptr %27, i32 0, i32 0
  store ptr %28, ptr %198, align 8, !tbaa !69
  %199 = getelementptr inbounds %"class.std::initializer_list.92", ptr %27, i32 0, i32 1
  store i64 1, ptr %199, align 8, !tbaa !71
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %26, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %200 unwind label %232

200:                                              ; preds = %196
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS1_2v18MultiplyEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.102") align 8 %25, ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 8 dereferenceable(48) %26)
          to label %201 unwind label %236

201:                                              ; preds = %200
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %26) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #7
  %202 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %203 unwind label %241

203:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 48, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  store i64 1, ptr %32, align 8, !tbaa !9
  %204 = getelementptr inbounds %"class.std::initializer_list.92", ptr %31, i32 0, i32 0
  store ptr %32, ptr %204, align 8, !tbaa !69
  %205 = getelementptr inbounds %"class.std::initializer_list.92", ptr %31, i32 0, i32 1
  store i64 1, ptr %205, align 8, !tbaa !71
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %30, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %206 unwind label %245

206:                                              ; preds = %203
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3SumEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.93") align 8 %29, ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull align 8 dereferenceable(24) %202, ptr noundef nonnull align 8 dereferenceable(48) %30)
          to label %207 unwind label %249

207:                                              ; preds = %206
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %208 unwind label %254

208:                                              ; preds = %207
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %33, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %209 unwind label %258

209:                                              ; preds = %208
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #7
  store i1 true, ptr %41, align 1
  store ptr %36, ptr %37, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %210 unwind label %263

210:                                              ; preds = %209
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v18MultiplyEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %211 unwind label %267

211:                                              ; preds = %210
  invoke void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %38, ptr noundef %39, ptr noundef %40)
          to label %212 unwind label %271

212:                                              ; preds = %211
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %213 unwind label %275

213:                                              ; preds = %212
  store i1 false, ptr %41, align 1
  %214 = getelementptr inbounds %"class.std::initializer_list", ptr %35, i32 0, i32 0
  store ptr %36, ptr %214, align 8, !tbaa !72
  %215 = getelementptr inbounds %"class.std::initializer_list", ptr %35, i32 0, i32 1
  store i64 1, ptr %215, align 8, !tbaa !74
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  %216 = getelementptr inbounds { ptr, i64 }, ptr %35, i32 0, i32 0
  %217 = load ptr, ptr %216, align 8
  %218 = getelementptr inbounds { ptr, i64 }, ptr %35, i32 0, i32 1
  %219 = load i64, ptr %218, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %217, i64 %219, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %220 unwind label %279

220:                                              ; preds = %213
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #7
  %221 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %36, i32 0, i32 0
  %222 = getelementptr inbounds %"class.ngraph::Output", ptr %221, i64 1
  br label %223

223:                                              ; preds = %223, %220
  %224 = phi ptr [ %222, %220 ], [ %225, %223 ]
  %225 = getelementptr inbounds %"class.ngraph::Output", ptr %224, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %225) #7
  %226 = icmp eq ptr %225, %221
  br i1 %226, label %227, label %223

227:                                              ; preds = %223
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #7
  store i32 1, ptr %43, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  br label %625

228:                                              ; preds = %195
  %229 = landingpad { ptr, i32 }
          cleanup
  %230 = extractvalue { ptr, i32 } %229, 0
  store ptr %230, ptr %7, align 8
  %231 = extractvalue { ptr, i32 } %229, 1
  store i32 %231, ptr %8, align 4
  br label %307

232:                                              ; preds = %196
  %233 = landingpad { ptr, i32 }
          cleanup
  %234 = extractvalue { ptr, i32 } %233, 0
  store ptr %234, ptr %7, align 8
  %235 = extractvalue { ptr, i32 } %233, 1
  store i32 %235, ptr %8, align 4
  br label %240

236:                                              ; preds = %200
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %7, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #7
  br label %240

240:                                              ; preds = %236, %232
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %26) #7
  br label %306

241:                                              ; preds = %201
  %242 = landingpad { ptr, i32 }
          cleanup
  %243 = extractvalue { ptr, i32 } %242, 0
  store ptr %243, ptr %7, align 8
  %244 = extractvalue { ptr, i32 } %242, 1
  store i32 %244, ptr %8, align 4
  br label %305

245:                                              ; preds = %203
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %7, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %8, align 4
  br label %253

249:                                              ; preds = %206
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %7, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  br label %253

253:                                              ; preds = %249, %245
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %30) #7
  br label %305

254:                                              ; preds = %207
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %7, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %8, align 4
  br label %262

258:                                              ; preds = %208
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %7, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  br label %262

262:                                              ; preds = %258, %254
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #7
  br label %304

263:                                              ; preds = %209
  %264 = landingpad { ptr, i32 }
          cleanup
  %265 = extractvalue { ptr, i32 } %264, 0
  store ptr %265, ptr %7, align 8
  %266 = extractvalue { ptr, i32 } %264, 1
  store i32 %266, ptr %8, align 4
  br label %293

267:                                              ; preds = %210
  %268 = landingpad { ptr, i32 }
          cleanup
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %7, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %8, align 4
  br label %292

271:                                              ; preds = %211
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %7, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %8, align 4
  br label %291

275:                                              ; preds = %212
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %7, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %8, align 4
  br label %290

279:                                              ; preds = %213
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %7, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %8, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #7
  %283 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %36, i32 0, i32 0
  %284 = getelementptr inbounds %"class.ngraph::Output", ptr %283, i64 1
  br label %285

285:                                              ; preds = %285, %279
  %286 = phi ptr [ %284, %279 ], [ %287, %285 ]
  %287 = getelementptr inbounds %"class.ngraph::Output", ptr %286, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %287) #7
  %288 = icmp eq ptr %287, %283
  br i1 %288, label %289, label %285

289:                                              ; preds = %285
  br label %290

290:                                              ; preds = %289, %275
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #7
  br label %291

291:                                              ; preds = %290, %271
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  br label %292

292:                                              ; preds = %291, %267
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #7
  br label %293

293:                                              ; preds = %292, %263
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #7
  %294 = load i1, ptr %41, align 1
  br i1 %294, label %295, label %303

295:                                              ; preds = %293
  %296 = load ptr, ptr %37, align 8
  %297 = icmp eq ptr %36, %296
  br i1 %297, label %302, label %298

298:                                              ; preds = %298, %295
  %299 = phi ptr [ %296, %295 ], [ %300, %298 ]
  %300 = getelementptr inbounds %"class.ngraph::Output", ptr %299, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %300) #7
  %301 = icmp eq ptr %300, %36
  br i1 %301, label %302, label %298

302:                                              ; preds = %298, %295
  br label %303

303:                                              ; preds = %302, %293
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #7
  br label %304

304:                                              ; preds = %303, %262
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  br label %305

305:                                              ; preds = %304, %253, %241
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #7
  br label %306

306:                                              ; preds = %305, %240
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  br label %307

307:                                              ; preds = %306, %228
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  br label %626

308:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #7
  %309 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %310 unwind label %394

310:                                              ; preds = %308
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %309)
          to label %311 unwind label %394

311:                                              ; preds = %310
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #7
  %312 = getelementptr inbounds %"class.ngraph::op::v0::SoftmaxCrossEntropyBackprop", ptr %102, i32 0, i32 2
  %313 = load i64, ptr %312, align 8, !tbaa !75
  store i64 %313, ptr %47, align 8, !tbaa !9
  %314 = getelementptr inbounds %"class.std::initializer_list.141", ptr %46, i32 0, i32 0
  store ptr %47, ptr %314, align 8, !tbaa !76
  %315 = getelementptr inbounds %"class.std::initializer_list.141", ptr %46, i32 0, i32 1
  store i64 1, ptr %315, align 8, !tbaa !78
  %316 = getelementptr inbounds { ptr, i64 }, ptr %46, i32 0, i32 0
  %317 = load ptr, ptr %316, align 8
  %318 = getelementptr inbounds { ptr, i64 }, ptr %46, i32 0, i32 1
  %319 = load i64, ptr %318, align 8
  invoke void @_ZN6ngraph2op2v08Constant6createIlEESt10shared_ptrIS2_ERKNS_7element4TypeENS_5ShapeESt16initializer_listIT_E(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.138") align 8 %44, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3i64E, ptr noundef %45, ptr %317, i64 %319)
          to label %320 unwind label %398

320:                                              ; preds = %311
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18NotEqualEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v08ConstantEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.142") align 8 %48, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %321 unwind label %402

321:                                              ; preds = %320
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #7
  %322 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %323 unwind label %406

323:                                              ; preds = %321
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ConvertEJRSt10shared_ptrINS1_2v18NotEqualEERKNS0_7element4TypeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.108") align 8 %49, ptr noundef nonnull align 8 dereferenceable(16) %48, ptr noundef nonnull align 4 dereferenceable(4) %322)
          to label %324 unwind label %406

324:                                              ; preds = %323
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #7
  store i64 0, ptr %53, align 8, !tbaa !9
  %325 = getelementptr inbounds i64, ptr %53, i64 1
  store i64 1, ptr %325, align 8, !tbaa !9
  %326 = getelementptr inbounds %"class.std::initializer_list.92", ptr %52, i32 0, i32 0
  store ptr %53, ptr %326, align 8, !tbaa !69
  %327 = getelementptr inbounds %"class.std::initializer_list.92", ptr %52, i32 0, i32 1
  store i64 2, ptr %327, align 8, !tbaa !71
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(16) %52)
          to label %328 unwind label %410

328:                                              ; preds = %324
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #7
  %329 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %49) #7
  %330 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %329, i64 noundef 0)
          to label %331 unwind label %414

331:                                              ; preds = %328
  %332 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %330, i64 noundef 0)
          to label %333 unwind label %414

333:                                              ; preds = %331
  %334 = load i64, ptr %332, align 8, !tbaa !9
  store i64 %334, ptr %56, align 8, !tbaa !9
  %335 = getelementptr inbounds %"class.std::initializer_list.92", ptr %55, i32 0, i32 0
  store ptr %56, ptr %335, align 8, !tbaa !69
  %336 = getelementptr inbounds %"class.std::initializer_list.92", ptr %55, i32 0, i32 1
  store i64 1, ptr %336, align 8, !tbaa !71
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %337 unwind label %414

337:                                              ; preds = %333
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_7ConvertEENS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.117") align 8 %50, ptr noundef nonnull align 8 dereferenceable(16) %49, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %338 unwind label %418

338:                                              ; preds = %337
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #7
  %339 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %340 unwind label %424

340:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 48, ptr %58) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #7
  store i64 1, ptr %60, align 8, !tbaa !9
  %341 = getelementptr inbounds %"class.std::initializer_list.92", ptr %59, i32 0, i32 0
  store ptr %60, ptr %341, align 8, !tbaa !69
  %342 = getelementptr inbounds %"class.std::initializer_list.92", ptr %59, i32 0, i32 1
  store i64 1, ptr %342, align 8, !tbaa !71
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %58, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %343 unwind label %428

343:                                              ; preds = %340
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.93") align 8 %57, ptr noundef nonnull align 8 dereferenceable(16) %50, ptr noundef nonnull align 8 dereferenceable(24) %339, ptr noundef nonnull align 8 dereferenceable(48) %58)
          to label %344 unwind label %432

344:                                              ; preds = %343
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %58) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #7
  store i64 0, ptr %64, align 8, !tbaa !9
  %345 = getelementptr inbounds i64, ptr %64, i64 1
  store i64 1, ptr %345, align 8, !tbaa !9
  %346 = getelementptr inbounds %"class.std::initializer_list.92", ptr %63, i32 0, i32 0
  store ptr %64, ptr %346, align 8, !tbaa !69
  %347 = getelementptr inbounds %"class.std::initializer_list.92", ptr %63, i32 0, i32 1
  store i64 2, ptr %347, align 8, !tbaa !71
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(16) %63)
          to label %348 unwind label %437

348:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #7
  %349 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %350 unwind label %441

350:                                              ; preds = %348
  %351 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef 0)
          to label %352 unwind label %441

352:                                              ; preds = %350
  %353 = load i64, ptr %351, align 8, !tbaa !9
  store i64 %353, ptr %67, align 8, !tbaa !9
  %354 = getelementptr inbounds %"class.std::initializer_list.92", ptr %66, i32 0, i32 0
  store ptr %67, ptr %354, align 8, !tbaa !69
  %355 = getelementptr inbounds %"class.std::initializer_list.92", ptr %66, i32 0, i32 1
  store i64 1, ptr %355, align 8, !tbaa !71
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(16) %66)
          to label %356 unwind label %441

356:                                              ; preds = %352
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.117") align 8 %61, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %357 unwind label %445

357:                                              ; preds = %356
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #7
  %358 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %359 unwind label %451

359:                                              ; preds = %357
  invoke void @_ZSt11make_sharedIN6ngraph2op2v06OneHotEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeERmEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.120") align 8 %68, ptr noundef nonnull align 8 dereferenceable(16) %61, ptr noundef nonnull align 8 dereferenceable(24) %358, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %360 unwind label %451

360:                                              ; preds = %359
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #7
  %361 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %362 unwind label %455

362:                                              ; preds = %360
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ConvertEJRSt10shared_ptrINS2_6OneHotEERKNS0_7element4TypeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.108") align 8 %69, ptr noundef nonnull align 8 dereferenceable(16) %68, ptr noundef nonnull align 4 dereferenceable(4) %361)
          to label %363 unwind label %455

363:                                              ; preds = %362
  %364 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %365 unwind label %459

365:                                              ; preds = %363
  %366 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %69) #7
  %367 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %366, i64 noundef 0)
          to label %368 unwind label %459

368:                                              ; preds = %365
  %369 = invoke noundef zeroext i1 @_ZStneImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %364, ptr noundef nonnull align 8 dereferenceable(24) %367)
          to label %370 unwind label %459

370:                                              ; preds = %368
  br i1 %369, label %371, label %497

371:                                              ; preds = %370
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #7
  store i64 0, ptr %73, align 8, !tbaa !9
  %372 = getelementptr inbounds i64, ptr %73, i64 1
  store i64 1, ptr %372, align 8, !tbaa !9
  %373 = getelementptr inbounds %"class.std::initializer_list.92", ptr %72, i32 0, i32 0
  store ptr %73, ptr %373, align 8, !tbaa !69
  %374 = getelementptr inbounds %"class.std::initializer_list.92", ptr %72, i32 0, i32 1
  store i64 2, ptr %374, align 8, !tbaa !71
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %71, ptr noundef nonnull align 8 dereferenceable(16) %72)
          to label %375 unwind label %463

375:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 24, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #7
  %376 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %377 unwind label %467

377:                                              ; preds = %375
  %378 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %376, i64 noundef 0)
          to label %379 unwind label %467

379:                                              ; preds = %377
  %380 = load i64, ptr %378, align 8, !tbaa !9
  store i64 %380, ptr %76, align 8, !tbaa !9
  %381 = getelementptr inbounds %"class.std::initializer_list.92", ptr %75, i32 0, i32 0
  store ptr %76, ptr %381, align 8, !tbaa !69
  %382 = getelementptr inbounds %"class.std::initializer_list.92", ptr %75, i32 0, i32 1
  store i64 1, ptr %382, align 8, !tbaa !71
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 8 dereferenceable(16) %75)
          to label %383 unwind label %467

383:                                              ; preds = %379
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.117") align 8 %70, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %71, ptr noundef nonnull align 8 dereferenceable(24) %74)
          to label %384 unwind label %471

384:                                              ; preds = %383
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %74) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #7
  %385 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %69) #7
  %386 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %385, i64 noundef 0)
          to label %387 unwind label %477

387:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 48, ptr %79) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %80) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #7
  store i64 1, ptr %81, align 8, !tbaa !9
  %388 = getelementptr inbounds %"class.std::initializer_list.92", ptr %80, i32 0, i32 0
  store ptr %81, ptr %388, align 8, !tbaa !69
  %389 = getelementptr inbounds %"class.std::initializer_list.92", ptr %80, i32 0, i32 1
  store i64 1, ptr %389, align 8, !tbaa !71
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %79, ptr noundef nonnull align 8 dereferenceable(16) %80)
          to label %390 unwind label %481

390:                                              ; preds = %387
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.93") align 8 %78, ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef nonnull align 8 dereferenceable(24) %386, ptr noundef nonnull align 8 dereferenceable(48) %79)
          to label %391 unwind label %485

391:                                              ; preds = %390
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull align 8 dereferenceable(16) %78)
          to label %392 unwind label %489

392:                                              ; preds = %391
  %393 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %77) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #7
  br label %497

394:                                              ; preds = %310, %308
  %395 = landingpad { ptr, i32 }
          cleanup
  %396 = extractvalue { ptr, i32 } %395, 0
  store ptr %396, ptr %7, align 8
  %397 = extractvalue { ptr, i32 } %395, 1
  store i32 %397, ptr %8, align 4
  br label %624

398:                                              ; preds = %311
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %7, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  br label %624

402:                                              ; preds = %320
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %7, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %8, align 4
  br label %623

406:                                              ; preds = %323, %321
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %7, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %8, align 4
  br label %622

410:                                              ; preds = %324
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %7, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %8, align 4
  br label %423

414:                                              ; preds = %333, %331, %328
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %7, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %8, align 4
  br label %422

418:                                              ; preds = %337
  %419 = landingpad { ptr, i32 }
          cleanup
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %7, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %8, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  br label %422

422:                                              ; preds = %418, %414
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #7
  br label %423

423:                                              ; preds = %422, %410
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #7
  br label %621

424:                                              ; preds = %338
  %425 = landingpad { ptr, i32 }
          cleanup
  %426 = extractvalue { ptr, i32 } %425, 0
  store ptr %426, ptr %7, align 8
  %427 = extractvalue { ptr, i32 } %425, 1
  store i32 %427, ptr %8, align 4
  br label %620

428:                                              ; preds = %340
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %7, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %8, align 4
  br label %436

432:                                              ; preds = %343
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %7, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  br label %436

436:                                              ; preds = %432, %428
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %58) #7
  br label %620

437:                                              ; preds = %344
  %438 = landingpad { ptr, i32 }
          cleanup
  %439 = extractvalue { ptr, i32 } %438, 0
  store ptr %439, ptr %7, align 8
  %440 = extractvalue { ptr, i32 } %438, 1
  store i32 %440, ptr %8, align 4
  br label %450

441:                                              ; preds = %352, %350, %348
  %442 = landingpad { ptr, i32 }
          cleanup
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %7, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %8, align 4
  br label %449

445:                                              ; preds = %356
  %446 = landingpad { ptr, i32 }
          cleanup
  %447 = extractvalue { ptr, i32 } %446, 0
  store ptr %447, ptr %7, align 8
  %448 = extractvalue { ptr, i32 } %446, 1
  store i32 %448, ptr %8, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  br label %449

449:                                              ; preds = %445, %441
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  br label %450

450:                                              ; preds = %449, %437
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  br label %619

451:                                              ; preds = %359, %357
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %7, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %8, align 4
  br label %618

455:                                              ; preds = %362, %360
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %7, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %8, align 4
  br label %617

459:                                              ; preds = %368, %365, %363
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %7, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %8, align 4
  br label %616

463:                                              ; preds = %371
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %7, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %8, align 4
  br label %476

467:                                              ; preds = %379, %377, %375
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %7, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %8, align 4
  br label %475

471:                                              ; preds = %383
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %7, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %8, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #7
  br label %475

475:                                              ; preds = %471, %467
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %74) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  br label %476

476:                                              ; preds = %475, %463
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #7
  br label %496

477:                                              ; preds = %384
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %7, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %8, align 4
  br label %495

481:                                              ; preds = %387
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %7, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %8, align 4
  br label %494

485:                                              ; preds = %390
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %7, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %8, align 4
  br label %493

489:                                              ; preds = %391
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %7, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #7
  br label %493

493:                                              ; preds = %489, %485
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #7
  br label %494

494:                                              ; preds = %493, %481
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %79) #7
  br label %495

495:                                              ; preds = %494, %477
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %77) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #7
  br label %496

496:                                              ; preds = %495, %476
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #7
  br label %616

497:                                              ; preds = %392, %370
  call void @llvm.lifetime.start.p0(i64 16, ptr %82) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v07ConvertEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.111") align 8 %82, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(16) %69)
          to label %498 unwind label %531

498:                                              ; preds = %497
  call void @llvm.lifetime.start.p0(i64 16, ptr %83) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRSt10shared_ptrIS3_ERS4_INS1_2v09BroadcastEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.111") align 8 %83, ptr noundef nonnull align 8 dereferenceable(16) %82, ptr noundef nonnull align 8 dereferenceable(16) %57)
          to label %499 unwind label %535

499:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 16, ptr %84) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %85) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #7
  %500 = load i64, ptr %11, align 8, !tbaa !9
  store i64 %500, ptr %87, align 8, !tbaa !9
  %501 = getelementptr inbounds %"class.std::initializer_list.92", ptr %86, i32 0, i32 0
  store ptr %87, ptr %501, align 8, !tbaa !69
  %502 = getelementptr inbounds %"class.std::initializer_list.92", ptr %86, i32 0, i32 1
  store i64 1, ptr %502, align 8, !tbaa !71
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %85, ptr noundef nonnull align 8 dereferenceable(16) %86)
          to label %503 unwind label %539

503:                                              ; preds = %499
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS1_2v18MultiplyEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.102") align 8 %84, ptr noundef nonnull align 8 dereferenceable(16) %83, ptr noundef nonnull align 8 dereferenceable(48) %85)
          to label %504 unwind label %543

504:                                              ; preds = %503
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %85) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %88) #7
  %505 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %506 unwind label %548

506:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 48, ptr %89) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %90) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #7
  store i64 1, ptr %91, align 8, !tbaa !9
  %507 = getelementptr inbounds %"class.std::initializer_list.92", ptr %90, i32 0, i32 0
  store ptr %91, ptr %507, align 8, !tbaa !69
  %508 = getelementptr inbounds %"class.std::initializer_list.92", ptr %90, i32 0, i32 1
  store i64 1, ptr %508, align 8, !tbaa !71
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %89, ptr noundef nonnull align 8 dereferenceable(16) %90)
          to label %509 unwind label %552

509:                                              ; preds = %506
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3SumEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.93") align 8 %88, ptr noundef nonnull align 8 dereferenceable(16) %84, ptr noundef nonnull align 8 dereferenceable(24) %505, ptr noundef nonnull align 8 dereferenceable(48) %89)
          to label %510 unwind label %556

510:                                              ; preds = %509
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %89) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %92) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %93) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %511 unwind label %561

511:                                              ; preds = %510
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %92, ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %512 unwind label %565

512:                                              ; preds = %511
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %93) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %95) #7
  store i1 true, ptr %100, align 1
  store ptr %95, ptr %96, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 8 dereferenceable(16) %92)
          to label %513 unwind label %570

513:                                              ; preds = %512
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v18MultiplyEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %99, ptr noundef nonnull align 8 dereferenceable(16) %83)
          to label %514 unwind label %574

514:                                              ; preds = %513
  invoke void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %97, ptr noundef %98, ptr noundef %99)
          to label %515 unwind label %578

515:                                              ; preds = %514
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %95, ptr noundef nonnull align 8 dereferenceable(16) %97)
          to label %516 unwind label %582

516:                                              ; preds = %515
  store i1 false, ptr %100, align 1
  %517 = getelementptr inbounds %"class.std::initializer_list", ptr %94, i32 0, i32 0
  store ptr %95, ptr %517, align 8, !tbaa !72
  %518 = getelementptr inbounds %"class.std::initializer_list", ptr %94, i32 0, i32 1
  store i64 1, ptr %518, align 8, !tbaa !74
  call void @llvm.lifetime.start.p0(i64 1, ptr %101) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  %519 = getelementptr inbounds { ptr, i64 }, ptr %94, i32 0, i32 0
  %520 = load ptr, ptr %519, align 8
  %521 = getelementptr inbounds { ptr, i64 }, ptr %94, i32 0, i32 1
  %522 = load i64, ptr %521, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %520, i64 %522, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %523 unwind label %586

523:                                              ; preds = %516
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #7
  %524 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %95, i32 0, i32 0
  %525 = getelementptr inbounds %"class.ngraph::Output", ptr %524, i64 1
  br label %526

526:                                              ; preds = %526, %523
  %527 = phi ptr [ %525, %523 ], [ %528, %526 ]
  %528 = getelementptr inbounds %"class.ngraph::Output", ptr %527, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %528) #7
  %529 = icmp eq ptr %528, %524
  br i1 %529, label %530, label %526

530:                                              ; preds = %526
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #7
  store i32 1, ptr %43, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %92) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %88) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %84) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %83) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %68) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18NotEqualELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #7
  br label %625

531:                                              ; preds = %497
  %532 = landingpad { ptr, i32 }
          cleanup
  %533 = extractvalue { ptr, i32 } %532, 0
  store ptr %533, ptr %7, align 8
  %534 = extractvalue { ptr, i32 } %532, 1
  store i32 %534, ptr %8, align 4
  br label %615

535:                                              ; preds = %498
  %536 = landingpad { ptr, i32 }
          cleanup
  %537 = extractvalue { ptr, i32 } %536, 0
  store ptr %537, ptr %7, align 8
  %538 = extractvalue { ptr, i32 } %536, 1
  store i32 %538, ptr %8, align 4
  br label %614

539:                                              ; preds = %499
  %540 = landingpad { ptr, i32 }
          cleanup
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %7, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %8, align 4
  br label %547

543:                                              ; preds = %503
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %7, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %85) #7
  br label %547

547:                                              ; preds = %543, %539
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %85) #7
  br label %613

548:                                              ; preds = %504
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %7, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %8, align 4
  br label %612

552:                                              ; preds = %506
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %7, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %8, align 4
  br label %560

556:                                              ; preds = %509
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %7, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %89) #7
  br label %560

560:                                              ; preds = %556, %552
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %89) #7
  br label %612

561:                                              ; preds = %510
  %562 = landingpad { ptr, i32 }
          cleanup
  %563 = extractvalue { ptr, i32 } %562, 0
  store ptr %563, ptr %7, align 8
  %564 = extractvalue { ptr, i32 } %562, 1
  store i32 %564, ptr %8, align 4
  br label %569

565:                                              ; preds = %511
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %7, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #7
  br label %569

569:                                              ; preds = %565, %561
  call void @llvm.lifetime.end.p0(i64 24, ptr %93) #7
  br label %611

570:                                              ; preds = %512
  %571 = landingpad { ptr, i32 }
          cleanup
  %572 = extractvalue { ptr, i32 } %571, 0
  store ptr %572, ptr %7, align 8
  %573 = extractvalue { ptr, i32 } %571, 1
  store i32 %573, ptr %8, align 4
  br label %600

574:                                              ; preds = %513
  %575 = landingpad { ptr, i32 }
          cleanup
  %576 = extractvalue { ptr, i32 } %575, 0
  store ptr %576, ptr %7, align 8
  %577 = extractvalue { ptr, i32 } %575, 1
  store i32 %577, ptr %8, align 4
  br label %599

578:                                              ; preds = %514
  %579 = landingpad { ptr, i32 }
          cleanup
  %580 = extractvalue { ptr, i32 } %579, 0
  store ptr %580, ptr %7, align 8
  %581 = extractvalue { ptr, i32 } %579, 1
  store i32 %581, ptr %8, align 4
  br label %598

582:                                              ; preds = %515
  %583 = landingpad { ptr, i32 }
          cleanup
  %584 = extractvalue { ptr, i32 } %583, 0
  store ptr %584, ptr %7, align 8
  %585 = extractvalue { ptr, i32 } %583, 1
  store i32 %585, ptr %8, align 4
  br label %597

586:                                              ; preds = %516
  %587 = landingpad { ptr, i32 }
          cleanup
  %588 = extractvalue { ptr, i32 } %587, 0
  store ptr %588, ptr %7, align 8
  %589 = extractvalue { ptr, i32 } %587, 1
  store i32 %589, ptr %8, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #7
  %590 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %95, i32 0, i32 0
  %591 = getelementptr inbounds %"class.ngraph::Output", ptr %590, i64 1
  br label %592

592:                                              ; preds = %592, %586
  %593 = phi ptr [ %591, %586 ], [ %594, %592 ]
  %594 = getelementptr inbounds %"class.ngraph::Output", ptr %593, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %594) #7
  %595 = icmp eq ptr %594, %590
  br i1 %595, label %596, label %592

596:                                              ; preds = %592
  br label %597

597:                                              ; preds = %596, %582
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #7
  br label %598

598:                                              ; preds = %597, %578
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  br label %599

599:                                              ; preds = %598, %574
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  br label %600

600:                                              ; preds = %599, %570
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #7
  %601 = load i1, ptr %100, align 1
  br i1 %601, label %602, label %610

602:                                              ; preds = %600
  %603 = load ptr, ptr %96, align 8
  %604 = icmp eq ptr %95, %603
  br i1 %604, label %609, label %605

605:                                              ; preds = %605, %602
  %606 = phi ptr [ %603, %602 ], [ %607, %605 ]
  %607 = getelementptr inbounds %"class.ngraph::Output", ptr %606, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %607) #7
  %608 = icmp eq ptr %607, %95
  br i1 %608, label %609, label %605

609:                                              ; preds = %605, %602
  br label %610

610:                                              ; preds = %609, %600
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %92) #7
  br label %611

611:                                              ; preds = %610, %569
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %88) #7
  br label %612

612:                                              ; preds = %611, %560, %548
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %84) #7
  br label %613

613:                                              ; preds = %612, %547
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #7
  br label %614

614:                                              ; preds = %613, %535
  call void @llvm.lifetime.end.p0(i64 16, ptr %83) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #7
  br label %615

615:                                              ; preds = %614, %531
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  br label %616

616:                                              ; preds = %615, %496, %459
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  br label %617

617:                                              ; preds = %616, %455
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %68) #7
  br label %618

618:                                              ; preds = %617, %451
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #7
  br label %619

619:                                              ; preds = %618, %450
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  br label %620

620:                                              ; preds = %619, %436, %424
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50) #7
  br label %621

621:                                              ; preds = %620, %423
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #7
  br label %622

622:                                              ; preds = %621, %406
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18NotEqualELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  br label %623

623:                                              ; preds = %622, %402
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  br label %624

624:                                              ; preds = %623, %398, %394
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #7
  br label %626

625:                                              ; preds = %530, %227
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #7
  ret void

626:                                              ; preds = %624, %307, %194, %157
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  br label %627

627:                                              ; preds = %626, %153
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  br label %628

628:                                              ; preds = %627, %149
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  br label %629

629:                                              ; preds = %628, %145
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #7
  br label %630

630:                                              ; preds = %629
  %631 = load ptr, ptr %7, align 8
  %632 = load i32, ptr %8, align 4
  %633 = insertvalue { ptr, i32 } poison, ptr %631, 0
  %634 = insertvalue { ptr, i32 } %633, i32 %632, 1
  resume { ptr, i32 } %634
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStneImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #5

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

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

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

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

declare void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef, ptr noundef) #4

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

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

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

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

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

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

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

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { 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 #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 = { 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 #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 = { 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, !66, i64 680}
!12 = !{!"_ZTSN6ngraph2op2v027SoftmaxCrossEntropyBackpropE", !13, i64 0, !66, i64 680, !10, i64 688}
!13 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !14, i64 0}
!14 = !{!"_ZTSN6ngraph2op2OpE", !15, i64 0}
!15 = !{!"_ZTSN6ngraph4NodeE", !16, i64 8, !20, i64 24, !20, i64 80, !25, i64 136, !29, i64 160, !33, i64 184, !10, i64 216, !33, i64 224, !33, i64 256, !35, i64 288, !37, i64 344, !45, i64 392, !50, i64 472, !55, i64 552, !57, i64 608, !58, i64 616, !61, i64 632}
!16 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !17, i64 0}
!17 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !18, i64 0}
!18 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !19, i64 8}
!19 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!20 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !21, i64 0}
!21 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !10, i64 8, !22, i64 16, !10, i64 24, !23, i64 32, !6, i64 48}
!22 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!23 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !24, i64 0, !10, i64 8}
!24 = !{!"float", !7, i64 0}
!25 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !26, i64 0}
!26 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!29 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!33 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !34, i64 0, !10, i64 8, !7, i64 16}
!34 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!35 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !36, i64 0}
!36 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE", !6, i64 0, !10, i64 8, !22, i64 16, !10, i64 24, !23, i64 32, !6, i64 48}
!37 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !40, i64 0, !42, i64 8}
!40 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !41, i64 0}
!41 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!42 = !{!"_ZTSSt15_Rb_tree_header", !43, i64 0, !10, i64 32}
!43 = !{!"_ZTSSt18_Rb_tree_node_base", !44, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!44 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!45 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !46, i64 0}
!46 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !47, i64 0}
!47 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !48, i64 0}
!48 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !49, i64 16, !49, i64 48}
!49 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!50 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !52, i64 0}
!52 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !53, i64 0}
!53 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !54, i64 16, !54, i64 48}
!54 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!55 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !56, i64 0}
!56 = !{!"_ZTSSt10_HashtableIPN6ngraph4NodeESt4pairIKS2_NS0_8autodiff8AdjointsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !22, i64 16, !10, i64 24, !23, i64 32, !6, i64 48}
!57 = !{!"int", !7, i64 0}
!58 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !59, i64 0}
!59 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !60, i64 8}
!60 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!61 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !62, i64 0}
!62 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !63, i64 0}
!63 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !64, i64 0, !42, i64 8}
!64 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !65, i64 0}
!65 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!66 = !{!"bool", !7, i64 0}
!67 = !{i8 0, i8 2}
!68 = !{}
!69 = !{!70, !6, i64 0}
!70 = !{!"_ZTSSt16initializer_listImE", !6, i64 0, !10, i64 8}
!71 = !{!70, !10, i64 8}
!72 = !{!73, !6, i64 0}
!73 = !{!"_ZTSSt16initializer_listIN6ngraph6OutputINS0_4NodeEEEE", !6, i64 0, !10, i64 8}
!74 = !{!73, !10, i64 8}
!75 = !{!12, !10, i64 688}
!76 = !{!77, !6, i64 0}
!77 = !{!"_ZTSSt16initializer_listIlE", !6, i64 0, !10, i64 8}
!78 = !{!77, !10, i64 8}


; 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.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.102" = type { %"class.std::__shared_ptr.103" }
%"class.std::__shared_ptr.103" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.117" = type { %"class.std::__shared_ptr.118" }
%"class.std::__shared_ptr.118" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.120" = type { %"class.std::__shared_ptr.121" }
%"class.std::__shared_ptr.121" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.108" = type { %"class.std::__shared_ptr.109" }
%"class.std::__shared_ptr.109" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = 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.ngraph::AxisVector" = type { %"class.std::vector.77" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = 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.92" = type { ptr, i64 }
%"class.ngraph::Shape" = type { %"class.std::vector.77" }
%"class.std::shared_ptr.93" = type { %"class.std::__shared_ptr.94" }
%"class.std::__shared_ptr.94" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::AxisSet" = type { %"class.std::set.86" }
%"class.std::set.86" = type { %"class.std::_Rb_tree.87" }
%"class.std::_Rb_tree.87" = 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.111" = type { %"class.std::__shared_ptr.112" }
%"class.std::__shared_ptr.112" = type { ptr, %"class.std::__shared_count" }
%"class.std::allocator.71" = type { i8 }
%"class.std::shared_ptr.138" = type { %"class.std::__shared_ptr.139" }
%"class.std::__shared_ptr.139" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.142" = type { %"class.std::__shared_ptr.143" }
%"class.std::__shared_ptr.143" = type { ptr, %"class.std::__shared_count" }

@_ZN6ngraph7element3i64E = external global %"class.ngraph::element::Type", align 4

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

declare void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8, ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) local_unnamed_addr #4

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

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

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

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

; 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.102") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #5

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #2 align 2

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: nounwind
declare void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #6

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

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

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

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

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

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

declare void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") 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_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), 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 #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v027SoftmaxCrossEntropyBackprop12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.69") align 8 %0, ptr noundef nonnull align 8 dereferenceable(696) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.ngraph::Output", align 8
  %4 = alloca %"class.ngraph::Output", align 8
  %5 = alloca %"class.ngraph::Output", align 8
  %6 = alloca i64, align 8
  %7 = alloca %"class.std::shared_ptr.117", align 8
  %8 = alloca %"class.ngraph::AxisVector", align 8
  %9 = alloca %"class.std::initializer_list.92", align 8
  %10 = alloca [2 x i64], align 8
  %11 = alloca %"class.ngraph::Shape", align 8
  %12 = alloca %"class.std::initializer_list.92", align 8
  %13 = alloca [1 x i64], align 8
  %14 = alloca %"class.ngraph::Output", align 8
  %15 = alloca %"class.std::shared_ptr.93", align 8
  %16 = alloca %"class.ngraph::AxisSet", align 8
  %17 = alloca %"class.std::initializer_list.92", align 8
  %18 = alloca [1 x i64], align 8
  %19 = alloca %"class.std::shared_ptr.111", align 8
  %20 = alloca %"class.std::shared_ptr.102", align 8
  %21 = alloca %"class.ngraph::AxisSet", align 8
  %22 = alloca %"class.std::initializer_list.92", align 8
  %23 = alloca [1 x i64], align 8
  %24 = alloca %"class.std::shared_ptr.93", align 8
  %25 = alloca %"class.ngraph::AxisSet", align 8
  %26 = alloca %"class.std::initializer_list.92", align 8
  %27 = alloca [1 x i64], align 8
  %28 = alloca %"class.std::shared_ptr.74", align 8
  %29 = alloca %"class.ngraph::Output", align 8
  %30 = alloca [1 x %"class.ngraph::Output"], align 8
  %31 = alloca %"class.std::shared_ptr.74", align 8
  %32 = alloca %"class.ngraph::Output", align 8
  %33 = alloca %"class.ngraph::Output", align 8
  %34 = alloca %"class.std::allocator.71", align 1
  %35 = alloca %"class.std::shared_ptr.138", align 8
  %36 = alloca %"class.ngraph::Shape", align 8
  %37 = alloca [1 x i64], align 8
  %38 = alloca %"class.std::shared_ptr.142", align 8
  %39 = alloca %"class.std::shared_ptr.108", align 8
  %40 = alloca %"class.std::shared_ptr.117", align 8
  %41 = alloca %"class.ngraph::AxisVector", align 8
  %42 = alloca %"class.std::initializer_list.92", align 8
  %43 = alloca [2 x i64], align 8
  %44 = alloca %"class.ngraph::Shape", align 8
  %45 = alloca %"class.std::initializer_list.92", align 8
  %46 = alloca [1 x i64], align 8
  %47 = alloca %"class.std::shared_ptr.93", align 8
  %48 = alloca %"class.ngraph::AxisSet", align 8
  %49 = alloca %"class.std::initializer_list.92", align 8
  %50 = alloca [1 x i64], align 8
  %51 = alloca %"class.std::shared_ptr.117", align 8
  %52 = alloca %"class.ngraph::AxisVector", align 8
  %53 = alloca %"class.std::initializer_list.92", align 8
  %54 = alloca [2 x i64], align 8
  %55 = alloca %"class.ngraph::Shape", align 8
  %56 = alloca %"class.std::initializer_list.92", align 8
  %57 = alloca [1 x i64], align 8
  %58 = alloca %"class.std::shared_ptr.120", align 8
  %59 = alloca %"class.std::shared_ptr.108", align 8
  %60 = alloca %"class.std::shared_ptr.117", align 8
  %61 = alloca %"class.ngraph::AxisVector", align 8
  %62 = alloca %"class.std::initializer_list.92", align 8
  %63 = alloca [2 x i64], align 8
  %64 = alloca %"class.ngraph::Shape", align 8
  %65 = alloca %"class.std::initializer_list.92", align 8
  %66 = alloca [1 x i64], align 8
  %67 = alloca %"class.ngraph::Output", align 8
  %68 = alloca %"class.std::shared_ptr.93", align 8
  %69 = alloca %"class.ngraph::AxisSet", align 8
  %70 = alloca %"class.std::initializer_list.92", align 8
  %71 = alloca [1 x i64], align 8
  %72 = alloca %"class.std::shared_ptr.111", align 8
  %73 = alloca %"class.std::shared_ptr.111", align 8
  %74 = alloca %"class.std::shared_ptr.102", align 8
  %75 = alloca %"class.ngraph::AxisSet", align 8
  %76 = alloca %"class.std::initializer_list.92", align 8
  %77 = alloca [1 x i64], align 8
  %78 = alloca %"class.std::shared_ptr.93", align 8
  %79 = alloca %"class.ngraph::AxisSet", align 8
  %80 = alloca %"class.std::initializer_list.92", align 8
  %81 = alloca [1 x i64], align 8
  %82 = alloca %"class.std::shared_ptr.74", align 8
  %83 = alloca %"class.ngraph::Output", align 8
  %84 = alloca [1 x %"class.ngraph::Output"], align 8
  %85 = alloca %"class.std::shared_ptr.74", align 8
  %86 = alloca %"class.ngraph::Output", align 8
  %87 = alloca %"class.ngraph::Output", align 8
  %88 = alloca %"class.std::allocator.71", align 1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #7
  call void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %3, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 0)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %4, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
          to label %89 unwind label %128

89:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %5, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 2)
          to label %90 unwind label %130

90:                                               ; preds = %89
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  %91 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %92 unwind label %132

92:                                               ; preds = %90
  %93 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %91) #7
  %94 = add i64 %93, -1
  store i64 %94, ptr %6, align 8, !tbaa !5
  %95 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %96 unwind label %134

96:                                               ; preds = %92
  %97 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %95) #7
  %98 = add i64 %97, -1
  %99 = getelementptr inbounds i8, ptr %1, i64 680
  %100 = load i8, ptr %99, align 8, !tbaa !9, !range !66, !noundef !67
  %101 = trunc nuw i8 %100 to i1
  br i1 %101, label %102, label %208

102:                                              ; preds = %96
  %103 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %104 unwind label %134

104:                                              ; preds = %102
  %105 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %106 unwind label %134

106:                                              ; preds = %104
  %107 = invoke noundef zeroext i1 @_ZStneImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %103, ptr noundef nonnull align 8 dereferenceable(24) %105)
          to label %108 unwind label %134

108:                                              ; preds = %106
  br i1 %107, label %109, label %156

109:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #7
  store i64 0, ptr %10, align 8, !tbaa !5
  %110 = getelementptr inbounds i8, ptr %10, i64 8
  store i64 1, ptr %110, align 8, !tbaa !5
  store ptr %10, ptr %9, align 8, !tbaa !68
  %111 = getelementptr inbounds i8, ptr %9, i64 8
  store i64 2, ptr %111, align 8, !tbaa !70
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(16) %9)
          to label %112 unwind label %136

112:                                              ; preds = %109
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  %113 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %114 unwind label %138

114:                                              ; preds = %112
  %115 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef 0)
          to label %116 unwind label %138

116:                                              ; preds = %114
  %117 = load i64, ptr %115, align 8, !tbaa !5
  store i64 %117, ptr %13, align 8, !tbaa !5
  store ptr %13, ptr %12, align 8, !tbaa !68
  %118 = getelementptr inbounds i8, ptr %12, i64 8
  store i64 1, ptr %118, align 8, !tbaa !70
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %119 unwind label %138

119:                                              ; preds = %116
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.117") align 8 %7, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %120 unwind label %140

120:                                              ; preds = %119
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #7
  %121 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %122 unwind label %144

122:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  store i64 1, ptr %18, align 8, !tbaa !5
  store ptr %18, ptr %17, align 8, !tbaa !68
  %123 = getelementptr inbounds i8, ptr %17, i64 8
  store i64 1, ptr %123, align 8, !tbaa !70
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %124 unwind label %146

124:                                              ; preds = %122
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.93") align 8 %15, ptr noundef nonnull align 8 dereferenceable(16) %7, ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(48) %16)
          to label %125 unwind label %148

125:                                              ; preds = %124
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %126 unwind label %150

126:                                              ; preds = %125
  %127 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #7
  br label %156

128:                                              ; preds = %2
  %129 = landingpad { ptr, i32 }
          cleanup
  br label %405

130:                                              ; preds = %89
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %404

132:                                              ; preds = %90
  %133 = landingpad { ptr, i32 }
          cleanup
  br label %403

134:                                              ; preds = %106, %104, %102, %92
  %135 = landingpad { ptr, i32 }
          cleanup
  br label %403

136:                                              ; preds = %109
  %137 = landingpad { ptr, i32 }
          cleanup
  br label %143

138:                                              ; preds = %116, %114, %112
  %139 = landingpad { ptr, i32 }
          cleanup
  br label %142

140:                                              ; preds = %119
  %141 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  br label %142

142:                                              ; preds = %140, %138
  %.pn119 = phi { ptr, i32 } [ %141, %140 ], [ %139, %138 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  br label %143

143:                                              ; preds = %142, %136
  %.pn119.pn = phi { ptr, i32 } [ %.pn119, %142 ], [ %137, %136 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  br label %155

144:                                              ; preds = %120
  %145 = landingpad { ptr, i32 }
          cleanup
  br label %154

146:                                              ; preds = %122
  %147 = landingpad { ptr, i32 }
          cleanup
  br label %153

148:                                              ; preds = %124
  %149 = landingpad { ptr, i32 }
          cleanup
  br label %152

150:                                              ; preds = %125
  %151 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #7
  br label %152

152:                                              ; preds = %150, %148
  %.pn122 = phi { ptr, i32 } [ %151, %150 ], [ %149, %148 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  br label %153

153:                                              ; preds = %152, %146
  %.pn122.pn = phi { ptr, i32 } [ %.pn122, %152 ], [ %147, %146 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  br label %154

154:                                              ; preds = %153, %144
  %.pn122.pn.pn = phi { ptr, i32 } [ %.pn122.pn, %153 ], [ %145, %144 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #7
  br label %155

155:                                              ; preds = %154, %143
  %.pn122.pn.pn.pn = phi { ptr, i32 } [ %.pn122.pn.pn, %154 ], [ %.pn119.pn, %143 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #7
  br label %403

156:                                              ; preds = %126, %108
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRNS0_6OutputINS0_4NodeEEES7_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.111") align 8 %19, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %157 unwind label %173

157:                                              ; preds = %156
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #7
  store i64 %98, ptr %23, align 8, !tbaa !5
  store ptr %23, ptr %22, align 8, !tbaa !68
  %158 = getelementptr inbounds i8, ptr %22, i64 8
  store i64 1, ptr %158, align 8, !tbaa !70
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %159 unwind label %175

159:                                              ; preds = %157
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS1_2v18MultiplyEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.102") align 8 %20, ptr noundef nonnull align 8 dereferenceable(16) %19, ptr noundef nonnull align 8 dereferenceable(48) %21)
          to label %160 unwind label %177

160:                                              ; preds = %159
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #7
  %161 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %162 unwind label %180

162:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #7
  store i64 1, ptr %27, align 8, !tbaa !5
  store ptr %27, ptr %26, align 8, !tbaa !68
  %163 = getelementptr inbounds i8, ptr %26, i64 8
  store i64 1, ptr %163, align 8, !tbaa !70
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %25, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %164 unwind label %182

164:                                              ; preds = %162
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3SumEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.93") align 8 %24, ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef nonnull align 8 dereferenceable(24) %161, ptr noundef nonnull align 8 dereferenceable(48) %25)
          to label %165 unwind label %184

165:                                              ; preds = %164
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %166 unwind label %187

166:                                              ; preds = %165
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %28, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %167 unwind label %189

167:                                              ; preds = %166
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %168 unwind label %192

168:                                              ; preds = %167
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v18MultiplyEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %169 unwind label %194

169:                                              ; preds = %168
  invoke void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %31, ptr noundef nonnull %32, ptr noundef nonnull %33)
          to label %170 unwind label %196

170:                                              ; preds = %169
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %171 unwind label %198

171:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %34) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr nonnull %30, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %172 unwind label %.loopexit.loopexit

172:                                              ; preds = %171
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  br label %402

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

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

177:                                              ; preds = %159
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  br label %179

179:                                              ; preds = %177, %175
  %.pn127 = phi { ptr, i32 } [ %178, %177 ], [ %176, %175 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) #7
  br label %206

180:                                              ; preds = %160
  %181 = landingpad { ptr, i32 }
          cleanup
  br label %205

182:                                              ; preds = %162
  %183 = landingpad { ptr, i32 }
          cleanup
  br label %186

184:                                              ; preds = %164
  %185 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #7
  br label %186

186:                                              ; preds = %184, %182
  %.pn129 = phi { ptr, i32 } [ %185, %184 ], [ %183, %182 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %25) #7
  br label %205

187:                                              ; preds = %165
  %188 = landingpad { ptr, i32 }
          cleanup
  br label %191

189:                                              ; preds = %166
  %190 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  br label %191

191:                                              ; preds = %189, %187
  %.pn131 = phi { ptr, i32 } [ %190, %189 ], [ %188, %187 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  br label %204

192:                                              ; preds = %167
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %203

194:                                              ; preds = %168
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %202

196:                                              ; preds = %169
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %201

198:                                              ; preds = %170
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit

.loopexit.loopexit:                               ; preds = %171
  %200 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit, %198
  %.pn133 = phi { ptr, i32 } [ %199, %198 ], [ %200, %.loopexit.loopexit ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  br label %201

201:                                              ; preds = %.loopexit, %196
  %.pn133.pn = phi { ptr, i32 } [ %.pn133, %.loopexit ], [ %197, %196 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  br label %202

202:                                              ; preds = %201, %194
  %.pn133.pn.pn = phi { ptr, i32 } [ %.pn133.pn, %201 ], [ %195, %194 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  br label %203

203:                                              ; preds = %202, %192
  %.pn133.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn, %202 ], [ %193, %192 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  br label %204

204:                                              ; preds = %203, %191
  %.pn133.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn, %203 ], [ %.pn131, %191 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  br label %205

205:                                              ; preds = %204, %186, %180
  %.pn133.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn, %204 ], [ %.pn129, %186 ], [ %181, %180 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br label %206

206:                                              ; preds = %205, %179
  %.pn133.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn, %205 ], [ %.pn127, %179 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #7
  br label %207

207:                                              ; preds = %206, %173
  %.pn133.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn, %206 ], [ %174, %173 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  br label %403

208:                                              ; preds = %96
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #7
  %209 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %210 unwind label %280

210:                                              ; preds = %208
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %209)
          to label %211 unwind label %280

211:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  %212 = getelementptr inbounds i8, ptr %1, i64 688
  %213 = load i64, ptr %212, align 8, !tbaa !71
  store i64 %213, ptr %37, align 8, !tbaa !5
  invoke void @_ZN6ngraph2op2v08Constant6createIlEESt10shared_ptrIS2_ERKNS_7element4TypeENS_5ShapeESt16initializer_listIT_E(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.138") align 8 %35, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3i64E, ptr noundef nonnull %36, ptr nonnull %37, i64 1)
          to label %214 unwind label %282

214:                                              ; preds = %211
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18NotEqualEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v08ConstantEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.142") align 8 %38, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %215 unwind label %284

215:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #7
  %216 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %217 unwind label %286

217:                                              ; preds = %215
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ConvertEJRSt10shared_ptrINS1_2v18NotEqualEERKNS0_7element4TypeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.108") align 8 %39, ptr noundef nonnull align 8 dereferenceable(16) %38, ptr noundef nonnull align 4 dereferenceable(4) %216)
          to label %218 unwind label %286

218:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #7
  store i64 0, ptr %43, align 8, !tbaa !5
  %219 = getelementptr inbounds i8, ptr %43, i64 8
  store i64 1, ptr %219, align 8, !tbaa !5
  store ptr %43, ptr %42, align 8, !tbaa !68
  %220 = getelementptr inbounds i8, ptr %42, i64 8
  store i64 2, ptr %220, align 8, !tbaa !70
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %221 unwind label %288

221:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #7
  %222 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  %223 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %222, i64 noundef 0)
          to label %224 unwind label %290

224:                                              ; preds = %221
  %225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %223, i64 noundef 0)
          to label %226 unwind label %290

226:                                              ; preds = %224
  %227 = load i64, ptr %225, align 8, !tbaa !5
  store i64 %227, ptr %46, align 8, !tbaa !5
  store ptr %46, ptr %45, align 8, !tbaa !68
  %228 = getelementptr inbounds i8, ptr %45, i64 8
  store i64 1, ptr %228, align 8, !tbaa !70
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 8 dereferenceable(16) %45)
          to label %229 unwind label %290

229:                                              ; preds = %226
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_7ConvertEENS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.117") align 8 %40, ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %230 unwind label %292

230:                                              ; preds = %229
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #7
  %231 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %232 unwind label %296

232:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #7
  store i64 1, ptr %50, align 8, !tbaa !5
  store ptr %50, ptr %49, align 8, !tbaa !68
  %233 = getelementptr inbounds i8, ptr %49, i64 8
  store i64 1, ptr %233, align 8, !tbaa !70
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %48, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %234 unwind label %298

234:                                              ; preds = %232
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.93") align 8 %47, ptr noundef nonnull align 8 dereferenceable(16) %40, ptr noundef nonnull align 8 dereferenceable(24) %231, ptr noundef nonnull align 8 dereferenceable(48) %48)
          to label %235 unwind label %300

235:                                              ; preds = %234
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %54) #7
  store i64 0, ptr %54, align 8, !tbaa !5
  %236 = getelementptr inbounds i8, ptr %54, i64 8
  store i64 1, ptr %236, align 8, !tbaa !5
  store ptr %54, ptr %53, align 8, !tbaa !68
  %237 = getelementptr inbounds i8, ptr %53, i64 8
  store i64 2, ptr %237, align 8, !tbaa !70
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %238 unwind label %303

238:                                              ; preds = %235
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #7
  %239 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %240 unwind label %305

240:                                              ; preds = %238
  %241 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %239, i64 noundef 0)
          to label %242 unwind label %305

242:                                              ; preds = %240
  %243 = load i64, ptr %241, align 8, !tbaa !5
  store i64 %243, ptr %57, align 8, !tbaa !5
  store ptr %57, ptr %56, align 8, !tbaa !68
  %244 = getelementptr inbounds i8, ptr %56, i64 8
  store i64 1, ptr %244, align 8, !tbaa !70
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %245 unwind label %305

245:                                              ; preds = %242
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.117") align 8 %51, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(24) %55)
          to label %246 unwind label %307

246:                                              ; preds = %245
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %58) #7
  %247 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %248 unwind label %311

248:                                              ; preds = %246
  invoke void @_ZSt11make_sharedIN6ngraph2op2v06OneHotEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeERmEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.120") align 8 %58, ptr noundef nonnull align 8 dereferenceable(16) %51, ptr noundef nonnull align 8 dereferenceable(24) %247, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %249 unwind label %311

249:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59) #7
  %250 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %251 unwind label %313

251:                                              ; preds = %249
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ConvertEJRSt10shared_ptrINS2_6OneHotEERKNS0_7element4TypeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.108") align 8 %59, ptr noundef nonnull align 8 dereferenceable(16) %58, ptr noundef nonnull align 4 dereferenceable(4) %250)
          to label %252 unwind label %313

252:                                              ; preds = %251
  %253 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %254 unwind label %315

254:                                              ; preds = %252
  %255 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %59) #7
  %256 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %255, i64 noundef 0)
          to label %257 unwind label %315

257:                                              ; preds = %254
  %258 = invoke noundef zeroext i1 @_ZStneImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %253, ptr noundef nonnull align 8 dereferenceable(24) %256)
          to label %259 unwind label %315

259:                                              ; preds = %257
  br i1 %258, label %260, label %337

260:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %63) #7
  store i64 0, ptr %63, align 8, !tbaa !5
  %261 = getelementptr inbounds i8, ptr %63, i64 8
  store i64 1, ptr %261, align 8, !tbaa !5
  store ptr %63, ptr %62, align 8, !tbaa !68
  %262 = getelementptr inbounds i8, ptr %62, i64 8
  store i64 2, ptr %262, align 8, !tbaa !70
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(16) %62)
          to label %263 unwind label %317

263:                                              ; preds = %260
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #7
  %264 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %265 unwind label %319

265:                                              ; preds = %263
  %266 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %264, i64 noundef 0)
          to label %267 unwind label %319

267:                                              ; preds = %265
  %268 = load i64, ptr %266, align 8, !tbaa !5
  store i64 %268, ptr %66, align 8, !tbaa !5
  store ptr %66, ptr %65, align 8, !tbaa !68
  %269 = getelementptr inbounds i8, ptr %65, i64 8
  store i64 1, ptr %269, align 8, !tbaa !70
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(16) %65)
          to label %270 unwind label %319

270:                                              ; preds = %267
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorENS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.117") align 8 %60, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(24) %64)
          to label %271 unwind label %321

271:                                              ; preds = %270
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %64) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %68) #7
  %272 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %59) #7
  %273 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %272, i64 noundef 0)
          to label %274 unwind label %325

274:                                              ; preds = %271
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %70) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #7
  store i64 1, ptr %71, align 8, !tbaa !5
  store ptr %71, ptr %70, align 8, !tbaa !68
  %275 = getelementptr inbounds i8, ptr %70, i64 8
  store i64 1, ptr %275, align 8, !tbaa !70
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %69, ptr noundef nonnull align 8 dereferenceable(16) %70)
          to label %276 unwind label %327

276:                                              ; preds = %274
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.93") align 8 %68, ptr noundef nonnull align 8 dereferenceable(16) %60, ptr noundef nonnull align 8 dereferenceable(24) %273, ptr noundef nonnull align 8 dereferenceable(48) %69)
          to label %277 unwind label %329

277:                                              ; preds = %276
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(16) %68)
          to label %278 unwind label %331

278:                                              ; preds = %277
  %279 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %67) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %68) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %69) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %60) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) #7
  br label %337

280:                                              ; preds = %210, %208
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %401

282:                                              ; preds = %211
  %283 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  br label %401

284:                                              ; preds = %214
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %400

286:                                              ; preds = %217, %215
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %399

288:                                              ; preds = %218
  %289 = landingpad { ptr, i32 }
          cleanup
  br label %295

290:                                              ; preds = %226, %224, %221
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %294

292:                                              ; preds = %229
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  br label %294

294:                                              ; preds = %292, %290
  %.pn = phi { ptr, i32 } [ %293, %292 ], [ %291, %290 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  br label %295

295:                                              ; preds = %294, %288
  %.pn.pn = phi { ptr, i32 } [ %.pn, %294 ], [ %289, %288 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #7
  br label %398

296:                                              ; preds = %230
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %397

298:                                              ; preds = %232
  %299 = landingpad { ptr, i32 }
          cleanup
  br label %302

300:                                              ; preds = %234
  %301 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %48) #7
  br label %302

302:                                              ; preds = %300, %298
  %.pn81 = phi { ptr, i32 } [ %301, %300 ], [ %299, %298 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %48) #7
  br label %397

303:                                              ; preds = %235
  %304 = landingpad { ptr, i32 }
          cleanup
  br label %310

305:                                              ; preds = %242, %240, %238
  %306 = landingpad { ptr, i32 }
          cleanup
  br label %309

307:                                              ; preds = %245
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  br label %309

309:                                              ; preds = %307, %305
  %.pn83 = phi { ptr, i32 } [ %308, %307 ], [ %306, %305 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #7
  br label %310

310:                                              ; preds = %309, %303
  %.pn83.pn = phi { ptr, i32 } [ %.pn83, %309 ], [ %304, %303 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #7
  br label %396

311:                                              ; preds = %248, %246
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %395

313:                                              ; preds = %251, %249
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %394

315:                                              ; preds = %257, %254, %252
  %316 = landingpad { ptr, i32 }
          cleanup
  br label %393

317:                                              ; preds = %260
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %324

319:                                              ; preds = %267, %265, %263
  %320 = landingpad { ptr, i32 }
          cleanup
  br label %323

321:                                              ; preds = %270
  %322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #7
  br label %323

323:                                              ; preds = %321, %319
  %.pn86 = phi { ptr, i32 } [ %322, %321 ], [ %320, %319 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %64) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  br label %324

324:                                              ; preds = %323, %317
  %.pn86.pn = phi { ptr, i32 } [ %.pn86, %323 ], [ %318, %317 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61) #7
  br label %336

325:                                              ; preds = %271
  %326 = landingpad { ptr, i32 }
          cleanup
  br label %335

327:                                              ; preds = %274
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %334

329:                                              ; preds = %276
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %333

331:                                              ; preds = %277
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %68) #7
  br label %333

333:                                              ; preds = %331, %329
  %.pn89 = phi { ptr, i32 } [ %332, %331 ], [ %330, %329 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %69) #7
  br label %334

334:                                              ; preds = %333, %327
  %.pn89.pn = phi { ptr, i32 } [ %.pn89, %333 ], [ %328, %327 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %69) #7
  br label %335

335:                                              ; preds = %334, %325
  %.pn89.pn.pn = phi { ptr, i32 } [ %.pn89.pn, %334 ], [ %326, %325 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %60) #7
  br label %336

336:                                              ; preds = %335, %324
  %.pn89.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn, %335 ], [ %.pn86.pn, %324 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) #7
  br label %393

337:                                              ; preds = %278, %259
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %72) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v07ConvertEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.111") align 8 %72, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %338 unwind label %355

338:                                              ; preds = %337
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %73) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRSt10shared_ptrIS3_ERS4_INS1_2v09BroadcastEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.111") align 8 %73, ptr noundef nonnull align 8 dereferenceable(16) %72, ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %339 unwind label %357

339:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %74) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %75) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %76) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #7
  store i64 %98, ptr %77, align 8, !tbaa !5
  store ptr %77, ptr %76, align 8, !tbaa !68
  %340 = getelementptr inbounds i8, ptr %76, i64 8
  store i64 1, ptr %340, align 8, !tbaa !70
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %75, ptr noundef nonnull align 8 dereferenceable(16) %76)
          to label %341 unwind label %359

341:                                              ; preds = %339
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS1_2v18MultiplyEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.102") align 8 %74, ptr noundef nonnull align 8 dereferenceable(16) %73, ptr noundef nonnull align 8 dereferenceable(48) %75)
          to label %342 unwind label %361

342:                                              ; preds = %341
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %75) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %78) #7
  %343 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %344 unwind label %364

344:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %80) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #7
  store i64 1, ptr %81, align 8, !tbaa !5
  store ptr %81, ptr %80, align 8, !tbaa !68
  %345 = getelementptr inbounds i8, ptr %80, i64 8
  store i64 1, ptr %345, align 8, !tbaa !70
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %79, ptr noundef nonnull align 8 dereferenceable(16) %80)
          to label %346 unwind label %366

346:                                              ; preds = %344
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3SumEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.93") align 8 %78, ptr noundef nonnull align 8 dereferenceable(16) %74, ptr noundef nonnull align 8 dereferenceable(24) %343, ptr noundef nonnull align 8 dereferenceable(48) %79)
          to label %347 unwind label %368

347:                                              ; preds = %346
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %82) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %83) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %83, ptr noundef nonnull align 8 dereferenceable(16) %78)
          to label %348 unwind label %371

348:                                              ; preds = %347
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %82, ptr noundef nonnull align 8 dereferenceable(24) %83, ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %349 unwind label %373

349:                                              ; preds = %348
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %83) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %84) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %85) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %86, ptr noundef nonnull align 8 dereferenceable(16) %82)
          to label %350 unwind label %376

350:                                              ; preds = %349
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v18MultiplyEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull align 8 dereferenceable(16) %73)
          to label %351 unwind label %378

351:                                              ; preds = %350
  invoke void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %85, ptr noundef nonnull %86, ptr noundef nonnull %87)
          to label %352 unwind label %380

352:                                              ; preds = %351
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %84, ptr noundef nonnull align 8 dereferenceable(16) %85)
          to label %353 unwind label %382

353:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr nonnull %84, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %354 unwind label %.loopexit146.loopexit

354:                                              ; preds = %353
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %84) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %78) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %73) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %72) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %72) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %58) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18NotEqualELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #7
  br label %402

355:                                              ; preds = %337
  %356 = landingpad { ptr, i32 }
          cleanup
  br label %392

357:                                              ; preds = %338
  %358 = landingpad { ptr, i32 }
          cleanup
  br label %391

359:                                              ; preds = %339
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %363

361:                                              ; preds = %341
  %362 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #7
  br label %363

363:                                              ; preds = %361, %359
  %.pn94 = phi { ptr, i32 } [ %362, %361 ], [ %360, %359 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %75) #7
  br label %390

364:                                              ; preds = %342
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %389

366:                                              ; preds = %344
  %367 = landingpad { ptr, i32 }
          cleanup
  br label %370

368:                                              ; preds = %346
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %79) #7
  br label %370

370:                                              ; preds = %368, %366
  %.pn96 = phi { ptr, i32 } [ %369, %368 ], [ %367, %366 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %79) #7
  br label %389

371:                                              ; preds = %347
  %372 = landingpad { ptr, i32 }
          cleanup
  br label %375

373:                                              ; preds = %348
  %374 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  br label %375

375:                                              ; preds = %373, %371
  %.pn98 = phi { ptr, i32 } [ %374, %373 ], [ %372, %371 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %83) #7
  br label %388

376:                                              ; preds = %349
  %377 = landingpad { ptr, i32 }
          cleanup
  br label %387

378:                                              ; preds = %350
  %379 = landingpad { ptr, i32 }
          cleanup
  br label %386

380:                                              ; preds = %351
  %381 = landingpad { ptr, i32 }
          cleanup
  br label %385

382:                                              ; preds = %352
  %383 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit146

.loopexit146.loopexit:                            ; preds = %353
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #7
  br label %.loopexit146

.loopexit146:                                     ; preds = %.loopexit146.loopexit, %382
  %.pn100 = phi { ptr, i32 } [ %383, %382 ], [ %384, %.loopexit146.loopexit ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85) #7
  br label %385

385:                                              ; preds = %.loopexit146, %380
  %.pn100.pn = phi { ptr, i32 } [ %.pn100, %.loopexit146 ], [ %381, %380 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #7
  br label %386

386:                                              ; preds = %385, %378
  %.pn100.pn.pn = phi { ptr, i32 } [ %.pn100.pn, %385 ], [ %379, %378 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #7
  br label %387

387:                                              ; preds = %386, %376
  %.pn100.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn, %386 ], [ %377, %376 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %84) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #7
  br label %388

388:                                              ; preds = %387, %375
  %.pn100.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn, %387 ], [ %.pn98, %375 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #7
  br label %389

389:                                              ; preds = %388, %370, %364
  %.pn100.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn, %388 ], [ %.pn96, %370 ], [ %365, %364 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %78) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #7
  br label %390

390:                                              ; preds = %389, %363
  %.pn100.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn, %389 ], [ %.pn94, %363 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #7
  br label %391

391:                                              ; preds = %390, %357
  %.pn100.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn, %390 ], [ %358, %357 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %73) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %72) #7
  br label %392

392:                                              ; preds = %391, %355
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn, %391 ], [ %356, %355 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %72) #7
  br label %393

393:                                              ; preds = %392, %336, %315
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn, %392 ], [ %.pn89.pn.pn.pn, %336 ], [ %316, %315 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #7
  br label %394

394:                                              ; preds = %393, %313
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn, %393 ], [ %314, %313 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #7
  br label %395

395:                                              ; preds = %394, %311
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %394 ], [ %312, %311 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %58) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #7
  br label %396

396:                                              ; preds = %395, %310
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %395 ], [ %.pn83.pn, %310 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #7
  br label %397

397:                                              ; preds = %396, %302, %296
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %396 ], [ %.pn81, %302 ], [ %297, %296 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #7
  br label %398

398:                                              ; preds = %397, %295
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %397 ], [ %.pn.pn, %295 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  br label %399

399:                                              ; preds = %398, %286
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %398 ], [ %287, %286 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18NotEqualELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #7
  br label %400

400:                                              ; preds = %399, %284
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %399 ], [ %285, %284 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #7
  br label %401

401:                                              ; preds = %400, %282, %280
  %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %400 ], [ %283, %282 ], [ %281, %280 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #7
  br label %403

402:                                              ; preds = %354, %172
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  ret void

403:                                              ; preds = %134, %155, %207, %401, %132
  %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %133, %132 ], [ %.pn133.pn.pn.pn.pn.pn.pn.pn, %207 ], [ %.pn122.pn.pn.pn, %155 ], [ %135, %134 ], [ %.pn100.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %401 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  br label %404

404:                                              ; preds = %403, %130
  %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn, %403 ], [ %131, %130 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  br label %405

405:                                              ; preds = %404, %128
  %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %404 ], [ %129, %128 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  resume { ptr, i32 } %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStneImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_7ReshapeEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.93") 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 #5

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3SumEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.93") 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 #5

declare void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef, ptr noundef) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { 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 #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 = { 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 #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 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"long", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !65, i64 680}
!10 = !{!"_ZTSN6ngraph2op2v027SoftmaxCrossEntropyBackpropE", !11, i64 0, !65, i64 680, !6, i64 688}
!11 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !12, i64 0}
!12 = !{!"_ZTSN6ngraph2op2OpE", !13, i64 0}
!13 = !{!"_ZTSN6ngraph4NodeE", !14, i64 8, !19, i64 24, !19, i64 80, !24, i64 136, !28, i64 160, !32, i64 184, !6, i64 216, !32, i64 224, !32, i64 256, !34, i64 288, !36, i64 344, !44, i64 392, !49, i64 472, !54, i64 552, !56, i64 608, !57, i64 616, !60, i64 632}
!14 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !15, i64 0}
!15 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !16, i64 0}
!16 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !17, i64 0, !18, i64 8}
!17 = !{!"any pointer", !7, i64 0}
!18 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !17, i64 0}
!19 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !20, i64 0}
!20 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !17, i64 0, !6, i64 8, !21, i64 16, !6, i64 24, !22, i64 32, !17, i64 48}
!21 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !17, i64 0}
!22 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !23, i64 0, !6, i64 8}
!23 = !{!"float", !7, i64 0}
!24 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !17, i64 0, !17, i64 8, !17, i64 16}
!28 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !17, i64 0, !17, i64 8, !17, i64 16}
!32 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !33, i64 0, !6, i64 8, !7, i64 16}
!33 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !17, i64 0}
!34 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !35, i64 0}
!35 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE", !17, i64 0, !6, i64 8, !21, i64 16, !6, i64 24, !22, i64 32, !17, i64 48}
!36 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !39, i64 0, !41, i64 8}
!39 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !40, i64 0}
!40 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!41 = !{!"_ZTSSt15_Rb_tree_header", !42, i64 0, !6, i64 32}
!42 = !{!"_ZTSSt18_Rb_tree_node_base", !43, i64 0, !17, i64 8, !17, i64 16, !17, i64 24}
!43 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!44 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !45, i64 0}
!45 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !46, i64 0}
!46 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !47, i64 0}
!47 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !17, i64 0, !6, i64 8, !48, i64 16, !48, i64 48}
!48 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !17, i64 0, !17, i64 8, !17, i64 16, !17, i64 24}
!49 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !52, i64 0}
!52 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !17, i64 0, !6, i64 8, !53, i64 16, !53, i64 48}
!53 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !17, i64 0, !17, i64 8, !17, i64 16, !17, i64 24}
!54 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !55, i64 0}
!55 = !{!"_ZTSSt10_HashtableIPN6ngraph4NodeESt4pairIKS2_NS0_8autodiff8AdjointsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !17, i64 0, !6, i64 8, !21, i64 16, !6, i64 24, !22, i64 32, !17, i64 48}
!56 = !{!"int", !7, i64 0}
!57 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !58, i64 0}
!58 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !17, i64 0, !59, i64 8}
!59 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !17, i64 0}
!60 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !61, i64 0}
!61 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !62, i64 0}
!62 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !63, i64 0, !41, i64 8}
!63 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !64, i64 0}
!64 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!65 = !{!"bool", !7, i64 0}
!66 = !{i8 0, i8 2}
!67 = !{}
!68 = !{!69, !17, i64 0}
!69 = !{!"_ZTSSt16initializer_listImE", !17, i64 0, !6, i64 8}
!70 = !{!69, !6, i64 8}
!71 = !{!10, !6, i64 688}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LoopSimplifyPass,SROAPass,SimplifyCFGPass