; 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.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::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.anon = type { ptr, ptr, ptr }
%class.anon.82 = type { ptr }
%"class.std::shared_ptr.83" = type { %"class.std::__shared_ptr.84" }
%"class.std::__shared_ptr.84" = 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::initializer_list.92" = type { ptr, i64 }
%"class.std::shared_ptr.93" = type { %"class.std::__shared_ptr.94" }
%"class.std::__shared_ptr.94" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.96" = type { %"class.std::__shared_ptr.97" }
%"class.std::__shared_ptr.97" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.99" = type { %"class.std::__shared_ptr.100" }
%"class.std::__shared_ptr.100" = type { ptr, %"class.std::__shared_count" }
%"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.105" = type { %"class.std::__shared_ptr.106" }
%"class.std::__shared_ptr.106" = 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::shared_ptr.111" = type { %"class.std::__shared_ptr.112" }
%"class.std::__shared_ptr.112" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.114" = type { %"class.std::__shared_ptr.115" }
%"class.std::__shared_ptr.115" = 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.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.ngraph::Shape" = type { %"class.std::vector.77" }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::allocator.71" = type { i8 }
%"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.123" = type { %"class.std::__shared_ptr.124" }
%"class.std::__shared_ptr.124" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::op::v0::SoftmaxCrossEntropy" = 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" }

; 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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_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 i64, align 8
  %10 = alloca %class.anon, align 8
  %11 = alloca %class.anon.82, align 8
  %12 = alloca %"class.std::shared_ptr.83", align 8
  %13 = alloca %"class.ngraph::AxisSet", align 8
  %14 = alloca %"class.std::initializer_list.92", align 8
  %15 = alloca [1 x i64], align 8
  %16 = alloca %"class.std::shared_ptr.93", align 8
  %17 = alloca %"class.ngraph::AxisSet", align 8
  %18 = alloca %"class.std::initializer_list.92", align 8
  %19 = alloca [1 x i64], align 8
  %20 = alloca %"class.std::shared_ptr.96", align 8
  %21 = alloca %"class.std::shared_ptr.99", align 8
  %22 = alloca %"class.std::shared_ptr.102", align 8
  %23 = alloca %"class.ngraph::AxisSet", align 8
  %24 = alloca %"class.std::initializer_list.92", align 8
  %25 = alloca [1 x i64], align 8
  %26 = alloca %"class.std::shared_ptr.105", align 8
  %27 = alloca %"class.std::shared_ptr.96", align 8
  %28 = alloca %"class.std::shared_ptr.93", align 8
  %29 = alloca %"class.ngraph::AxisSet", align 8
  %30 = alloca %"class.std::initializer_list.92", align 8
  %31 = alloca [1 x i64], align 8
  %32 = alloca %"class.std::shared_ptr.96", align 8
  %33 = alloca %"class.ngraph::Output", align 8
  %34 = alloca %"class.std::shared_ptr.108", align 8
  %35 = alloca %"class.std::shared_ptr.111", align 8
  %36 = alloca %"class.std::shared_ptr.102", align 8
  %37 = alloca %"class.ngraph::AxisSet", align 8
  %38 = alloca %"class.std::initializer_list.92", align 8
  %39 = alloca [1 x i64], align 8
  %40 = alloca %"class.std::shared_ptr.114", align 8
  %41 = alloca %"class.std::shared_ptr.117", align 8
  %42 = alloca %"class.ngraph::AxisVector", align 8
  %43 = alloca %"class.std::initializer_list.92", align 8
  %44 = alloca [1 x i64], align 8
  %45 = alloca %"class.ngraph::Shape", align 8
  %46 = alloca %"class.std::initializer_list.92", align 8
  %47 = alloca [2 x i64], align 8
  %48 = alloca %"class.std::initializer_list", align 8
  %49 = alloca [1 x %"class.ngraph::Output"], align 8
  %50 = alloca ptr, align 8
  %51 = alloca %"class.std::allocator.71", align 1
  %52 = alloca i32, align 4
  %53 = alloca i64, align 8
  %54 = alloca i64, align 8
  %55 = alloca %"class.std::shared_ptr.117", align 8
  %56 = alloca %"class.ngraph::AxisVector", align 8
  %57 = alloca %"class.std::initializer_list.92", align 8
  %58 = alloca [2 x i64], align 8
  %59 = alloca %"class.ngraph::Shape", align 8
  %60 = alloca %"class.std::initializer_list.92", align 8
  %61 = alloca [1 x i64], align 8
  %62 = alloca %"class.std::shared_ptr.120", align 8
  %63 = alloca %"class.std::shared_ptr.108", align 8
  %64 = alloca %"class.std::shared_ptr.74", align 8
  %65 = alloca %"class.std::shared_ptr.123", align 8
  %66 = alloca %"class.ngraph::AxisSet", align 8
  %67 = alloca %"class.std::initializer_list.92", align 8
  %68 = alloca [1 x i64], align 8
  %69 = alloca %"class.std::shared_ptr.74", align 8
  %70 = alloca %"class.std::shared_ptr.74", align 8
  %71 = alloca %"class.std::shared_ptr.74", align 8
  %72 = alloca %"class.std::shared_ptr.117", align 8
  %73 = alloca %"class.ngraph::AxisVector", align 8
  %74 = alloca %"class.std::initializer_list.92", align 8
  %75 = alloca [1 x i64], align 8
  %76 = alloca %"class.ngraph::Shape", align 8
  %77 = alloca %"class.std::initializer_list.92", align 8
  %78 = alloca [2 x i64], align 8
  %79 = alloca %"class.std::initializer_list", align 8
  %80 = alloca [1 x %"class.ngraph::Output"], align 8
  %81 = alloca ptr, align 8
  %82 = alloca %"class.std::shared_ptr.74", align 8
  %83 = alloca %"class.ngraph::Output", align 8
  %84 = alloca %"class.ngraph::Output", align 8
  %85 = alloca i1, align 1
  %86 = alloca %"class.std::allocator.71", align 1
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  %87 = 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) %87, 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) %87, i64 noundef 1)
          to label %88 unwind label %141

88:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #7
  %89 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %90 unwind label %145

90:                                               ; preds = %88
  %91 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %89) #7
  %92 = sub i64 %91, 1
  store i64 %92, ptr %9, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #7
  %93 = getelementptr inbounds %class.anon, ptr %10, i32 0, i32 0
  store ptr %6, ptr %93, align 8, !tbaa !5
  %94 = getelementptr inbounds %class.anon, ptr %10, i32 0, i32 1
  store ptr %87, ptr %94, align 8, !tbaa !11
  %95 = getelementptr inbounds %class.anon, ptr %10, i32 0, i32 2
  store ptr %5, ptr %95, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  %96 = getelementptr inbounds %class.anon.82, ptr %11, i32 0, i32 0
  store ptr %9, ptr %96, align 8, !tbaa !5
  %97 = getelementptr inbounds %"class.ngraph::op::v0::SoftmaxCrossEntropy", ptr %87, i32 0, i32 1
  %98 = load i8, ptr %97, align 8, !tbaa !13, !range !69, !noundef !70
  %99 = trunc i8 %98 to i1
  br i1 %99, label %100, label %330

100:                                              ; preds = %90
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #7
  %101 = load i64, ptr %9, align 8, !tbaa !9
  store i64 %101, ptr %15, align 8, !tbaa !9
  %102 = getelementptr inbounds %"class.std::initializer_list.92", ptr %14, i32 0, i32 0
  store ptr %15, ptr %102, align 8, !tbaa !71
  %103 = getelementptr inbounds %"class.std::initializer_list.92", ptr %14, i32 0, i32 1
  store i64 1, ptr %103, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %104 unwind label %149

104:                                              ; preds = %100
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03MaxEJRNS0_6OutputINS0_4NodeEEENS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.83") align 8 %12, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(48) %13)
          to label %105 unwind label %153

105:                                              ; preds = %104
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #7
  %106 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %107 unwind label %158

107:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 48, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  store i64 1, ptr %19, align 8, !tbaa !9
  %108 = getelementptr inbounds %"class.std::initializer_list.92", ptr %18, i32 0, i32 0
  store ptr %19, ptr %108, align 8, !tbaa !71
  %109 = getelementptr inbounds %"class.std::initializer_list.92", ptr %18, i32 0, i32 1
  store i64 1, ptr %109, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %110 unwind label %162

110:                                              ; preds = %107
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3MaxEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.93") align 8 %16, ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef nonnull align 8 dereferenceable(48) %17)
          to label %111 unwind label %166

111:                                              ; preds = %110
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18SubtractEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v09BroadcastEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.96") align 8 %20, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %112 unwind label %171

112:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03ExpEJRSt10shared_ptrINS1_2v18SubtractEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.99") align 8 %21, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %113 unwind label %175

113:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %23) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  %114 = load i64, ptr %9, align 8, !tbaa !9
  store i64 %114, ptr %25, align 8, !tbaa !9
  %115 = getelementptr inbounds %"class.std::initializer_list.92", ptr %24, i32 0, i32 0
  store ptr %25, ptr %115, align 8, !tbaa !71
  %116 = getelementptr inbounds %"class.std::initializer_list.92", ptr %24, i32 0, i32 1
  store i64 1, ptr %116, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %117 unwind label %179

117:                                              ; preds = %113
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS2_3ExpEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.102") align 8 %22, ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(48) %23)
          to label %118 unwind label %183

118:                                              ; preds = %117
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %23) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03LogEJRSt10shared_ptrINS2_3SumEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES9_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.105") align 8 %26, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %119 unwind label %188

119:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18SubtractEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v09BroadcastEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.96") align 8 %27, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %120 unwind label %192

120:                                              ; preds = %119
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #7
  %121 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  %122 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %121, i64 noundef 0)
          to label %123 unwind label %196

123:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 48, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  store i64 1, ptr %31, align 8, !tbaa !9
  %124 = getelementptr inbounds %"class.std::initializer_list.92", ptr %30, i32 0, i32 0
  store ptr %31, ptr %124, align 8, !tbaa !71
  %125 = getelementptr inbounds %"class.std::initializer_list.92", ptr %30, i32 0, i32 1
  store i64 1, ptr %125, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %29, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %126 unwind label %200

126:                                              ; preds = %123
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3LogEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.93") align 8 %28, ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(24) %122, ptr noundef nonnull align 8 dereferenceable(48) %29)
          to label %127 unwind label %204

127:                                              ; preds = %126
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18SubtractEJRSt10shared_ptrIS3_ERS4_INS1_2v09BroadcastEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.96") align 8 %32, ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %128 unwind label %209

128:                                              ; preds = %127
  %129 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %130 unwind label %213

130:                                              ; preds = %128
  %131 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %132 unwind label %213

132:                                              ; preds = %130
  %133 = invoke noundef zeroext i1 @_ZNK6ngraph7element4TypeneERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %129, ptr noundef nonnull align 4 dereferenceable(4) %131)
          to label %134 unwind label %213

134:                                              ; preds = %132
  br i1 %133, label %135, label %226

135:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %136 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %137 unwind label %217

137:                                              ; preds = %135
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ConvertEJRNS0_6OutputINS0_4NodeEEERKNS0_7element4TypeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.108") align 8 %34, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 4 dereferenceable(4) %136)
          to label %138 unwind label %217

138:                                              ; preds = %137
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ConvertEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %139 unwind label %221

139:                                              ; preds = %138
  %140 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #7
  br label %226

141:                                              ; preds = %2
  %142 = landingpad { ptr, i32 }
          cleanup
  %143 = extractvalue { ptr, i32 } %142, 0
  store ptr %143, ptr %7, align 8
  %144 = extractvalue { ptr, i32 } %142, 1
  store i32 %144, ptr %8, align 4
  br label %511

145:                                              ; preds = %88
  %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 %510

149:                                              ; preds = %100
  %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 %157

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
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  br label %157

157:                                              ; preds = %153, %149
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %13) #7
  br label %329

158:                                              ; preds = %105
  %159 = landingpad { ptr, i32 }
          cleanup
  %160 = extractvalue { ptr, i32 } %159, 0
  store ptr %160, ptr %7, align 8
  %161 = extractvalue { ptr, i32 } %159, 1
  store i32 %161, ptr %8, align 4
  br label %328

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

166:                                              ; preds = %110
  %167 = landingpad { ptr, i32 }
          cleanup
  %168 = extractvalue { ptr, i32 } %167, 0
  store ptr %168, ptr %7, align 8
  %169 = extractvalue { ptr, i32 } %167, 1
  store i32 %169, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  br label %170

170:                                              ; preds = %166, %162
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %17) #7
  br label %328

171:                                              ; preds = %111
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %7, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %8, align 4
  br label %327

175:                                              ; preds = %112
  %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 %326

179:                                              ; preds = %113
  %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 %187

183:                                              ; preds = %117
  %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
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  br label %187

187:                                              ; preds = %183, %179
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %23) #7
  br label %325

188:                                              ; preds = %118
  %189 = landingpad { ptr, i32 }
          cleanup
  %190 = extractvalue { ptr, i32 } %189, 0
  store ptr %190, ptr %7, align 8
  %191 = extractvalue { ptr, i32 } %189, 1
  store i32 %191, ptr %8, align 4
  br label %324

192:                                              ; preds = %119
  %193 = landingpad { ptr, i32 }
          cleanup
  %194 = extractvalue { ptr, i32 } %193, 0
  store ptr %194, ptr %7, align 8
  %195 = extractvalue { ptr, i32 } %193, 1
  store i32 %195, ptr %8, align 4
  br label %323

196:                                              ; preds = %120
  %197 = landingpad { ptr, i32 }
          cleanup
  %198 = extractvalue { ptr, i32 } %197, 0
  store ptr %198, ptr %7, align 8
  %199 = extractvalue { ptr, i32 } %197, 1
  store i32 %199, ptr %8, align 4
  br label %322

200:                                              ; preds = %123
  %201 = landingpad { ptr, i32 }
          cleanup
  %202 = extractvalue { ptr, i32 } %201, 0
  store ptr %202, ptr %7, align 8
  %203 = extractvalue { ptr, i32 } %201, 1
  store i32 %203, ptr %8, align 4
  br label %208

204:                                              ; preds = %126
  %205 = landingpad { ptr, i32 }
          cleanup
  %206 = extractvalue { ptr, i32 } %205, 0
  store ptr %206, ptr %7, align 8
  %207 = extractvalue { ptr, i32 } %205, 1
  store i32 %207, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %29) #7
  br label %208

208:                                              ; preds = %204, %200
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %29) #7
  br label %322

209:                                              ; preds = %127
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %7, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %8, align 4
  br label %321

213:                                              ; preds = %132, %130, %128
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %7, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %8, align 4
  br label %320

217:                                              ; preds = %137, %135
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %7, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %8, align 4
  br label %225

221:                                              ; preds = %138
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %7, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #7
  br label %225

225:                                              ; preds = %221, %217
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #7
  br label %320

226:                                              ; preds = %139, %134
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS2_8SubtractEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.111") align 8 %35, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %227 unwind label %262

227:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  %228 = load i64, ptr %9, align 8, !tbaa !9
  store i64 %228, ptr %39, align 8, !tbaa !9
  %229 = getelementptr inbounds %"class.std::initializer_list.92", ptr %38, i32 0, i32 0
  store ptr %39, ptr %229, align 8, !tbaa !71
  %230 = getelementptr inbounds %"class.std::initializer_list.92", ptr %38, i32 0, i32 1
  store i64 1, ptr %230, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %231 unwind label %266

231:                                              ; preds = %227
  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 %36, ptr noundef nonnull align 8 dereferenceable(16) %35, ptr noundef nonnull align 8 dereferenceable(48) %37)
          to label %232 unwind label %270

232:                                              ; preds = %231
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08NegativeEJRSt10shared_ptrINS2_3SumEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES9_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.114") align 8 %40, ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %233 unwind label %275

233:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %42) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #7
  store i64 0, ptr %44, align 8, !tbaa !9
  %234 = getelementptr inbounds %"class.std::initializer_list.92", ptr %43, i32 0, i32 0
  store ptr %44, ptr %234, align 8, !tbaa !71
  %235 = getelementptr inbounds %"class.std::initializer_list.92", ptr %43, i32 0, i32 1
  store i64 1, ptr %235, align 8, !tbaa !73
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(16) %43)
          to label %236 unwind label %279

236:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #7
  %237 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %238 unwind label %283

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

240:                                              ; preds = %238
  %241 = load i64, ptr %239, align 8, !tbaa !9
  store i64 %241, ptr %47, align 8, !tbaa !9
  %242 = getelementptr inbounds i64, ptr %47, i64 1
  store i64 1, ptr %242, align 8, !tbaa !9
  %243 = getelementptr inbounds %"class.std::initializer_list.92", ptr %46, i32 0, i32 0
  store ptr %47, ptr %243, align 8, !tbaa !71
  %244 = getelementptr inbounds %"class.std::initializer_list.92", ptr %46, i32 0, i32 1
  store i64 2, ptr %244, align 8, !tbaa !73
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(16) %46)
          to label %245 unwind label %283

245:                                              ; preds = %240
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_8NegativeEENS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.117") align 8 %41, ptr noundef nonnull align 8 dereferenceable(16) %40, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %246 unwind label %287

246:                                              ; preds = %245
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %49) #7
  store ptr %49, ptr %50, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %247 unwind label %293

247:                                              ; preds = %246
  %248 = getelementptr inbounds %"class.std::initializer_list", ptr %48, i32 0, i32 0
  store ptr %49, ptr %248, align 8, !tbaa !74
  %249 = getelementptr inbounds %"class.std::initializer_list", ptr %48, i32 0, i32 1
  store i64 1, ptr %249, align 8, !tbaa !76
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  %250 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 0
  %251 = load ptr, ptr %250, align 8
  %252 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 1
  %253 = load i64, ptr %252, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %251, i64 %253, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %254 unwind label %304

254:                                              ; preds = %247
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  %255 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %49, i32 0, i32 0
  %256 = getelementptr inbounds %"class.ngraph::Output", ptr %255, i64 1
  br label %257

257:                                              ; preds = %257, %254
  %258 = phi ptr [ %256, %254 ], [ %259, %257 ]
  %259 = getelementptr inbounds %"class.ngraph::Output", ptr %258, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %259) #7
  %260 = icmp eq ptr %259, %255
  br i1 %260, label %261, label %257

261:                                              ; preds = %257
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #7
  store i32 1, ptr %52, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08NegativeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03ExpELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03MaxELN9__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 %508

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

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

270:                                              ; preds = %231
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %7, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  br label %274

274:                                              ; preds = %270, %266
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #7
  br label %318

275:                                              ; preds = %232
  %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 %317

279:                                              ; preds = %233
  %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
  br label %292

283:                                              ; preds = %240, %238, %236
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %7, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %8, align 4
  br label %291

287:                                              ; preds = %245
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %7, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %8, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  br label %291

291:                                              ; preds = %287, %283
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  br label %292

292:                                              ; preds = %291, %279
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #7
  br label %316

293:                                              ; preds = %246
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %7, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %8, align 4
  %297 = load ptr, ptr %50, align 8
  %298 = icmp eq ptr %49, %297
  br i1 %298, label %303, label %299

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

303:                                              ; preds = %299, %293
  br label %315

304:                                              ; preds = %247
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %7, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %8, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  %308 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %49, i32 0, i32 0
  %309 = getelementptr inbounds %"class.ngraph::Output", ptr %308, i64 1
  br label %310

310:                                              ; preds = %310, %304
  %311 = phi ptr [ %309, %304 ], [ %312, %310 ]
  %312 = getelementptr inbounds %"class.ngraph::Output", ptr %311, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %312) #7
  %313 = icmp eq ptr %312, %308
  br i1 %313, label %314, label %310

314:                                              ; preds = %310
  br label %315

315:                                              ; preds = %314, %303
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #7
  br label %316

316:                                              ; preds = %315, %292
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08NegativeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #7
  br label %317

317:                                              ; preds = %316, %275
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #7
  br label %318

318:                                              ; preds = %317, %274
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #7
  br label %319

319:                                              ; preds = %318, %262
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #7
  br label %320

320:                                              ; preds = %319, %225, %213
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32) #7
  br label %321

321:                                              ; preds = %320, %209
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  br label %322

322:                                              ; preds = %321, %208, %196
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #7
  br label %323

323:                                              ; preds = %322, %192
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  br label %324

324:                                              ; preds = %323, %188
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  br label %325

325:                                              ; preds = %324, %187
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03ExpELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  br label %326

326:                                              ; preds = %325, %175
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br label %327

327:                                              ; preds = %326, %171
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  br label %328

328:                                              ; preds = %327, %170, %158
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03MaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  br label %329

329:                                              ; preds = %328, %157
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #7
  br label %509

330:                                              ; preds = %90
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #7
  %331 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %332 unwind label %397

332:                                              ; preds = %330
  %333 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %331) #7
  %334 = sub i64 %333, 1
  store i64 %334, ptr %53, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #7
  %335 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %336 unwind label %401

336:                                              ; preds = %332
  %337 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %335) #7
  %338 = sub i64 %337, 1
  store i64 %338, ptr %54, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #7
  store i64 0, ptr %58, align 8, !tbaa !9
  %339 = getelementptr inbounds i64, ptr %58, i64 1
  store i64 1, ptr %339, align 8, !tbaa !9
  %340 = getelementptr inbounds %"class.std::initializer_list.92", ptr %57, i32 0, i32 0
  store ptr %58, ptr %340, align 8, !tbaa !71
  %341 = getelementptr inbounds %"class.std::initializer_list.92", ptr %57, i32 0, i32 1
  store i64 2, ptr %341, align 8, !tbaa !73
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %56, ptr noundef nonnull align 8 dereferenceable(16) %57)
          to label %342 unwind label %405

342:                                              ; preds = %336
  call void @llvm.lifetime.start.p0(i64 24, ptr %59) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #7
  %343 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %344 unwind label %409

344:                                              ; preds = %342
  %345 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %343, i64 noundef 0)
          to label %346 unwind label %409

346:                                              ; preds = %344
  %347 = load i64, ptr %345, align 8, !tbaa !9
  store i64 %347, ptr %61, align 8, !tbaa !9
  %348 = getelementptr inbounds %"class.std::initializer_list.92", ptr %60, i32 0, i32 0
  store ptr %61, ptr %348, align 8, !tbaa !71
  %349 = getelementptr inbounds %"class.std::initializer_list.92", ptr %60, i32 0, i32 1
  store i64 1, ptr %349, align 8, !tbaa !73
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %59, ptr noundef nonnull align 8 dereferenceable(16) %60)
          to label %350 unwind label %409

350:                                              ; preds = %346
  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 %55, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %56, ptr noundef nonnull align 8 dereferenceable(24) %59)
          to label %351 unwind label %413

351:                                              ; preds = %350
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #7
  %352 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %353 unwind label %419

353:                                              ; preds = %351
  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 %62, ptr noundef nonnull align 8 dereferenceable(16) %55, ptr noundef nonnull align 8 dereferenceable(24) %352, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %354 unwind label %419

354:                                              ; preds = %353
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #7
  %355 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %356 unwind label %423

356:                                              ; preds = %354
  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 %63, ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef nonnull align 4 dereferenceable(4) %355)
          to label %357 unwind label %423

357:                                              ; preds = %356
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #7
  invoke void @"_ZZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvENK3$_0clEv"(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %64, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %358 unwind label %427

358:                                              ; preds = %357
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  %359 = load i64, ptr %54, align 8, !tbaa !9
  store i64 %359, ptr %68, align 8, !tbaa !9
  %360 = getelementptr inbounds %"class.std::initializer_list.92", ptr %67, i32 0, i32 0
  store ptr %68, ptr %360, align 8, !tbaa !71
  %361 = getelementptr inbounds %"class.std::initializer_list.92", ptr %67, i32 0, i32 1
  store i64 1, ptr %361, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %66, ptr noundef nonnull align 8 dereferenceable(16) %67)
          to label %362 unwind label %431

362:                                              ; preds = %358
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07SoftmaxEJRNS0_6OutputINS0_4NodeEEENS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.123") align 8 %65, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(48) %66)
          to label %363 unwind label %435

363:                                              ; preds = %362
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #7
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v07ConvertEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef nonnull align 8 dereferenceable(16) %63) #7
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v07SoftmaxEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %71, ptr noundef nonnull align 8 dereferenceable(16) %65) #7
  invoke void @"_ZZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvENK3$_1clESt10shared_ptrINS_4NodeEES6_"(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %69, ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef %70, ptr noundef %71)
          to label %364 unwind label %440

364:                                              ; preds = %363
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %73) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #7
  store i64 0, ptr %75, align 8, !tbaa !9
  %365 = getelementptr inbounds %"class.std::initializer_list.92", ptr %74, i32 0, i32 0
  store ptr %75, ptr %365, align 8, !tbaa !71
  %366 = getelementptr inbounds %"class.std::initializer_list.92", ptr %74, i32 0, i32 1
  store i64 1, ptr %366, align 8, !tbaa !73
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %73, ptr noundef nonnull align 8 dereferenceable(16) %74)
          to label %367 unwind label %444

367:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 24, ptr %76) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #7
  %368 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %69) #7
  %369 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %368, i64 noundef 0)
          to label %370 unwind label %448

370:                                              ; preds = %367
  %371 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %369, i64 noundef 0)
          to label %372 unwind label %448

372:                                              ; preds = %370
  %373 = load i64, ptr %371, align 8, !tbaa !9
  store i64 %373, ptr %78, align 8, !tbaa !9
  %374 = getelementptr inbounds i64, ptr %78, i64 1
  store i64 1, ptr %374, align 8, !tbaa !9
  %375 = getelementptr inbounds %"class.std::initializer_list.92", ptr %77, i32 0, i32 0
  store ptr %78, ptr %375, align 8, !tbaa !71
  %376 = getelementptr inbounds %"class.std::initializer_list.92", ptr %77, i32 0, i32 1
  store i64 2, ptr %376, align 8, !tbaa !73
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %76, ptr noundef nonnull align 8 dereferenceable(16) %77)
          to label %377 unwind label %448

377:                                              ; preds = %372
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS0_4NodeEENS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.117") align 8 %72, ptr noundef nonnull align 8 dereferenceable(16) %69, ptr noundef nonnull align 8 dereferenceable(24) %73, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %378 unwind label %452

378:                                              ; preds = %377
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %73) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %80) #7
  store i1 true, ptr %85, align 1
  store ptr %80, ptr %81, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %82) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %83) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %83, ptr noundef nonnull align 8 dereferenceable(16) %72)
          to label %379 unwind label %458

379:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 24, ptr %84) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %84, ptr noundef nonnull align 8 dereferenceable(16) %64)
          to label %380 unwind label %462

380:                                              ; preds = %379
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind 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) %84)
          to label %381 unwind label %466

381:                                              ; preds = %380
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %80, ptr noundef nonnull align 8 dereferenceable(16) %82)
          to label %382 unwind label %470

382:                                              ; preds = %381
  store i1 false, ptr %85, align 1
  %383 = getelementptr inbounds %"class.std::initializer_list", ptr %79, i32 0, i32 0
  store ptr %80, ptr %383, align 8, !tbaa !74
  %384 = getelementptr inbounds %"class.std::initializer_list", ptr %79, i32 0, i32 1
  store i64 1, ptr %384, align 8, !tbaa !76
  call void @llvm.lifetime.start.p0(i64 1, ptr %86) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  %385 = getelementptr inbounds { ptr, i64 }, ptr %79, i32 0, i32 0
  %386 = load ptr, ptr %385, align 8
  %387 = getelementptr inbounds { ptr, i64 }, ptr %79, i32 0, i32 1
  %388 = load i64, ptr %387, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %386, i64 %388, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %389 unwind label %474

389:                                              ; preds = %382
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #7
  %390 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %80, i32 0, i32 0
  %391 = getelementptr inbounds %"class.ngraph::Output", ptr %390, i64 1
  br label %392

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

396:                                              ; preds = %392
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %84) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %80) #7
  store i32 1, ptr %52, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %72) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__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_ptrIN6ngraph2op2v07SoftmaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %55) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br label %508

397:                                              ; preds = %330
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %7, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %8, align 4
  br label %507

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

405:                                              ; preds = %336
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %7, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %8, align 4
  br label %418

409:                                              ; preds = %346, %344, %342
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %7, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %8, align 4
  br label %417

413:                                              ; preds = %350
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %7, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %8, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #7
  br label %417

417:                                              ; preds = %413, %409
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #7
  br label %418

418:                                              ; preds = %417, %405
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #7
  br label %505

419:                                              ; preds = %353, %351
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %7, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %8, align 4
  br label %504

423:                                              ; preds = %356, %354
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %7, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %8, align 4
  br label %503

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

431:                                              ; preds = %358
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %7, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %8, align 4
  br label %439

435:                                              ; preds = %362
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %7, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %8, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %66) #7
  br label %439

439:                                              ; preds = %435, %431
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %66) #7
  br label %501

440:                                              ; preds = %363
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %7, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #7
  br label %500

444:                                              ; preds = %364
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %7, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %8, align 4
  br label %457

448:                                              ; preds = %372, %370, %367
  %449 = landingpad { ptr, i32 }
          cleanup
  %450 = extractvalue { ptr, i32 } %449, 0
  store ptr %450, ptr %7, align 8
  %451 = extractvalue { ptr, i32 } %449, 1
  store i32 %451, ptr %8, align 4
  br label %456

452:                                              ; preds = %377
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %7, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %8, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  br label %456

456:                                              ; preds = %452, %448
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #7
  br label %457

457:                                              ; preds = %456, %444
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %73) #7
  br label %499

458:                                              ; preds = %378
  %459 = landingpad { ptr, i32 }
          cleanup
  %460 = extractvalue { ptr, i32 } %459, 0
  store ptr %460, ptr %7, align 8
  %461 = extractvalue { ptr, i32 } %459, 1
  store i32 %461, ptr %8, align 4
  br label %488

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

466:                                              ; preds = %380
  %467 = landingpad { ptr, i32 }
          cleanup
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %7, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %8, align 4
  br label %486

470:                                              ; preds = %381
  %471 = landingpad { ptr, i32 }
          cleanup
  %472 = extractvalue { ptr, i32 } %471, 0
  store ptr %472, ptr %7, align 8
  %473 = extractvalue { ptr, i32 } %471, 1
  store i32 %473, ptr %8, align 4
  br label %485

474:                                              ; preds = %382
  %475 = landingpad { ptr, i32 }
          cleanup
  %476 = extractvalue { ptr, i32 } %475, 0
  store ptr %476, ptr %7, align 8
  %477 = extractvalue { ptr, i32 } %475, 1
  store i32 %477, ptr %8, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #7
  %478 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %80, i32 0, i32 0
  %479 = getelementptr inbounds %"class.ngraph::Output", ptr %478, i64 1
  br label %480

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

484:                                              ; preds = %480
  br label %485

485:                                              ; preds = %484, %470
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #7
  br label %486

486:                                              ; preds = %485, %466
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #7
  br label %487

487:                                              ; preds = %486, %462
  call void @llvm.lifetime.end.p0(i64 24, ptr %84) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  br label %488

488:                                              ; preds = %487, %458
  call void @llvm.lifetime.end.p0(i64 24, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #7
  %489 = load i1, ptr %85, align 1
  br i1 %489, label %490, label %498

490:                                              ; preds = %488
  %491 = load ptr, ptr %81, align 8
  %492 = icmp eq ptr %80, %491
  br i1 %492, label %497, label %493

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

497:                                              ; preds = %493, %490
  br label %498

498:                                              ; preds = %497, %488
  call void @llvm.lifetime.end.p0(i64 24, ptr %80) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %72) #7
  br label %499

499:                                              ; preds = %498, %457
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  br label %500

500:                                              ; preds = %499, %440
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07SoftmaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %65) #7
  br label %501

501:                                              ; preds = %500, %439
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #7
  br label %502

502:                                              ; preds = %501, %427
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #7
  br label %503

503:                                              ; preds = %502, %423
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #7
  br label %504

504:                                              ; preds = %503, %419
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %55) #7
  br label %505

505:                                              ; preds = %504, %418
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #7
  br label %506

506:                                              ; preds = %505, %401
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  br label %507

507:                                              ; preds = %506, %397
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br label %509

508:                                              ; preds = %396, %261
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 8, 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

509:                                              ; preds = %507, %329
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #7
  br label %510

510:                                              ; preds = %509, %145
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  br label %511

511:                                              ; preds = %510, %141
  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 %512

512:                                              ; preds = %511
  %513 = load ptr, ptr %7, align 8
  %514 = load i32, ptr %8, align 4
  %515 = insertvalue { ptr, i32 } poison, ptr %513, 0
  %516 = insertvalue { ptr, i32 } %515, i32 %514, 1
  resume { ptr, i32 } %516
}

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3MaxEERKNS0_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: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v18SubtractEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v09BroadcastEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.96") 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_sharedIN6ngraph2op2v03ExpEJRSt10shared_ptrINS1_2v18SubtractEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.99") align 8, ptr noundef nonnull align 8 dereferenceable(16)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS2_3ExpEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK6ngraph7element4TypeneERKS1_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ConvertEEERKSt10shared_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 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_sharedIN6ngraph2op2v18MultiplyEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS2_8SubtractEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_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_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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_8NegativeEENS0_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

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 uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_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_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_ptrIN6ngraph2op2v08NegativeELN9__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_ptrIN6ngraph2op2v18SubtractELN9__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: mustprogress nounwind uwtable
declare dso_local void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__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_ptrIN6ngraph2op2v03ExpELN9__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_ptrIN6ngraph2op2v03MaxELN9__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: inlinehint mustprogress uwtable
declare hidden void @"_ZZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvENK3$_0clEv"(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef nonnull align 8 dereferenceable(24)) #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvENK3$_1clESt10shared_ptrINS_4NodeEES6_"(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef) #5 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS0_4NodeEENS0_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_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1)) #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_ptrIN6ngraph2op2v07SoftmaxELN9__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_ptrIN6ngraph2op2v06OneHotELN9__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, !6, i64 8}
!12 = !{!"_ZTSZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvE3$_0", !6, i64 0, !6, i64 8, !6, i64 16}
!13 = !{!14, !68, i64 680}
!14 = !{!"_ZTSN6ngraph2op2v019SoftmaxCrossEntropyE", !15, i64 0, !68, i64 680, !10, i64 688}
!15 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !16, i64 0}
!16 = !{!"_ZTSN6ngraph2op2OpE", !17, i64 0}
!17 = !{!"_ZTSN6ngraph4NodeE", !18, i64 8, !22, i64 24, !22, i64 80, !27, i64 136, !31, i64 160, !35, i64 184, !10, i64 216, !35, i64 224, !35, i64 256, !37, i64 288, !39, i64 344, !47, i64 392, !52, i64 472, !57, i64 552, !59, i64 608, !60, i64 616, !63, i64 632}
!18 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !19, i64 0}
!19 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !20, i64 0}
!20 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !21, i64 8}
!21 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!22 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !23, i64 0}
!23 = !{!"_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, !24, i64 16, !10, i64 24, !25, i64 32, !6, i64 48}
!24 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!25 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !26, i64 0, !10, i64 8}
!26 = !{!"float", !7, i64 0}
!27 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!31 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!35 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !36, i64 0, !10, i64 8, !7, i64 16}
!36 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!37 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !38, i64 0}
!38 = !{!"_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, !24, i64 16, !10, i64 24, !25, i64 32, !6, i64 48}
!39 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !40, i64 0}
!40 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !41, i64 0}
!41 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !42, i64 0, !44, i64 8}
!42 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !43, i64 0}
!43 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!44 = !{!"_ZTSSt15_Rb_tree_header", !45, i64 0, !10, i64 32}
!45 = !{!"_ZTSSt18_Rb_tree_node_base", !46, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!46 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!47 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !48, i64 0}
!48 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !49, i64 0}
!49 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !50, i64 0}
!50 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !51, i64 16, !51, i64 48}
!51 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!52 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !54, i64 0}
!54 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !55, i64 0}
!55 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !56, i64 16, !56, i64 48}
!56 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!57 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !58, i64 0}
!58 = !{!"_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, !24, i64 16, !10, i64 24, !25, i64 32, !6, i64 48}
!59 = !{!"int", !7, i64 0}
!60 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !61, i64 0}
!61 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !62, i64 8}
!62 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!63 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !64, i64 0}
!64 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !65, i64 0}
!65 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !66, i64 0, !44, i64 8}
!66 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !67, i64 0}
!67 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!68 = !{!"bool", !7, i64 0}
!69 = !{i8 0, i8 2}
!70 = !{}
!71 = !{!72, !6, i64 0}
!72 = !{!"_ZTSSt16initializer_listImE", !6, i64 0, !10, i64 8}
!73 = !{!72, !10, i64 8}
!74 = !{!75, !6, i64 0}
!75 = !{!"_ZTSSt16initializer_listIN6ngraph6OutputINS0_4NodeEEEE", !6, i64 0, !10, i64 8}
!76 = !{!75, !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.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::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.anon = type { ptr, ptr, ptr }
%class.anon.82 = type { ptr }
%"class.std::shared_ptr.83" = type { %"class.std::__shared_ptr.84" }
%"class.std::__shared_ptr.84" = 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::initializer_list.92" = type { ptr, i64 }
%"class.std::shared_ptr.93" = type { %"class.std::__shared_ptr.94" }
%"class.std::__shared_ptr.94" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.96" = type { %"class.std::__shared_ptr.97" }
%"class.std::__shared_ptr.97" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.99" = type { %"class.std::__shared_ptr.100" }
%"class.std::__shared_ptr.100" = type { ptr, %"class.std::__shared_count" }
%"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.105" = type { %"class.std::__shared_ptr.106" }
%"class.std::__shared_ptr.106" = 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::shared_ptr.111" = type { %"class.std::__shared_ptr.112" }
%"class.std::__shared_ptr.112" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.114" = type { %"class.std::__shared_ptr.115" }
%"class.std::__shared_ptr.115" = 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.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.ngraph::Shape" = type { %"class.std::vector.77" }
%"class.std::allocator.71" = type { i8 }
%"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.123" = type { %"class.std::__shared_ptr.124" }
%"class.std::__shared_ptr.124" = type { ptr, %"class.std::__shared_count" }

; 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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_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 i64, align 8
  %6 = alloca %class.anon, align 8
  %7 = alloca %class.anon.82, align 8
  %8 = alloca %"class.std::shared_ptr.83", align 8
  %9 = alloca %"class.ngraph::AxisSet", align 8
  %10 = alloca %"class.std::initializer_list.92", align 8
  %11 = alloca [1 x i64], align 8
  %12 = alloca %"class.std::shared_ptr.93", align 8
  %13 = alloca %"class.ngraph::AxisSet", align 8
  %14 = alloca %"class.std::initializer_list.92", align 8
  %15 = alloca [1 x i64], align 8
  %16 = alloca %"class.std::shared_ptr.96", align 8
  %17 = alloca %"class.std::shared_ptr.99", align 8
  %18 = alloca %"class.std::shared_ptr.102", align 8
  %19 = alloca %"class.ngraph::AxisSet", align 8
  %20 = alloca %"class.std::initializer_list.92", align 8
  %21 = alloca [1 x i64], align 8
  %22 = alloca %"class.std::shared_ptr.105", align 8
  %23 = alloca %"class.std::shared_ptr.96", 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.96", align 8
  %29 = alloca %"class.ngraph::Output", align 8
  %30 = alloca %"class.std::shared_ptr.108", align 8
  %31 = alloca %"class.std::shared_ptr.111", align 8
  %32 = alloca %"class.std::shared_ptr.102", align 8
  %33 = alloca %"class.ngraph::AxisSet", align 8
  %34 = alloca %"class.std::initializer_list.92", align 8
  %35 = alloca [1 x i64], align 8
  %36 = alloca %"class.std::shared_ptr.114", align 8
  %37 = alloca %"class.std::shared_ptr.117", align 8
  %38 = alloca %"class.ngraph::AxisVector", align 8
  %39 = alloca %"class.std::initializer_list.92", align 8
  %40 = alloca [1 x i64], align 8
  %41 = alloca %"class.ngraph::Shape", align 8
  %42 = alloca %"class.std::initializer_list.92", align 8
  %43 = alloca [2 x i64], align 8
  %44 = alloca [1 x %"class.ngraph::Output"], align 8
  %45 = alloca %"class.std::allocator.71", align 1
  %46 = alloca i64, align 8
  %47 = alloca %"class.std::shared_ptr.117", align 8
  %48 = alloca %"class.ngraph::AxisVector", align 8
  %49 = alloca %"class.std::initializer_list.92", align 8
  %50 = alloca [2 x i64], align 8
  %51 = alloca %"class.ngraph::Shape", align 8
  %52 = alloca %"class.std::initializer_list.92", align 8
  %53 = alloca [1 x i64], align 8
  %54 = alloca %"class.std::shared_ptr.120", align 8
  %55 = alloca %"class.std::shared_ptr.108", align 8
  %56 = alloca %"class.std::shared_ptr.74", align 8
  %57 = alloca %"class.std::shared_ptr.123", 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.74", align 8
  %62 = alloca %"class.std::shared_ptr.74", align 8
  %63 = alloca %"class.std::shared_ptr.74", align 8
  %64 = alloca %"class.std::shared_ptr.117", align 8
  %65 = alloca %"class.ngraph::AxisVector", align 8
  %66 = alloca %"class.std::initializer_list.92", align 8
  %67 = alloca [1 x i64], align 8
  %68 = alloca %"class.ngraph::Shape", align 8
  %69 = alloca %"class.std::initializer_list.92", align 8
  %70 = alloca [2 x i64], align 8
  %71 = alloca [1 x %"class.ngraph::Output"], align 8
  %72 = alloca %"class.std::shared_ptr.74", align 8
  %73 = alloca %"class.ngraph::Output", align 8
  %74 = alloca %"class.ngraph::Output", align 8
  %75 = 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 %76 unwind label %122

76:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  %77 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %78 unwind label %124

78:                                               ; preds = %76
  %79 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  %80 = add i64 %79, -1
  store i64 %80, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #7
  store ptr %4, ptr %6, align 8, !tbaa !9
  %81 = getelementptr inbounds i8, ptr %6, i64 8
  store ptr %1, ptr %81, align 8, !tbaa !11
  %82 = getelementptr inbounds i8, ptr %6, i64 16
  store ptr %3, ptr %82, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  store ptr %5, ptr %7, align 8, !tbaa !9
  %83 = getelementptr inbounds i8, ptr %1, i64 680
  %84 = load i8, ptr %83, align 8, !tbaa !13, !range !69, !noundef !70
  %85 = trunc nuw i8 %84 to i1
  br i1 %85, label %86, label %221

86:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  store i64 %80, ptr %11, align 8, !tbaa !5
  store ptr %11, ptr %10, align 8, !tbaa !71
  %87 = getelementptr inbounds i8, ptr %10, i64 8
  store i64 1, ptr %87, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(16) %10)
          to label %88 unwind label %126

88:                                               ; preds = %86
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03MaxEJRNS0_6OutputINS0_4NodeEEENS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.83") align 8 %8, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %9)
          to label %89 unwind label %128

89:                                               ; preds = %88
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #7
  %90 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %91 unwind label %131

91:                                               ; preds = %89
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  store i64 1, ptr %15, align 8, !tbaa !5
  store ptr %15, ptr %14, align 8, !tbaa !71
  %92 = getelementptr inbounds i8, ptr %14, i64 8
  store i64 1, ptr %92, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %93 unwind label %133

93:                                               ; preds = %91
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3MaxEERKNS0_5ShapeENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.93") align 8 %12, ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef nonnull align 8 dereferenceable(24) %90, ptr noundef nonnull align 8 dereferenceable(48) %13)
          to label %94 unwind label %135

94:                                               ; preds = %93
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18SubtractEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v09BroadcastEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.96") align 8 %16, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %95 unwind label %138

95:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03ExpEJRSt10shared_ptrINS1_2v18SubtractEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.99") align 8 %17, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %96 unwind label %140

96:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  %97 = load i64, ptr %5, align 8, !tbaa !5
  store i64 %97, ptr %21, align 8, !tbaa !5
  store ptr %21, ptr %20, align 8, !tbaa !71
  %98 = getelementptr inbounds i8, ptr %20, i64 8
  store i64 1, ptr %98, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %19, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %99 unwind label %142

99:                                               ; preds = %96
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS2_3ExpEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.102") align 8 %18, ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %100 unwind label %144

100:                                              ; preds = %99
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03LogEJRSt10shared_ptrINS2_3SumEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES9_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.105") align 8 %22, ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %101 unwind label %147

101:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18SubtractEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v09BroadcastEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.96") align 8 %23, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %102 unwind label %149

102:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #7
  %103 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  %104 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %103, i64 noundef 0)
          to label %105 unwind label %151

105:                                              ; preds = %102
  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 !71
  %106 = getelementptr inbounds i8, ptr %26, i64 8
  store i64 1, ptr %106, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %25, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %107 unwind label %153

107:                                              ; preds = %105
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3LogEERKNS0_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) %22, ptr noundef nonnull align 8 dereferenceable(24) %104, ptr noundef nonnull align 8 dereferenceable(48) %25)
          to label %108 unwind label %155

108:                                              ; preds = %107
  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
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18SubtractEJRSt10shared_ptrIS3_ERS4_INS1_2v09BroadcastEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.96") align 8 %28, ptr noundef nonnull align 8 dereferenceable(16) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %109 unwind label %158

109:                                              ; preds = %108
  %110 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %111 unwind label %160

111:                                              ; preds = %109
  %112 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %113 unwind label %160

113:                                              ; preds = %111
  %114 = invoke noundef zeroext i1 @_ZNK6ngraph7element4TypeneERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %110, ptr noundef nonnull align 4 dereferenceable(4) %112)
          to label %115 unwind label %160

115:                                              ; preds = %113
  br i1 %114, label %116, label %167

116:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #7
  %117 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %118 unwind label %162

118:                                              ; preds = %116
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ConvertEJRNS0_6OutputINS0_4NodeEEERKNS0_7element4TypeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.108") align 8 %30, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(4) %117)
          to label %119 unwind label %162

119:                                              ; preds = %118
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ConvertEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %120 unwind label %164

120:                                              ; preds = %119
  %121 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  br label %167

122:                                              ; preds = %2
  %123 = landingpad { ptr, i32 }
          cleanup
  br label %325

124:                                              ; preds = %76
  %125 = landingpad { ptr, i32 }
          cleanup
  br label %324

126:                                              ; preds = %86
  %127 = landingpad { ptr, i32 }
          cleanup
  br label %130

128:                                              ; preds = %88
  %129 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  br label %130

130:                                              ; preds = %128, %126
  %.pn80 = phi { ptr, i32 } [ %129, %128 ], [ %127, %126 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  br label %220

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

133:                                              ; preds = %91
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %137

135:                                              ; preds = %93
  %136 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  br label %137

137:                                              ; preds = %135, %133
  %.pn82 = phi { ptr, i32 } [ %136, %135 ], [ %134, %133 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #7
  br label %219

138:                                              ; preds = %94
  %139 = landingpad { ptr, i32 }
          cleanup
  br label %218

140:                                              ; preds = %95
  %141 = landingpad { ptr, i32 }
          cleanup
  br label %217

142:                                              ; preds = %96
  %143 = landingpad { ptr, i32 }
          cleanup
  br label %146

144:                                              ; preds = %99
  %145 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  br label %146

146:                                              ; preds = %144, %142
  %.pn84 = phi { ptr, i32 } [ %145, %144 ], [ %143, %142 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %19) #7
  br label %216

147:                                              ; preds = %100
  %148 = landingpad { ptr, i32 }
          cleanup
  br label %215

149:                                              ; preds = %101
  %150 = landingpad { ptr, i32 }
          cleanup
  br label %214

151:                                              ; preds = %102
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %213

153:                                              ; preds = %105
  %154 = landingpad { ptr, i32 }
          cleanup
  br label %157

155:                                              ; preds = %107
  %156 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #7
  br label %157

157:                                              ; preds = %155, %153
  %.pn86 = phi { ptr, i32 } [ %156, %155 ], [ %154, %153 ]
  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 %213

158:                                              ; preds = %108
  %159 = landingpad { ptr, i32 }
          cleanup
  br label %212

160:                                              ; preds = %113, %111, %109
  %161 = landingpad { ptr, i32 }
          cleanup
  br label %211

162:                                              ; preds = %118, %116
  %163 = landingpad { ptr, i32 }
          cleanup
  br label %166

164:                                              ; preds = %119
  %165 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #7
  br label %166

166:                                              ; preds = %164, %162
  %.pn88 = phi { ptr, i32 } [ %165, %164 ], [ %163, %162 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  br label %211

167:                                              ; preds = %120, %115
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v18MultiplyEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS2_8SubtractEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.111") align 8 %31, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %168 unwind label %187

168:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #7
  %169 = load i64, ptr %5, align 8, !tbaa !5
  store i64 %169, ptr %35, align 8, !tbaa !5
  store ptr %35, ptr %34, align 8, !tbaa !71
  %170 = getelementptr inbounds i8, ptr %34, i64 8
  store i64 1, ptr %170, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %171 unwind label %189

171:                                              ; preds = %168
  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 %32, ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 8 dereferenceable(48) %33)
          to label %172 unwind label %191

172:                                              ; preds = %171
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08NegativeEJRSt10shared_ptrINS2_3SumEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES9_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.114") align 8 %36, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %173 unwind label %194

173:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #7
  store i64 0, ptr %40, align 8, !tbaa !5
  store ptr %40, ptr %39, align 8, !tbaa !71
  %174 = getelementptr inbounds i8, ptr %39, i64 8
  store i64 1, ptr %174, align 8, !tbaa !73
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %175 unwind label %196

175:                                              ; preds = %173
  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
  %176 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %177 unwind label %198

177:                                              ; preds = %175
  %178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %176, i64 noundef 0)
          to label %179 unwind label %198

179:                                              ; preds = %177
  %180 = load i64, ptr %178, align 8, !tbaa !5
  store i64 %180, ptr %43, align 8, !tbaa !5
  %181 = getelementptr inbounds i8, ptr %43, i64 8
  store i64 1, ptr %181, align 8, !tbaa !5
  store ptr %43, ptr %42, align 8, !tbaa !71
  %182 = getelementptr inbounds i8, ptr %42, i64 8
  store i64 2, ptr %182, align 8, !tbaa !73
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %183 unwind label %198

183:                                              ; preds = %179
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_8NegativeEENS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.117") align 8 %37, ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %184 unwind label %200

184:                                              ; preds = %183
  call void @_ZN6ngraph5ShapeD1Ev(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 @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %185 unwind label %204

185:                                              ; preds = %184
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr nonnull %44, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %186 unwind label %.loopexit.loopexit

186:                                              ; preds = %185
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08NegativeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__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_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03ExpELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03MaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %8) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #7
  br label %322

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

189:                                              ; preds = %168
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %193

191:                                              ; preds = %171
  %192 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #7
  br label %193

193:                                              ; preds = %191, %189
  %.pn90 = phi { ptr, i32 } [ %192, %191 ], [ %190, %189 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %33) #7
  br label %209

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

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

198:                                              ; preds = %179, %177, %175
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %202

200:                                              ; preds = %183
  %201 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  br label %202

202:                                              ; preds = %200, %198
  %.pn92 = phi { ptr, i32 } [ %201, %200 ], [ %199, %198 ]
  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 @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  br label %203

203:                                              ; preds = %202, %196
  %.pn92.pn = phi { ptr, i32 } [ %.pn92, %202 ], [ %197, %196 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #7
  br label %207

204:                                              ; preds = %184
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit

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

.loopexit:                                        ; preds = %.loopexit.loopexit, %204
  %.pn95 = phi { ptr, i32 } [ %205, %204 ], [ %206, %.loopexit.loopexit ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #7
  br label %207

207:                                              ; preds = %.loopexit, %203
  %.pn95.pn = phi { ptr, i32 } [ %.pn95, %.loopexit ], [ %.pn92.pn, %203 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08NegativeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #7
  br label %208

208:                                              ; preds = %207, %194
  %.pn95.pn.pn = phi { ptr, i32 } [ %.pn95.pn, %207 ], [ %195, %194 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32) #7
  br label %209

209:                                              ; preds = %208, %193
  %.pn95.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn, %208 ], [ %.pn90, %193 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18MultiplyELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  br label %210

210:                                              ; preds = %209, %187
  %.pn95.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn, %209 ], [ %188, %187 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #7
  br label %211

211:                                              ; preds = %210, %166, %160
  %.pn95.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn, %210 ], [ %.pn88, %166 ], [ %161, %160 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  br label %212

212:                                              ; preds = %211, %158
  %.pn95.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn, %211 ], [ %159, %158 ]
  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 %213

213:                                              ; preds = %212, %157, %151
  %.pn95.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn, %212 ], [ %.pn86, %157 ], [ %152, %151 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  br label %214

214:                                              ; preds = %213, %149
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn, %213 ], [ %150, %149 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  br label %215

215:                                              ; preds = %214, %147
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn, %214 ], [ %148, %147 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #7
  br label %216

216:                                              ; preds = %215, %146
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn, %215 ], [ %.pn84, %146 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03ExpELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  br label %217

217:                                              ; preds = %216, %140
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %216 ], [ %141, %140 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  br label %218

218:                                              ; preds = %217, %138
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %217 ], [ %139, %138 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  br label %219

219:                                              ; preds = %218, %137, %131
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %218 ], [ %.pn82, %137 ], [ %132, %131 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03MaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %8) #7
  br label %220

220:                                              ; preds = %219, %130
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %219 ], [ %.pn80, %130 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #7
  br label %323

221:                                              ; preds = %78
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #7
  %222 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %223 unwind label %269

223:                                              ; preds = %221
  %224 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %222) #7
  %225 = add i64 %224, -1
  store i64 %225, ptr %46, align 8, !tbaa !5
  %226 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %227 unwind label %271

227:                                              ; preds = %223
  %228 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %226) #7
  %229 = add i64 %228, -1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #7
  store i64 0, ptr %50, align 8, !tbaa !5
  %230 = getelementptr inbounds i8, ptr %50, i64 8
  store i64 1, ptr %230, align 8, !tbaa !5
  store ptr %50, ptr %49, align 8, !tbaa !71
  %231 = getelementptr inbounds i8, ptr %49, i64 8
  store i64 2, ptr %231, align 8, !tbaa !73
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %232 unwind label %273

232:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #7
  %233 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %234 unwind label %275

234:                                              ; preds = %232
  %235 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %233, i64 noundef 0)
          to label %236 unwind label %275

236:                                              ; preds = %234
  %237 = load i64, ptr %235, align 8, !tbaa !5
  store i64 %237, ptr %53, align 8, !tbaa !5
  store ptr %53, ptr %52, align 8, !tbaa !71
  %238 = getelementptr inbounds i8, ptr %52, i64 8
  store i64 1, ptr %238, align 8, !tbaa !73
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(16) %52)
          to label %239 unwind label %275

239:                                              ; preds = %236
  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 %47, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %51)
          to label %240 unwind label %277

240:                                              ; preds = %239
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %54) #7
  %241 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %242 unwind label %281

242:                                              ; preds = %240
  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 %54, ptr noundef nonnull align 8 dereferenceable(16) %47, ptr noundef nonnull align 8 dereferenceable(24) %241, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %243 unwind label %281

243:                                              ; preds = %242
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %55) #7
  %244 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %245 unwind label %283

245:                                              ; preds = %243
  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 %55, ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef nonnull align 4 dereferenceable(4) %244)
          to label %246 unwind label %283

246:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %56) #7
  invoke void @"_ZZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvENK3$_0clEv"(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %56, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %247 unwind label %285

247:                                              ; preds = %246
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %57) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #7
  store i64 %229, ptr %60, align 8, !tbaa !5
  store ptr %60, ptr %59, align 8, !tbaa !71
  %248 = getelementptr inbounds i8, ptr %59, i64 8
  store i64 1, ptr %248, align 8, !tbaa !73
  invoke void @_ZN6ngraph7AxisSetC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(48) %58, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %249 unwind label %287

249:                                              ; preds = %247
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07SoftmaxEJRNS0_6OutputINS0_4NodeEEENS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.123") align 8 %57, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %58)
          to label %250 unwind label %289

250:                                              ; preds = %249
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %61) #7
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v07ConvertEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef nonnull align 8 dereferenceable(16) %55) #7
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v07SoftmaxEvEERKS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %63, ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  invoke void @"_ZZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvENK3$_1clESt10shared_ptrINS_4NodeEES6_"(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %61, ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull %62, ptr noundef nonnull %63)
          to label %251 unwind label %292

251:                                              ; preds = %250
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #7
  store i64 0, ptr %67, align 8, !tbaa !5
  store ptr %67, ptr %66, align 8, !tbaa !71
  %252 = getelementptr inbounds i8, ptr %66, i64 8
  store i64 1, ptr %252, align 8, !tbaa !73
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(16) %66)
          to label %253 unwind label %294

253:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %68) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %70) #7
  %254 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  %255 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %254, i64 noundef 0)
          to label %256 unwind label %296

256:                                              ; preds = %253
  %257 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %255, i64 noundef 0)
          to label %258 unwind label %296

258:                                              ; preds = %256
  %259 = load i64, ptr %257, align 8, !tbaa !5
  store i64 %259, ptr %70, align 8, !tbaa !5
  %260 = getelementptr inbounds i8, ptr %70, i64 8
  store i64 1, ptr %260, align 8, !tbaa !5
  store ptr %70, ptr %69, align 8, !tbaa !71
  %261 = getelementptr inbounds i8, ptr %69, i64 8
  store i64 2, ptr %261, align 8, !tbaa !73
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(16) %69)
          to label %262 unwind label %296

262:                                              ; preds = %258
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS0_4NodeEENS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.117") align 8 %64, ptr noundef nonnull align 8 dereferenceable(16) %61, ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(24) %68)
          to label %263 unwind label %298

263:                                              ; preds = %262
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %72) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %73) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %73, ptr noundef nonnull align 8 dereferenceable(16) %64)
          to label %264 unwind label %302

264:                                              ; preds = %263
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %74) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %265 unwind label %304

265:                                              ; preds = %264
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %72, ptr noundef nonnull align 8 dereferenceable(24) %73, ptr noundef nonnull align 8 dereferenceable(24) %74)
          to label %266 unwind label %306

266:                                              ; preds = %265
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %71, ptr noundef nonnull align 8 dereferenceable(16) %72)
          to label %267 unwind label %308

267:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %75) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #7
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr nonnull %71, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %75)
          to label %268 unwind label %.loopexit114.loopexit

268:                                              ; preds = %267
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %75) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %72) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %74) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %72) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07SoftmaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %55) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %55) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__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 @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  br label %322

269:                                              ; preds = %221
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %321

271:                                              ; preds = %223
  %272 = landingpad { ptr, i32 }
          cleanup
  br label %321

273:                                              ; preds = %227
  %274 = landingpad { ptr, i32 }
          cleanup
  br label %280

275:                                              ; preds = %236, %234, %232
  %276 = landingpad { ptr, i32 }
          cleanup
  br label %279

277:                                              ; preds = %239
  %278 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #7
  br label %279

279:                                              ; preds = %277, %275
  %.pn = phi { ptr, i32 } [ %278, %277 ], [ %276, %275 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  br label %280

280:                                              ; preds = %279, %273
  %.pn.pn = phi { ptr, i32 } [ %.pn, %279 ], [ %274, %273 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #7
  br label %320

281:                                              ; preds = %242, %240
  %282 = landingpad { ptr, i32 }
          cleanup
  br label %319

283:                                              ; preds = %245, %243
  %284 = landingpad { ptr, i32 }
          cleanup
  br label %318

285:                                              ; preds = %246
  %286 = landingpad { ptr, i32 }
          cleanup
  br label %317

287:                                              ; preds = %247
  %288 = landingpad { ptr, i32 }
          cleanup
  br label %291

289:                                              ; preds = %249
  %290 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  br label %291

291:                                              ; preds = %289, %287
  %.pn61 = phi { ptr, i32 } [ %290, %289 ], [ %288, %287 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  br label %316

292:                                              ; preds = %250
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #7
  br label %315

294:                                              ; preds = %251
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %301

296:                                              ; preds = %258, %256, %253
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %300

298:                                              ; preds = %262
  %299 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  br label %300

300:                                              ; preds = %298, %296
  %.pn63 = phi { ptr, i32 } [ %299, %298 ], [ %297, %296 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  br label %301

301:                                              ; preds = %300, %294
  %.pn63.pn = phi { ptr, i32 } [ %.pn63, %300 ], [ %295, %294 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %65) #7
  br label %314

302:                                              ; preds = %263
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %313

304:                                              ; preds = %264
  %305 = landingpad { ptr, i32 }
          cleanup
  br label %312

306:                                              ; preds = %265
  %307 = landingpad { ptr, i32 }
          cleanup
  br label %311

308:                                              ; preds = %266
  %309 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit114

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

.loopexit114:                                     ; preds = %.loopexit114.loopexit, %308
  %.pn66 = phi { ptr, i32 } [ %309, %308 ], [ %310, %.loopexit114.loopexit ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %72) #7
  br label %311

311:                                              ; preds = %.loopexit114, %306
  %.pn66.pn = phi { ptr, i32 } [ %.pn66, %.loopexit114 ], [ %307, %306 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #7
  br label %312

312:                                              ; preds = %311, %304
  %.pn66.pn.pn = phi { ptr, i32 } [ %.pn66.pn, %311 ], [ %305, %304 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %74) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #7
  br label %313

313:                                              ; preds = %312, %302
  %.pn66.pn.pn.pn = phi { ptr, i32 } [ %.pn66.pn.pn, %312 ], [ %303, %302 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %72) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #7
  br label %314

314:                                              ; preds = %313, %301
  %.pn66.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn66.pn.pn.pn, %313 ], [ %.pn63.pn, %301 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #7
  br label %315

315:                                              ; preds = %314, %292
  %.sink = phi ptr [ %61, %314 ], [ %62, %292 ]
  %.pn66.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn66.pn.pn.pn.pn, %314 ], [ %293, %292 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %.sink) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07SoftmaxELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  br label %316

316:                                              ; preds = %315, %291
  %.pn66.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn66.pn.pn.pn.pn.pn, %315 ], [ %.pn61, %291 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #7
  br label %317

317:                                              ; preds = %316, %285
  %.pn66.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn66.pn.pn.pn.pn.pn.pn, %316 ], [ %286, %285 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ConvertELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %55) #7
  br label %318

318:                                              ; preds = %317, %283
  %.pn66.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn66.pn.pn.pn.pn.pn.pn.pn, %317 ], [ %284, %283 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %55) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06OneHotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #7
  br label %319

319:                                              ; preds = %318, %281
  %.pn66.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn66.pn.pn.pn.pn.pn.pn.pn.pn, %318 ], [ %282, %281 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #7
  br label %320

320:                                              ; preds = %319, %280
  %.pn66.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn66.pn.pn.pn.pn.pn.pn.pn.pn.pn, %319 ], [ %.pn.pn, %280 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #7
  br label %321

321:                                              ; preds = %271, %320, %269
  %.pn66.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %270, %269 ], [ %.pn66.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %320 ], [ %272, %271 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  br label %323

322:                                              ; preds = %268, %186
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, 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

323:                                              ; preds = %321, %220
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %220 ], [ %.pn66.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %321 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  br label %324

324:                                              ; preds = %323, %124
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %323 ], [ %125, %124 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  br label %325

325:                                              ; preds = %324, %122
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %324 ], [ %123, %122 ]
  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 } %.pn95.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3MaxEERKNS0_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: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v18SubtractEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS1_2v09BroadcastEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.96") 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_sharedIN6ngraph2op2v03ExpEJRSt10shared_ptrINS1_2v18SubtractEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.99") align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRSt10shared_ptrINS2_3ExpEENS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_3LogEERKNS0_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 nounwind uwtable
declare dso_local noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v18SubtractELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1)) local_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

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

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: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK6ngraph7element4TypeneERKS1_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ConvertEEERKSt10shared_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 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_sharedIN6ngraph2op2v18MultiplyEJRNS0_6OutputINS0_4NodeEEERSt10shared_ptrINS2_8SubtractEEEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_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_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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_8NegativeEENS0_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

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 uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_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_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_ptrIN6ngraph2op2v08NegativeELN9__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_ptrIN6ngraph2op2v18SubtractELN9__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: mustprogress nounwind uwtable
declare dso_local void @_ZNSt12__shared_ptrIN6ngraph2op2v03LogELN9__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_ptrIN6ngraph2op2v03ExpELN9__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_ptrIN6ngraph2op2v03MaxELN9__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: inlinehint mustprogress uwtable
declare hidden void @"_ZZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvENK3$_0clEv"(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvENK3$_1clESt10shared_ptrINS_4NodeEES6_"(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef) local_unnamed_addr #5 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS0_4NodeEENS0_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_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1)) local_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_ptrIN6ngraph2op2v07SoftmaxELN9__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_ptrIN6ngraph2op2v06OneHotELN9__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, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !10, i64 8}
!12 = !{!"_ZTSZNK6ngraph2op2v019SoftmaxCrossEntropy12decompose_opEvE3$_0", !10, i64 0, !10, i64 8, !10, i64 16}
!13 = !{!14, !68, i64 680}
!14 = !{!"_ZTSN6ngraph2op2v019SoftmaxCrossEntropyE", !15, i64 0, !68, i64 680, !6, i64 688}
!15 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !16, i64 0}
!16 = !{!"_ZTSN6ngraph2op2OpE", !17, i64 0}
!17 = !{!"_ZTSN6ngraph4NodeE", !18, i64 8, !22, i64 24, !22, i64 80, !27, i64 136, !31, i64 160, !35, i64 184, !6, i64 216, !35, i64 224, !35, i64 256, !37, i64 288, !39, i64 344, !47, i64 392, !52, i64 472, !57, i64 552, !59, i64 608, !60, i64 616, !63, i64 632}
!18 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !19, i64 0}
!19 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !20, i64 0}
!20 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !10, i64 0, !21, i64 8}
!21 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !10, i64 0}
!22 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !23, i64 0}
!23 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !10, i64 0, !6, i64 8, !24, i64 16, !6, i64 24, !25, i64 32, !10, i64 48}
!24 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !10, i64 0}
!25 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !26, i64 0, !6, i64 8}
!26 = !{!"float", !7, i64 0}
!27 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!31 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!35 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !36, i64 0, !6, i64 8, !7, i64 16}
!36 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !10, i64 0}
!37 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !38, i64 0}
!38 = !{!"_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", !10, i64 0, !6, i64 8, !24, i64 16, !6, i64 24, !25, i64 32, !10, i64 48}
!39 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !40, i64 0}
!40 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !41, i64 0}
!41 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !42, i64 0, !44, i64 8}
!42 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !43, i64 0}
!43 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!44 = !{!"_ZTSSt15_Rb_tree_header", !45, i64 0, !6, i64 32}
!45 = !{!"_ZTSSt18_Rb_tree_node_base", !46, i64 0, !10, i64 8, !10, i64 16, !10, i64 24}
!46 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!47 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !48, i64 0}
!48 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !49, i64 0}
!49 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !50, i64 0}
!50 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !10, i64 0, !6, i64 8, !51, i64 16, !51, i64 48}
!51 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24}
!52 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !54, i64 0}
!54 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !55, i64 0}
!55 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !10, i64 0, !6, i64 8, !56, i64 16, !56, i64 48}
!56 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24}
!57 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !58, i64 0}
!58 = !{!"_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", !10, i64 0, !6, i64 8, !24, i64 16, !6, i64 24, !25, i64 32, !10, i64 48}
!59 = !{!"int", !7, i64 0}
!60 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !61, i64 0}
!61 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !10, i64 0, !62, i64 8}
!62 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !10, i64 0}
!63 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !64, i64 0}
!64 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !65, i64 0}
!65 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !66, i64 0, !44, i64 8}
!66 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !67, i64 0}
!67 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!68 = !{!"bool", !7, i64 0}
!69 = !{i8 0, i8 2}
!70 = !{}
!71 = !{!72, !10, i64 0}
!72 = !{!"_ZTSSt16initializer_listImE", !10, i64 0, !6, i64 8}
!73 = !{!72, !6, i64 8}


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