; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/layer_norm.ll (ZNK6ngraph2op2v017LayerNormBackprop12decompose_opEv)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.ngraph::Shape" = type { %"class.std::vector.83" }
%"class.std::vector.83" = type { %"struct.std::_Vector_base.84" }
%"struct.std::_Vector_base.84" = 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::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.97" = type { %"class.std::__shared_ptr.98" }
%"class.std::__shared_ptr.98" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.94" = type { %"class.std::__shared_ptr.95" }
%"class.std::__shared_ptr.95" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.100" = type { %"class.std::__shared_ptr.101" }
%"class.std::__shared_ptr.101" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.85" = type { i8 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.ngraph::AxisSet" = type { %"class.std::set.88" }
%"class.std::set.88" = type { %"class.std::_Rb_tree.89" }
%"class.std::_Rb_tree.89" = 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 }
%"struct.std::pair" = type <{ %"struct.std::_Rb_tree_const_iterator", i8, [7 x i8] }>
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%"class.ngraph::AxisVector" = type { %"class.std::vector.83" }
%"class.std::initializer_list.103" = type { ptr, i64 }
%"class.std::shared_ptr.116" = type { %"class.std::__shared_ptr.117" }
%"class.std::__shared_ptr.117" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::op::v0::LayerNormBackprop" = type { %"class.ngraph::op::util::FusedOp", i8, i8, i64, double }
%"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" }

@.str = external hidden unnamed_addr constant [45 x i8], align 1
@_ZTIN6ngraph12ngraph_errorE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.1 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [49 x i8], align 1

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

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

declare i32 @__gxx_personality_v0(...)

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

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

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #3

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

declare ptr @__cxa_allocate_exception(i64)

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

declare void @__cxa_free_exception(ptr)

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #3

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEElEvT_S7_T0_(ptr, ptr, i64 noundef) #2

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

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

declare void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(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(48)) #3

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

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

declare void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

declare void @_ZN6ngraph7builder8varianceERKNS_6OutputINS_4NodeEEERKNS_7AxisSetEb(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(48), i1 noundef zeroext) #3

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

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

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

declare void @_ZN6ngraphplERKNS_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)) #3

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

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

declare void @_ZN6ngraphdvERKNS_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)) #3

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorERNS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.100") align 8, ptr noundef nonnull align 8 dereferenceable(24), 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 #3

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

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

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

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

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

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

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

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

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

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

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

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

declare void @_ZN6ngraph4Node7outputsEv(ptr dead_on_unwind writable sret(%"class.std::vector.69") align 8, ptr noundef nonnull align 8 dereferenceable(680)) #3

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v017LayerNormBackprop12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.69") align 8 %0, ptr noundef nonnull align 8 dereferenceable(704) %1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca %"class.ngraph::Shape", align 8
  %13 = alloca i64, align 8
  %14 = alloca %"class.ngraph::Output", align 8
  %15 = alloca %"class.ngraph::Output", align 8
  %16 = alloca %"class.std::vector.83", align 8
  %17 = alloca %"class.std::allocator.85", align 1
  %18 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %20 = alloca %"class.ngraph::Output", align 8
  %21 = alloca %"class.std::vector.69", align 8
  %22 = alloca i1, align 1
  %23 = alloca %"class.std::shared_ptr.74", align 8
  %24 = alloca i1, align 1
  %25 = alloca %"class.ngraph::AxisSet", align 8
  %26 = alloca i1, align 1
  %27 = alloca i1, align 1
  %28 = alloca i1, align 1
  %29 = alloca i1, align 1
  %30 = alloca %"class.ngraph::AxisSet", align 8
  %31 = alloca i64, align 8
  %32 = alloca %"struct.std::pair", align 8
  %33 = alloca %"class.std::shared_ptr.94", align 8
  %34 = alloca %"class.ngraph::Output", align 8
  %35 = alloca %"class.std::vector.69", align 8
  %36 = alloca i1, align 1
  %37 = alloca %"class.std::shared_ptr.74", align 8
  %38 = alloca i1, align 1
  %39 = alloca %"class.ngraph::AxisSet", align 8
  %40 = alloca i1, align 1
  %41 = alloca i1, align 1
  %42 = alloca i1, align 1
  %43 = alloca i1, align 1
  %44 = alloca %"class.std::shared_ptr.74", align 8
  %45 = alloca %"class.std::shared_ptr.97", align 8
  %46 = alloca %"class.std::shared_ptr.74", align 8
  %47 = alloca %"class.ngraph::Output", align 8
  %48 = alloca %"class.std::shared_ptr.94", align 8
  %49 = alloca %"class.std::shared_ptr.74", align 8
  %50 = alloca %"class.ngraph::Output", align 8
  %51 = alloca %"class.std::shared_ptr.74", align 8
  %52 = alloca %"class.ngraph::Output", align 8
  %53 = alloca %"class.ngraph::Output", align 8
  %54 = alloca %"class.ngraph::Output", align 8
  %55 = alloca %"class.std::shared_ptr.74", align 8
  %56 = alloca %"class.ngraph::Output", align 8
  %57 = alloca i8, align 1
  %58 = alloca %"class.ngraph::AxisSet", align 8
  %59 = alloca i64, align 8
  %60 = alloca %"struct.std::pair", align 8
  %61 = alloca i64, align 8
  %62 = alloca %"class.ngraph::Output", align 8
  %63 = alloca %"class.ngraph::Shape", align 8
  %64 = alloca %"class.ngraph::Shape", align 8
  %65 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %66 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %67 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %68 = alloca %"class.ngraph::Output", align 8
  %69 = alloca %"class.std::shared_ptr.100", align 8
  %70 = alloca %"class.ngraph::AxisVector", align 8
  %71 = alloca %"class.std::initializer_list.103", align 8
  %72 = alloca [1 x i64], align 8
  %73 = alloca %"class.std::shared_ptr.94", align 8
  %74 = alloca %"class.std::shared_ptr.74", align 8
  %75 = alloca %"class.ngraph::Output", align 8
  %76 = alloca %"class.ngraph::Output", align 8
  %77 = alloca %"class.std::shared_ptr.94", align 8
  %78 = alloca %"class.std::shared_ptr.74", align 8
  %79 = alloca %"class.ngraph::Output", align 8
  %80 = alloca %"class.std::shared_ptr.74", align 8
  %81 = alloca %"class.ngraph::Output", align 8
  %82 = alloca %"class.ngraph::AxisSet", align 8
  %83 = alloca %"class.std::shared_ptr.74", align 8
  %84 = alloca %"class.ngraph::Output", align 8
  %85 = alloca %"class.ngraph::Output", align 8
  %86 = alloca %"class.std::shared_ptr.94", align 8
  %87 = alloca %"class.std::shared_ptr.74", align 8
  %88 = alloca %"class.ngraph::Output", align 8
  %89 = alloca %"class.std::shared_ptr.74", align 8
  %90 = alloca %"class.ngraph::Output", align 8
  %91 = alloca %"class.std::shared_ptr.74", align 8
  %92 = alloca %"class.ngraph::Output", align 8
  %93 = alloca %"class.ngraph::Output", align 8
  %94 = alloca %"class.ngraph::AxisSet", align 8
  %95 = alloca %"class.std::shared_ptr.74", align 8
  %96 = alloca %"class.ngraph::Output", align 8
  %97 = alloca %"class.std::shared_ptr.74", align 8
  %98 = alloca %"class.ngraph::Output", align 8
  %99 = alloca %"class.ngraph::Output", align 8
  %100 = alloca %"class.ngraph::Output", align 8
  %101 = alloca i1, align 1
  %102 = alloca %"class.std::vector.83", align 8
  %103 = alloca %"class.std::allocator.85", align 1
  %104 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %105 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %106 = alloca %"class.std::shared_ptr.116", align 8
  %107 = alloca %"class.std::shared_ptr.116", align 8
  %108 = alloca %"class.std::shared_ptr.74", align 8
  %109 = alloca %"class.ngraph::Output", align 8
  %110 = alloca %"class.std::vector.83", align 8
  %111 = alloca %"class.std::allocator.85", align 1
  %112 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %113 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %114 = alloca %"class.ngraph::AxisVector", align 8
  %115 = alloca %"class.ngraph::Shape", align 8
  %116 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %117 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %118 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %119 = alloca i64, align 8
  %120 = alloca %"class.std::shared_ptr.100", align 8
  %121 = alloca %"class.ngraph::Shape", align 8
  %122 = alloca %"class.std::initializer_list.103", align 8
  %123 = alloca [1 x i64], align 8
  %124 = alloca %"class.std::shared_ptr.100", align 8
  %125 = alloca %"class.ngraph::Shape", align 8
  %126 = alloca %"class.std::initializer_list.103", align 8
  %127 = alloca [1 x i64], align 8
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  %128 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #7
  %129 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef 0)
  store ptr %129, ptr %5, align 8, !tbaa !5
  %130 = load ptr, ptr %5, align 8, !tbaa !5
  %131 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %130)
  br i1 %131, label %132, label %139

132:                                              ; preds = %2
  %133 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %133, ptr noundef @.str)
          to label %134 unwind label %135

134:                                              ; preds = %132
  call void @__cxa_throw(ptr %133, ptr @_ZTIN6ngraph12ngraph_errorE, ptr @_ZNSt13runtime_errorD2Ev) #8
  unreachable

135:                                              ; preds = %132
  %136 = landingpad { ptr, i32 }
          cleanup
  %137 = extractvalue { ptr, i32 } %136, 0
  store ptr %137, ptr %6, align 8
  %138 = extractvalue { ptr, i32 } %136, 1
  store i32 %138, ptr %7, align 4
  call void @__cxa_free_exception(ptr %133) #7
  br label %927

139:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #7
  %140 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef 1)
  store ptr %140, ptr %8, align 8, !tbaa !5
  %141 = load ptr, ptr %8, align 8, !tbaa !5
  %142 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %141)
  br i1 %142, label %143, label %150

143:                                              ; preds = %139
  %144 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %144, ptr noundef @.str.12)
          to label %145 unwind label %146

145:                                              ; preds = %143
  call void @__cxa_throw(ptr %144, ptr @_ZTIN6ngraph12ngraph_errorE, ptr @_ZNSt13runtime_errorD2Ev) #8
  unreachable

146:                                              ; preds = %143
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %6, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %7, align 4
  call void @__cxa_free_exception(ptr %144) #7
  br label %926

150:                                              ; preds = %139
  %151 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 1
  %152 = load i8, ptr %151, align 8, !tbaa !9, !range !67, !noundef !68
  %153 = trunc i8 %152 to i1
  br i1 %153, label %154, label %178

154:                                              ; preds = %150
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #7
  %155 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef 2)
  store ptr %155, ptr %9, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #7
  %156 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef 3)
  store ptr %156, ptr %10, align 8, !tbaa !5
  %157 = load ptr, ptr %9, align 8, !tbaa !5
  %158 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %157)
  br i1 %158, label %159, label %166

159:                                              ; preds = %154
  %160 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %160, ptr noundef @.str.13)
          to label %161 unwind label %162

161:                                              ; preds = %159
  call void @__cxa_throw(ptr %160, ptr @_ZTIN6ngraph12ngraph_errorE, ptr @_ZNSt13runtime_errorD2Ev) #8
  unreachable

162:                                              ; preds = %159
  %163 = landingpad { ptr, i32 }
          cleanup
  %164 = extractvalue { ptr, i32 } %163, 0
  store ptr %164, ptr %6, align 8
  %165 = extractvalue { ptr, i32 } %163, 1
  store i32 %165, ptr %7, align 4
  call void @__cxa_free_exception(ptr %160) #7
  br label %177

166:                                              ; preds = %154
  %167 = load ptr, ptr %10, align 8, !tbaa !5
  %168 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %167)
  br i1 %168, label %169, label %176

169:                                              ; preds = %166
  %170 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %170, ptr noundef @.str.14)
          to label %171 unwind label %172

171:                                              ; preds = %169
  call void @__cxa_throw(ptr %170, ptr @_ZTIN6ngraph12ngraph_errorE, ptr @_ZNSt13runtime_errorD2Ev) #8
  unreachable

172:                                              ; preds = %169
  %173 = landingpad { ptr, i32 }
          cleanup
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %6, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %7, align 4
  call void @__cxa_free_exception(ptr %170) #7
  br label %177

176:                                              ; preds = %166
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  br label %178

177:                                              ; preds = %172, %162
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  br label %926

178:                                              ; preds = %176, %150
  %179 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 2
  %180 = load i8, ptr %179, align 1, !tbaa !69, !range !67, !noundef !68
  %181 = trunc i8 %180 to i1
  br i1 %181, label %182, label %200

182:                                              ; preds = %178
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  %183 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 1
  %184 = load i8, ptr %183, align 8, !tbaa !9, !range !67, !noundef !68
  %185 = trunc i8 %184 to i1
  %186 = zext i1 %185 to i64
  %187 = select i1 %185, i32 4, i32 2
  %188 = sext i32 %187 to i64
  %189 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef %188)
  store ptr %189, ptr %11, align 8, !tbaa !5
  %190 = load ptr, ptr %11, align 8, !tbaa !5
  %191 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %190)
  br i1 %191, label %192, label %199

192:                                              ; preds = %182
  %193 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %193, ptr noundef @.str.1)
          to label %194 unwind label %195

194:                                              ; preds = %192
  call void @__cxa_throw(ptr %193, ptr @_ZTIN6ngraph12ngraph_errorE, ptr @_ZNSt13runtime_errorD2Ev) #8
  unreachable

195:                                              ; preds = %192
  %196 = landingpad { ptr, i32 }
          cleanup
  %197 = extractvalue { ptr, i32 } %196, 0
  store ptr %197, ptr %6, align 8
  %198 = extractvalue { ptr, i32 } %196, 1
  store i32 %198, ptr %7, align 4
  call void @__cxa_free_exception(ptr %193) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  br label %926

199:                                              ; preds = %182
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  br label %200

200:                                              ; preds = %199, %178
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #7
  %201 = load ptr, ptr %5, align 8, !tbaa !5
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %201)
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #7
  %202 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 3
  %203 = load i64, ptr %202, align 8, !tbaa !70
  %204 = icmp sge i64 %203, 0
  br i1 %204, label %205, label %208

205:                                              ; preds = %200
  %206 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 3
  %207 = load i64, ptr %206, align 8, !tbaa !70
  br label %213

208:                                              ; preds = %200
  %209 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %210 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 3
  %211 = load i64, ptr %210, align 8, !tbaa !70
  %212 = add i64 %209, %211
  br label %213

213:                                              ; preds = %208, %205
  %214 = phi i64 [ %207, %205 ], [ %212, %208 ]
  store i64 %214, ptr %13, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %14, ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef 0)
          to label %215 unwind label %268

215:                                              ; preds = %213
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %15, ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef 1)
          to label %216 unwind label %272

216:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #7
  %217 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %218 = load i64, ptr %13, align 8, !tbaa !71
  %219 = sub i64 %217, %218
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  invoke void @_ZNSt6vectorImSaImEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %219, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %220 unwind label %276

220:                                              ; preds = %216
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #7
  %221 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  %222 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %18, i32 0, i32 0
  store ptr %221, ptr %222, align 8
  %223 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  %224 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0
  store ptr %223, ptr %224, align 8
  %225 = load i64, ptr %13, align 8, !tbaa !71
  %226 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %18, i32 0, i32 0
  %227 = load ptr, ptr %226, align 8
  %228 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0
  %229 = load ptr, ptr %228, align 8
  invoke void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEElEvT_S7_T0_(ptr %227, ptr %229, i64 noundef %225)
          to label %230 unwind label %280

230:                                              ; preds = %220
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #7
  %231 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 1
  %232 = load i8, ptr %231, align 8, !tbaa !9, !range !67, !noundef !68
  %233 = trunc i8 %232 to i1
  store i1 false, ptr %22, align 1
  store i1 false, ptr %24, align 1
  store i1 false, ptr %26, align 1
  store i1 false, ptr %27, align 1
  store i1 false, ptr %28, align 1
  store i1 false, ptr %29, align 1
  br i1 %233, label %234, label %236

234:                                              ; preds = %230
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %20, ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef 2)
          to label %235 unwind label %284

235:                                              ; preds = %234
  br label %242

236:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #7
  store i1 true, ptr %22, align 1
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #7
  store i1 true, ptr %24, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %25) #7
  store i1 true, ptr %26, align 1
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %25, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %237 unwind label %288

237:                                              ; preds = %236
  store i1 true, ptr %27, align 1
  invoke void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %23, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(48) %25)
          to label %238 unwind label %292

238:                                              ; preds = %237
  store i1 true, ptr %28, align 1
  %239 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  invoke void @_ZN6ngraph4Node7outputsEv(ptr dead_on_unwind writable sret(%"class.std::vector.69") align 8 %21, ptr noundef nonnull align 8 dereferenceable(680) %239)
          to label %240 unwind label %296

240:                                              ; preds = %238
  store i1 true, ptr %29, align 1
  %241 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef 0) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %241) #7
  br label %242

242:                                              ; preds = %240, %235
  %243 = load i1, ptr %29, align 1
  br i1 %243, label %244, label %245

244:                                              ; preds = %242
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  br label %245

245:                                              ; preds = %244, %242
  %246 = load i1, ptr %28, align 1
  br i1 %246, label %247, label %248

247:                                              ; preds = %245
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  br label %248

248:                                              ; preds = %247, %245
  %249 = load i1, ptr %27, align 1
  br i1 %249, label %250, label %251

250:                                              ; preds = %248
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #7
  br label %251

251:                                              ; preds = %250, %248
  %252 = load i1, ptr %26, align 1
  br i1 %252, label %253, label %254

253:                                              ; preds = %251
  call void @llvm.lifetime.end.p0(i64 48, ptr %25) #7
  br label %254

254:                                              ; preds = %253, %251
  %255 = load i1, ptr %24, align 1
  br i1 %255, label %256, label %257

256:                                              ; preds = %254
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #7
  br label %257

257:                                              ; preds = %256, %254
  %258 = load i1, ptr %22, align 1
  br i1 %258, label %259, label %260

259:                                              ; preds = %257
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #7
  br label %260

260:                                              ; preds = %259, %257
  call void @llvm.lifetime.start.p0(i64 48, ptr %30) #7
  invoke void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %30)
          to label %261 unwind label %317

261:                                              ; preds = %260
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  %262 = load i64, ptr %13, align 8, !tbaa !71
  store i64 %262, ptr %31, align 8, !tbaa !71
  br label %263

263:                                              ; preds = %328, %261
  %264 = load i64, ptr %31, align 8, !tbaa !71
  %265 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %266 = icmp ult i64 %264, %265
  br i1 %266, label %321, label %267

267:                                              ; preds = %263
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  br label %335

268:                                              ; preds = %213
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %6, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %7, align 4
  br label %925

272:                                              ; preds = %215
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %6, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %7, align 4
  br label %924

276:                                              ; preds = %216
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %6, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %7, align 4
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #7
  br label %923

280:                                              ; preds = %220
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %6, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %7, align 4
  br label %922

284:                                              ; preds = %234
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %6, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %7, align 4
  br label %921

288:                                              ; preds = %236
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %6, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %7, align 4
  br label %307

292:                                              ; preds = %237
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %6, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %7, align 4
  br label %303

296:                                              ; preds = %238
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %6, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %7, align 4
  %300 = load i1, ptr %28, align 1
  br i1 %300, label %301, label %302

301:                                              ; preds = %296
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  br label %302

302:                                              ; preds = %301, %296
  br label %303

303:                                              ; preds = %302, %292
  %304 = load i1, ptr %27, align 1
  br i1 %304, label %305, label %306

305:                                              ; preds = %303
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %25) #7
  br label %306

306:                                              ; preds = %305, %303
  br label %307

307:                                              ; preds = %306, %288
  %308 = load i1, ptr %26, align 1
  br i1 %308, label %309, label %310

309:                                              ; preds = %307
  call void @llvm.lifetime.end.p0(i64 48, ptr %25) #7
  br label %310

310:                                              ; preds = %309, %307
  %311 = load i1, ptr %24, align 1
  br i1 %311, label %312, label %313

312:                                              ; preds = %310
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #7
  br label %313

313:                                              ; preds = %312, %310
  %314 = load i1, ptr %22, align 1
  br i1 %314, label %315, label %316

315:                                              ; preds = %313
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #7
  br label %316

316:                                              ; preds = %315, %313
  br label %921

317:                                              ; preds = %260
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %6, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %7, align 4
  br label %920

321:                                              ; preds = %263
  %322 = invoke { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48) %30, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %323 unwind label %331

323:                                              ; preds = %321
  %324 = getelementptr inbounds { ptr, i8 }, ptr %32, i32 0, i32 0
  %325 = extractvalue { ptr, i8 } %322, 0
  store ptr %325, ptr %324, align 8
  %326 = getelementptr inbounds { ptr, i8 }, ptr %32, i32 0, i32 1
  %327 = extractvalue { ptr, i8 } %322, 1
  store i8 %327, ptr %326, align 8
  br label %328

328:                                              ; preds = %323
  %329 = load i64, ptr %31, align 8, !tbaa !71
  %330 = add i64 %329, 1
  store i64 %330, ptr %31, align 8, !tbaa !71
  br label %263, !llvm.loop !72

331:                                              ; preds = %321
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %6, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  br label %919

335:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRNS0_6OutputINS0_4NodeEEERNS0_5ShapeERNS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %33, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(48) %30)
          to label %336 unwind label %394

336:                                              ; preds = %335
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #7
  %337 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 1
  %338 = load i8, ptr %337, align 8, !tbaa !9, !range !67, !noundef !68
  %339 = trunc i8 %338 to i1
  store i1 false, ptr %36, align 1
  store i1 false, ptr %38, align 1
  store i1 false, ptr %40, align 1
  store i1 false, ptr %41, align 1
  store i1 false, ptr %42, align 1
  store i1 false, ptr %43, align 1
  br i1 %339, label %340, label %342

340:                                              ; preds = %336
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %34, ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef 3)
          to label %341 unwind label %398

341:                                              ; preds = %340
  br label %348

342:                                              ; preds = %336
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #7
  store i1 true, ptr %36, align 1
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #7
  store i1 true, ptr %38, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %39) #7
  store i1 true, ptr %40, align 1
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %39, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %343 unwind label %402

343:                                              ; preds = %342
  store i1 true, ptr %41, align 1
  invoke void @_ZN6ngraph7builder8varianceERKNS_6OutputINS_4NodeEEERKNS_7AxisSetEb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %37, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(48) %39, i1 noundef zeroext false)
          to label %344 unwind label %406

344:                                              ; preds = %343
  store i1 true, ptr %42, align 1
  %345 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  invoke void @_ZN6ngraph4Node7outputsEv(ptr dead_on_unwind writable sret(%"class.std::vector.69") align 8 %35, ptr noundef nonnull align 8 dereferenceable(680) %345)
          to label %346 unwind label %410

346:                                              ; preds = %344
  store i1 true, ptr %43, align 1
  %347 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %35, i64 noundef 0) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %347) #7
  br label %348

348:                                              ; preds = %346, %341
  %349 = load i1, ptr %43, align 1
  br i1 %349, label %350, label %351

350:                                              ; preds = %348
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %351

351:                                              ; preds = %350, %348
  %352 = load i1, ptr %42, align 1
  br i1 %352, label %353, label %354

353:                                              ; preds = %351
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #7
  br label %354

354:                                              ; preds = %353, %351
  %355 = load i1, ptr %41, align 1
  br i1 %355, label %356, label %357

356:                                              ; preds = %354
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %39) #7
  br label %357

357:                                              ; preds = %356, %354
  %358 = load i1, ptr %40, align 1
  br i1 %358, label %359, label %360

359:                                              ; preds = %357
  call void @llvm.lifetime.end.p0(i64 48, ptr %39) #7
  br label %360

360:                                              ; preds = %359, %357
  %361 = load i1, ptr %38, align 1
  br i1 %361, label %362, label %363

362:                                              ; preds = %360
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #7
  br label %363

363:                                              ; preds = %362, %360
  %364 = load i1, ptr %36, align 1
  br i1 %364, label %365, label %366

365:                                              ; preds = %363
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #7
  br label %366

366:                                              ; preds = %365, %363
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #7
  %367 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %368 unwind label %431

368:                                              ; preds = %366
  %369 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %370 unwind label %431

370:                                              ; preds = %368
  %371 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 4
  invoke void @_ZN6ngraph7builder13make_constantIdEESt10shared_ptrINS_4NodeEERKNS_7element4TypeERKNS_5ShapeERKT_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %44, ptr noundef nonnull align 4 dereferenceable(4) %367, ptr noundef nonnull align 8 dereferenceable(24) %369, ptr noundef nonnull align 8 dereferenceable(8) %371)
          to label %372 unwind label %431

372:                                              ; preds = %370
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %47) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %373 unwind label %435

373:                                              ; preds = %372
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %46, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %47)
          to label %374 unwind label %439

374:                                              ; preds = %373
  invoke void @_ZSt11make_sharedIN6ngraph2op2v04SqrtEJSt10shared_ptrINS0_4NodeEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES8_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.97") align 8 %45, ptr noundef nonnull align 8 dereferenceable(16) %46)
          to label %375 unwind label %443

375:                                              ; preds = %374
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_4SqrtEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %48, ptr noundef nonnull align 8 dereferenceable(16) %45, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(48) %30)
          to label %376 unwind label %449

376:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %377 unwind label %453

377:                                              ; preds = %376
  invoke void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %51, ptr noundef %52, ptr noundef %53)
          to label %378 unwind label %457

378:                                              ; preds = %377
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %379 unwind label %461

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

380:                                              ; preds = %379
  invoke void @_ZN6ngraphdvERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %49, ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %381 unwind label %469

381:                                              ; preds = %380
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %56) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %56, ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %382 unwind label %477

382:                                              ; preds = %381
  invoke void @_ZN6ngraphdvERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %55, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %56)
          to label %383 unwind label %481

383:                                              ; preds = %382
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #7
  store i8 0, ptr %57, align 1, !tbaa !74
  %384 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 2
  %385 = load i8, ptr %384, align 1, !tbaa !69, !range !67, !noundef !68
  %386 = trunc i8 %385 to i1
  br i1 %386, label %387, label %599

387:                                              ; preds = %383
  call void @llvm.lifetime.start.p0(i64 48, ptr %58) #7
  invoke void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %58)
          to label %388 unwind label %486

388:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #7
  store i64 0, ptr %59, align 8, !tbaa !71
  br label %389

389:                                              ; preds = %497, %388
  %390 = load i64, ptr %59, align 8, !tbaa !71
  %391 = load i64, ptr %13, align 8, !tbaa !71
  %392 = icmp ult i64 %390, %391
  br i1 %392, label %490, label %393

393:                                              ; preds = %389
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #7
  br label %504

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

398:                                              ; preds = %340
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %6, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %7, align 4
  br label %917

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

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

410:                                              ; preds = %344
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %6, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %7, align 4
  %414 = load i1, ptr %42, align 1
  br i1 %414, label %415, label %416

415:                                              ; preds = %410
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #7
  br label %416

416:                                              ; preds = %415, %410
  br label %417

417:                                              ; preds = %416, %406
  %418 = load i1, ptr %41, align 1
  br i1 %418, label %419, label %420

419:                                              ; preds = %417
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %39) #7
  br label %420

420:                                              ; preds = %419, %417
  br label %421

421:                                              ; preds = %420, %402
  %422 = load i1, ptr %40, align 1
  br i1 %422, label %423, label %424

423:                                              ; preds = %421
  call void @llvm.lifetime.end.p0(i64 48, ptr %39) #7
  br label %424

424:                                              ; preds = %423, %421
  %425 = load i1, ptr %38, align 1
  br i1 %425, label %426, label %427

426:                                              ; preds = %424
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #7
  br label %427

427:                                              ; preds = %426, %424
  %428 = load i1, ptr %36, align 1
  br i1 %428, label %429, label %430

429:                                              ; preds = %427
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #7
  br label %430

430:                                              ; preds = %429, %427
  br label %917

431:                                              ; preds = %370, %368, %366
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %6, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %7, align 4
  br label %916

435:                                              ; preds = %372
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %6, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %7, align 4
  br label %448

439:                                              ; preds = %373
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %6, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %7, align 4
  br label %447

443:                                              ; preds = %374
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %6, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %7, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #7
  br label %447

447:                                              ; preds = %443, %439
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  br label %448

448:                                              ; preds = %447, %435
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #7
  br label %915

449:                                              ; preds = %375
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %6, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %7, align 4
  br label %914

453:                                              ; preds = %376
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %6, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %7, align 4
  br label %476

457:                                              ; preds = %377
  %458 = landingpad { ptr, i32 }
          cleanup
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %6, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %7, align 4
  br label %475

461:                                              ; preds = %378
  %462 = landingpad { ptr, i32 }
          cleanup
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %6, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, ptr %7, align 4
  br label %474

465:                                              ; preds = %379
  %466 = landingpad { ptr, i32 }
          cleanup
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %6, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %7, align 4
  br label %473

469:                                              ; preds = %380
  %470 = landingpad { ptr, i32 }
          cleanup
  %471 = extractvalue { ptr, i32 } %470, 0
  store ptr %471, ptr %6, align 8
  %472 = extractvalue { ptr, i32 } %470, 1
  store i32 %472, ptr %7, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  br label %473

473:                                              ; preds = %469, %465
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #7
  br label %474

474:                                              ; preds = %473, %461
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #7
  br label %475

475:                                              ; preds = %474, %457
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #7
  br label %476

476:                                              ; preds = %475, %453
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #7
  br label %913

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

481:                                              ; preds = %382
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %6, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %7, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #7
  br label %485

485:                                              ; preds = %481, %477
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #7
  br label %912

486:                                              ; preds = %387
  %487 = landingpad { ptr, i32 }
          cleanup
  %488 = extractvalue { ptr, i32 } %487, 0
  store ptr %488, ptr %6, align 8
  %489 = extractvalue { ptr, i32 } %487, 1
  store i32 %489, ptr %7, align 4
  br label %598

490:                                              ; preds = %389
  %491 = invoke { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48) %58, ptr noundef nonnull align 8 dereferenceable(8) %59)
          to label %492 unwind label %500

492:                                              ; preds = %490
  %493 = getelementptr inbounds { ptr, i8 }, ptr %60, i32 0, i32 0
  %494 = extractvalue { ptr, i8 } %491, 0
  store ptr %494, ptr %493, align 8
  %495 = getelementptr inbounds { ptr, i8 }, ptr %60, i32 0, i32 1
  %496 = extractvalue { ptr, i8 } %491, 1
  store i8 %496, ptr %495, align 8
  br label %497

497:                                              ; preds = %492
  %498 = load i64, ptr %59, align 8, !tbaa !71
  %499 = add i64 %498, 1
  store i64 %499, ptr %59, align 8, !tbaa !71
  br label %389, !llvm.loop !75

500:                                              ; preds = %490
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %6, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #7
  br label %597

504:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #7
  %505 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 1
  %506 = load i8, ptr %505, align 8, !tbaa !9, !range !67, !noundef !68
  %507 = trunc i8 %506 to i1
  %508 = zext i1 %507 to i64
  %509 = select i1 %507, i32 4, i32 2
  %510 = sext i32 %509 to i64
  store i64 %510, ptr %61, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #7
  %511 = load i64, ptr %61, align 8, !tbaa !71
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %62, ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef %511)
          to label %512 unwind label %542

512:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 24, ptr %63) #7
  %513 = load i64, ptr %61, align 8, !tbaa !71
  %514 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %128, i64 noundef %513)
          to label %515 unwind label %546

515:                                              ; preds = %512
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %514)
          to label %516 unwind label %546

516:                                              ; preds = %515
  %517 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %518 = load i64, ptr %13, align 8, !tbaa !71
  %519 = sub i64 %517, %518
  %520 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  %521 = icmp ne i64 %519, %520
  br i1 %521, label %522, label %569

522:                                              ; preds = %516
  store i8 1, ptr %57, align 1, !tbaa !74
  call void @llvm.lifetime.start.p0(i64 24, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #7
  %523 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %524 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %66, i32 0, i32 0
  store ptr %523, ptr %524, align 8
  %525 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 3
  %526 = load i64, ptr %525, align 8, !tbaa !70
  %527 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %66, i64 noundef %526) #7
  %528 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  store ptr %527, ptr %528, align 8
  %529 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %530 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %67, i32 0, i32 0
  store ptr %529, ptr %530, align 8
  %531 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  %532 = load ptr, ptr %531, align 8
  %533 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %67, i32 0, i32 0
  %534 = load ptr, ptr %533, align 8
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr %532, ptr %534)
          to label %535 unwind label %550

535:                                              ; preds = %522
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %68) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %70) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #7
  store i64 0, ptr %72, align 8, !tbaa !71
  %536 = getelementptr inbounds %"class.std::initializer_list.103", ptr %71, i32 0, i32 0
  store ptr %72, ptr %536, align 8, !tbaa !76
  %537 = getelementptr inbounds %"class.std::initializer_list.103", ptr %71, i32 0, i32 1
  store i64 1, ptr %537, align 8, !tbaa !78
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(16) %71)
          to label %538 unwind label %554

538:                                              ; preds = %535
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorERNS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.100") align 8 %69, ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(24) %64)
          to label %539 unwind label %558

539:                                              ; preds = %538
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(16) %69)
          to label %540 unwind label %562

540:                                              ; preds = %539
  %541 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #7
  br label %569

542:                                              ; preds = %504
  %543 = landingpad { ptr, i32 }
          cleanup
  %544 = extractvalue { ptr, i32 } %543, 0
  store ptr %544, ptr %6, align 8
  %545 = extractvalue { ptr, i32 } %543, 1
  store i32 %545, ptr %7, align 4
  br label %596

546:                                              ; preds = %515, %512
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %6, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %7, align 4
  br label %595

550:                                              ; preds = %522
  %551 = landingpad { ptr, i32 }
          cleanup
  %552 = extractvalue { ptr, i32 } %551, 0
  store ptr %552, ptr %6, align 8
  %553 = extractvalue { ptr, i32 } %551, 1
  store i32 %553, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  br label %568

554:                                              ; preds = %535
  %555 = landingpad { ptr, i32 }
          cleanup
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %6, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %7, align 4
  br label %567

558:                                              ; preds = %538
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %6, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %7, align 4
  br label %566

562:                                              ; preds = %539
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %6, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %7, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  br label %566

566:                                              ; preds = %562, %558
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  br label %567

567:                                              ; preds = %566, %554
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #7
  br label %568

568:                                              ; preds = %567, %550
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #7
  br label %594

569:                                              ; preds = %540, %516
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRNS0_6OutputINS0_4NodeEEERNS0_5ShapeERNS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %73, ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(48) %58)
          to label %570 unwind label %575

570:                                              ; preds = %569
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %75) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %75, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %571 unwind label %579

571:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 24, ptr %76) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %76, ptr noundef nonnull align 8 dereferenceable(16) %73)
          to label %572 unwind label %583

572:                                              ; preds = %571
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %74, ptr noundef nonnull align 8 dereferenceable(24) %75, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %573 unwind label %587

573:                                              ; preds = %572
  %574 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(16) %55, ptr noundef nonnull align 8 dereferenceable(16) %74) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %58) #7
  br label %599

575:                                              ; preds = %569
  %576 = landingpad { ptr, i32 }
          cleanup
  %577 = extractvalue { ptr, i32 } %576, 0
  store ptr %577, ptr %6, align 8
  %578 = extractvalue { ptr, i32 } %576, 1
  store i32 %578, ptr %7, align 4
  br label %593

579:                                              ; preds = %570
  %580 = landingpad { ptr, i32 }
          cleanup
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %6, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %7, align 4
  br label %592

583:                                              ; preds = %571
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %6, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %7, align 4
  br label %591

587:                                              ; preds = %572
  %588 = landingpad { ptr, i32 }
          cleanup
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %6, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %7, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  br label %591

591:                                              ; preds = %587, %583
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #7
  br label %592

592:                                              ; preds = %591, %579
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #7
  br label %593

593:                                              ; preds = %592, %575
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  br label %594

594:                                              ; preds = %593, %568
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  br label %595

595:                                              ; preds = %594, %546
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  br label %596

596:                                              ; preds = %595, %542
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  br label %597

597:                                              ; preds = %596, %500
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  br label %598

598:                                              ; preds = %597, %486
  call void @llvm.lifetime.end.p0(i64 48, ptr %58) #7
  br label %911

599:                                              ; preds = %573, %383
  call void @llvm.lifetime.start.p0(i64 16, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %79) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %80) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %81) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %81, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %600 unwind label %692

600:                                              ; preds = %599
  invoke void @_ZN6ngraphngERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %80, ptr noundef nonnull align 8 dereferenceable(24) %81)
          to label %601 unwind label %696

601:                                              ; preds = %600
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 8 dereferenceable(16) %80)
          to label %602 unwind label %700

602:                                              ; preds = %601
  call void @llvm.lifetime.start.p0(i64 48, ptr %82) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %82, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %603 unwind label %704

603:                                              ; preds = %602
  invoke void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %78, ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 8 dereferenceable(48) %82)
          to label %604 unwind label %708

604:                                              ; preds = %603
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJSt10shared_ptrINS0_4NodeEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %77, ptr noundef nonnull align 8 dereferenceable(16) %78, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(48) %30)
          to label %605 unwind label %712

605:                                              ; preds = %604
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %82) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %80) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %81) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %83) #7
  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) %49)
          to label %606 unwind label %721

606:                                              ; preds = %605
  call void @llvm.lifetime.start.p0(i64 24, ptr %85) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %87) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %88) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %89) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %90) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %91) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %92) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %92, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %607 unwind label %725

607:                                              ; preds = %606
  invoke void @_ZN6ngraphngERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %91, ptr noundef nonnull align 8 dereferenceable(24) %92)
          to label %608 unwind label %729

608:                                              ; preds = %607
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %90, ptr noundef nonnull align 8 dereferenceable(16) %91)
          to label %609 unwind label %733

609:                                              ; preds = %608
  call void @llvm.lifetime.start.p0(i64 24, ptr %93) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %610 unwind label %737

610:                                              ; preds = %609
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %89, ptr noundef nonnull align 8 dereferenceable(24) %90, ptr noundef nonnull align 8 dereferenceable(24) %93)
          to label %611 unwind label %741

611:                                              ; preds = %610
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %88, ptr noundef nonnull align 8 dereferenceable(16) %89)
          to label %612 unwind label %745

612:                                              ; preds = %611
  call void @llvm.lifetime.start.p0(i64 48, ptr %94) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %94, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %613 unwind label %749

613:                                              ; preds = %612
  invoke void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %87, ptr noundef nonnull align 8 dereferenceable(24) %88, ptr noundef nonnull align 8 dereferenceable(48) %94)
          to label %614 unwind label %753

614:                                              ; preds = %613
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJSt10shared_ptrINS0_4NodeEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %86, ptr noundef nonnull align 8 dereferenceable(16) %87, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(48) %30)
          to label %615 unwind label %757

615:                                              ; preds = %614
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %85, ptr noundef nonnull align 8 dereferenceable(16) %86)
          to label %616 unwind label %761

616:                                              ; preds = %615
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %83, ptr noundef nonnull align 8 dereferenceable(24) %84, ptr noundef nonnull align 8 dereferenceable(24) %85)
          to label %617 unwind label %765

617:                                              ; preds = %616
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %87) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %94) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %94) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %93) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %91) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #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 @llvm.lifetime.start.p0(i64 16, ptr %95) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %96) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %98) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %618 unwind label %780

618:                                              ; preds = %617
  call void @llvm.lifetime.start.p0(i64 24, ptr %99) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %99, ptr noundef nonnull align 8 dereferenceable(16) %77)
          to label %619 unwind label %784

619:                                              ; preds = %618
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %97, ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 8 dereferenceable(24) %99)
          to label %620 unwind label %788

620:                                              ; preds = %619
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %96, ptr noundef nonnull align 8 dereferenceable(16) %97)
          to label %621 unwind label %792

621:                                              ; preds = %620
  call void @llvm.lifetime.start.p0(i64 24, ptr %100) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %100, ptr noundef nonnull align 8 dereferenceable(16) %83)
          to label %622 unwind label %796

622:                                              ; preds = %621
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %95, ptr noundef nonnull align 8 dereferenceable(24) %96, ptr noundef nonnull align 8 dereferenceable(24) %100)
          to label %623 unwind label %800

623:                                              ; preds = %622
  %624 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(16) %55, ptr noundef nonnull align 8 dereferenceable(16) %95) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %95) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %96) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %99) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %95) #7
  store i1 false, ptr %101, align 1
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  %625 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrIS2_EEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %626 unwind label %809

626:                                              ; preds = %623
  %627 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 2
  %628 = load i8, ptr %627, align 1, !tbaa !69, !range !67, !noundef !68
  %629 = trunc i8 %628 to i1
  br i1 %629, label %630, label %903

630:                                              ; preds = %626
  call void @llvm.lifetime.start.p0(i64 24, ptr %102) #7
  %631 = load i64, ptr %13, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  invoke void @_ZNSt6vectorImSaImEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %102, i64 noundef %631, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %632 unwind label %813

632:                                              ; preds = %630
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #7
  %633 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %102) #7
  %634 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %104, i32 0, i32 0
  store ptr %633, ptr %634, align 8
  %635 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %102) #7
  %636 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %105, i32 0, i32 0
  store ptr %635, ptr %636, align 8
  %637 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %104, i32 0, i32 0
  %638 = load ptr, ptr %637, align 8
  %639 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %105, i32 0, i32 0
  %640 = load ptr, ptr %639, align 8
  invoke void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEiEvT_S7_T0_(ptr %638, ptr %640, i32 noundef 0)
          to label %641 unwind label %817

641:                                              ; preds = %632
  call void @llvm.lifetime.start.p0(i64 16, ptr %106) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRNS0_6OutputINS0_4NodeEEERSt6vectorImSaImEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.116") align 8 %106, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %102)
          to label %642 unwind label %821

642:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 16, ptr %107) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %108) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %109) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %643 unwind label %825

643:                                              ; preds = %642
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %108, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %109)
          to label %644 unwind label %829

644:                                              ; preds = %643
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJSt10shared_ptrINS0_4NodeEERSt6vectorImSaImEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.116") align 8 %107, ptr noundef nonnull align 8 dereferenceable(16) %108, ptr noundef nonnull align 8 dereferenceable(24) %102)
          to label %645 unwind label %833

645:                                              ; preds = %644
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %108) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %108) #7
  %646 = load i8, ptr %57, align 1, !tbaa !74, !range !67, !noundef !68
  %647 = trunc i8 %646 to i1
  br i1 %647, label %648, label %888

648:                                              ; preds = %645
  call void @llvm.lifetime.start.p0(i64 24, ptr %110) #7
  %649 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %650 = load i64, ptr %13, align 8, !tbaa !71
  %651 = sub i64 %649, %650
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  invoke void @_ZNSt6vectorImSaImEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %651, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %652 unwind label %839

652:                                              ; preds = %648
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  %653 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %110) #7
  %654 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %112, i32 0, i32 0
  store ptr %653, ptr %654, align 8
  %655 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %110) #7
  %656 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %113, i32 0, i32 0
  store ptr %655, ptr %656, align 8
  %657 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %112, i32 0, i32 0
  %658 = load ptr, ptr %657, align 8
  %659 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %113, i32 0, i32 0
  %660 = load ptr, ptr %659, align 8
  invoke void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEiEvT_S7_T0_(ptr %658, ptr %660, i32 noundef 0)
          to label %661 unwind label %843

661:                                              ; preds = %652
  call void @llvm.lifetime.start.p0(i64 24, ptr %114) #7
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(24) %114, ptr noundef nonnull align 8 dereferenceable(24) %110)
          to label %662 unwind label %847

662:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 24, ptr %115) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #7
  %663 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %664 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %117, i32 0, i32 0
  store ptr %663, ptr %664, align 8
  %665 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %128, i32 0, i32 3
  %666 = load i64, ptr %665, align 8, !tbaa !70
  %667 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %117, i64 noundef %666) #7
  %668 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %116, i32 0, i32 0
  store ptr %667, ptr %668, align 8
  %669 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %670 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %118, i32 0, i32 0
  store ptr %669, ptr %670, align 8
  %671 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %116, i32 0, i32 0
  %672 = load ptr, ptr %671, align 8
  %673 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %118, i32 0, i32 0
  %674 = load ptr, ptr %673, align 8
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24) %115, ptr %672, ptr %674)
          to label %675 unwind label %851

675:                                              ; preds = %662
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #7
  %676 = invoke noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %115)
          to label %677 unwind label %855

677:                                              ; preds = %675
  store i64 %676, ptr %119, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %121) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %122) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #7
  %678 = load i64, ptr %119, align 8, !tbaa !71
  store i64 %678, ptr %123, align 8, !tbaa !71
  %679 = getelementptr inbounds %"class.std::initializer_list.103", ptr %122, i32 0, i32 0
  store ptr %123, ptr %679, align 8, !tbaa !76
  %680 = getelementptr inbounds %"class.std::initializer_list.103", ptr %122, i32 0, i32 1
  store i64 1, ptr %680, align 8, !tbaa !78
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(16) %122)
          to label %681 unwind label %859

681:                                              ; preds = %677
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_3SumEERNS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.100") align 8 %120, ptr noundef nonnull align 8 dereferenceable(16) %107, ptr noundef nonnull align 8 dereferenceable(24) %114, ptr noundef nonnull align 8 dereferenceable(24) %121)
          to label %682 unwind label %863

682:                                              ; preds = %681
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %124) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %125) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %126) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #7
  %683 = load i64, ptr %119, align 8, !tbaa !71
  store i64 %683, ptr %127, align 8, !tbaa !71
  %684 = getelementptr inbounds %"class.std::initializer_list.103", ptr %126, i32 0, i32 0
  store ptr %127, ptr %684, align 8, !tbaa !76
  %685 = getelementptr inbounds %"class.std::initializer_list.103", ptr %126, i32 0, i32 1
  store i64 1, ptr %685, align 8, !tbaa !78
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %125, ptr noundef nonnull align 8 dereferenceable(16) %126)
          to label %686 unwind label %868

686:                                              ; preds = %682
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_3SumEERNS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.100") align 8 %124, ptr noundef nonnull align 8 dereferenceable(16) %106, ptr noundef nonnull align 8 dereferenceable(24) %114, ptr noundef nonnull align 8 dereferenceable(24) %125)
          to label %687 unwind label %872

687:                                              ; preds = %686
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %125) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %125) #7
  %688 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v07ReshapeEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %120)
          to label %689 unwind label %877

689:                                              ; preds = %687
  %690 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v07ReshapeEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %124)
          to label %691 unwind label %877

691:                                              ; preds = %689
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %124) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %124) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %120) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %115) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %115) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %114) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %110) #7
  br label %897

692:                                              ; preds = %599
  %693 = landingpad { ptr, i32 }
          cleanup
  %694 = extractvalue { ptr, i32 } %693, 0
  store ptr %694, ptr %6, align 8
  %695 = extractvalue { ptr, i32 } %693, 1
  store i32 %695, ptr %7, align 4
  br label %720

696:                                              ; preds = %600
  %697 = landingpad { ptr, i32 }
          cleanup
  %698 = extractvalue { ptr, i32 } %697, 0
  store ptr %698, ptr %6, align 8
  %699 = extractvalue { ptr, i32 } %697, 1
  store i32 %699, ptr %7, align 4
  br label %719

700:                                              ; preds = %601
  %701 = landingpad { ptr, i32 }
          cleanup
  %702 = extractvalue { ptr, i32 } %701, 0
  store ptr %702, ptr %6, align 8
  %703 = extractvalue { ptr, i32 } %701, 1
  store i32 %703, ptr %7, align 4
  br label %718

704:                                              ; preds = %602
  %705 = landingpad { ptr, i32 }
          cleanup
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %6, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %7, align 4
  br label %717

708:                                              ; preds = %603
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %6, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %7, align 4
  br label %716

712:                                              ; preds = %604
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %6, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %7, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #7
  br label %716

716:                                              ; preds = %712, %708
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  br label %717

717:                                              ; preds = %716, %704
  call void @llvm.lifetime.end.p0(i64 48, ptr %82) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #7
  br label %718

718:                                              ; preds = %717, %700
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %80) #7
  br label %719

719:                                              ; preds = %718, %696
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %81) #7
  br label %720

720:                                              ; preds = %719, %692
  call void @llvm.lifetime.end.p0(i64 24, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #7
  br label %910

721:                                              ; preds = %605
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %6, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %7, align 4
  br label %779

725:                                              ; preds = %606
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %6, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %7, align 4
  br label %778

729:                                              ; preds = %607
  %730 = landingpad { ptr, i32 }
          cleanup
  %731 = extractvalue { ptr, i32 } %730, 0
  store ptr %731, ptr %6, align 8
  %732 = extractvalue { ptr, i32 } %730, 1
  store i32 %732, ptr %7, align 4
  br label %777

733:                                              ; preds = %608
  %734 = landingpad { ptr, i32 }
          cleanup
  %735 = extractvalue { ptr, i32 } %734, 0
  store ptr %735, ptr %6, align 8
  %736 = extractvalue { ptr, i32 } %734, 1
  store i32 %736, ptr %7, align 4
  br label %776

737:                                              ; preds = %609
  %738 = landingpad { ptr, i32 }
          cleanup
  %739 = extractvalue { ptr, i32 } %738, 0
  store ptr %739, ptr %6, align 8
  %740 = extractvalue { ptr, i32 } %738, 1
  store i32 %740, ptr %7, align 4
  br label %775

741:                                              ; preds = %610
  %742 = landingpad { ptr, i32 }
          cleanup
  %743 = extractvalue { ptr, i32 } %742, 0
  store ptr %743, ptr %6, align 8
  %744 = extractvalue { ptr, i32 } %742, 1
  store i32 %744, ptr %7, align 4
  br label %774

745:                                              ; preds = %611
  %746 = landingpad { ptr, i32 }
          cleanup
  %747 = extractvalue { ptr, i32 } %746, 0
  store ptr %747, ptr %6, align 8
  %748 = extractvalue { ptr, i32 } %746, 1
  store i32 %748, ptr %7, align 4
  br label %773

749:                                              ; preds = %612
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %6, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %7, align 4
  br label %772

753:                                              ; preds = %613
  %754 = landingpad { ptr, i32 }
          cleanup
  %755 = extractvalue { ptr, i32 } %754, 0
  store ptr %755, ptr %6, align 8
  %756 = extractvalue { ptr, i32 } %754, 1
  store i32 %756, ptr %7, align 4
  br label %771

757:                                              ; preds = %614
  %758 = landingpad { ptr, i32 }
          cleanup
  %759 = extractvalue { ptr, i32 } %758, 0
  store ptr %759, ptr %6, align 8
  %760 = extractvalue { ptr, i32 } %758, 1
  store i32 %760, ptr %7, align 4
  br label %770

761:                                              ; preds = %615
  %762 = landingpad { ptr, i32 }
          cleanup
  %763 = extractvalue { ptr, i32 } %762, 0
  store ptr %763, ptr %6, align 8
  %764 = extractvalue { ptr, i32 } %762, 1
  store i32 %764, ptr %7, align 4
  br label %769

765:                                              ; preds = %616
  %766 = landingpad { ptr, i32 }
          cleanup
  %767 = extractvalue { ptr, i32 } %766, 0
  store ptr %767, ptr %6, align 8
  %768 = extractvalue { ptr, i32 } %766, 1
  store i32 %768, ptr %7, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #7
  br label %769

769:                                              ; preds = %765, %761
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #7
  br label %770

770:                                              ; preds = %769, %757
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %87) #7
  br label %771

771:                                              ; preds = %770, %753
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %94) #7
  br label %772

772:                                              ; preds = %771, %749
  call void @llvm.lifetime.end.p0(i64 48, ptr %94) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #7
  br label %773

773:                                              ; preds = %772, %745
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #7
  br label %774

774:                                              ; preds = %773, %741
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #7
  br label %775

775:                                              ; preds = %774, %737
  call void @llvm.lifetime.end.p0(i64 24, ptr %93) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #7
  br label %776

776:                                              ; preds = %775, %733
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %91) #7
  br label %777

777:                                              ; preds = %776, %729
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #7
  br label %778

778:                                              ; preds = %777, %725
  call void @llvm.lifetime.end.p0(i64 24, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #7
  br label %779

779:                                              ; preds = %778, %721
  call void @llvm.lifetime.end.p0(i64 24, ptr %84) #7
  br label %909

780:                                              ; preds = %617
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %6, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %7, align 4
  br label %808

784:                                              ; preds = %618
  %785 = landingpad { ptr, i32 }
          cleanup
  %786 = extractvalue { ptr, i32 } %785, 0
  store ptr %786, ptr %6, align 8
  %787 = extractvalue { ptr, i32 } %785, 1
  store i32 %787, ptr %7, align 4
  br label %807

788:                                              ; preds = %619
  %789 = landingpad { ptr, i32 }
          cleanup
  %790 = extractvalue { ptr, i32 } %789, 0
  store ptr %790, ptr %6, align 8
  %791 = extractvalue { ptr, i32 } %789, 1
  store i32 %791, ptr %7, align 4
  br label %806

792:                                              ; preds = %620
  %793 = landingpad { ptr, i32 }
          cleanup
  %794 = extractvalue { ptr, i32 } %793, 0
  store ptr %794, ptr %6, align 8
  %795 = extractvalue { ptr, i32 } %793, 1
  store i32 %795, ptr %7, align 4
  br label %805

796:                                              ; preds = %621
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %6, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %7, align 4
  br label %804

800:                                              ; preds = %622
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %6, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %7, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #7
  br label %804

804:                                              ; preds = %800, %796
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %96) #7
  br label %805

805:                                              ; preds = %804, %792
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #7
  br label %806

806:                                              ; preds = %805, %788
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  br label %807

807:                                              ; preds = %806, %784
  call void @llvm.lifetime.end.p0(i64 24, ptr %99) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  br label %808

808:                                              ; preds = %807, %780
  call void @llvm.lifetime.end.p0(i64 24, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %95) #7
  br label %908

809:                                              ; preds = %623
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %6, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %7, align 4
  br label %907

813:                                              ; preds = %630
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %6, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %7, align 4
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #7
  br label %902

817:                                              ; preds = %632
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %6, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %7, align 4
  br label %901

821:                                              ; preds = %641
  %822 = landingpad { ptr, i32 }
          cleanup
  %823 = extractvalue { ptr, i32 } %822, 0
  store ptr %823, ptr %6, align 8
  %824 = extractvalue { ptr, i32 } %822, 1
  store i32 %824, ptr %7, align 4
  br label %900

825:                                              ; preds = %642
  %826 = landingpad { ptr, i32 }
          cleanup
  %827 = extractvalue { ptr, i32 } %826, 0
  store ptr %827, ptr %6, align 8
  %828 = extractvalue { ptr, i32 } %826, 1
  store i32 %828, ptr %7, align 4
  br label %838

829:                                              ; preds = %643
  %830 = landingpad { ptr, i32 }
          cleanup
  %831 = extractvalue { ptr, i32 } %830, 0
  store ptr %831, ptr %6, align 8
  %832 = extractvalue { ptr, i32 } %830, 1
  store i32 %832, ptr %7, align 4
  br label %837

833:                                              ; preds = %644
  %834 = landingpad { ptr, i32 }
          cleanup
  %835 = extractvalue { ptr, i32 } %834, 0
  store ptr %835, ptr %6, align 8
  %836 = extractvalue { ptr, i32 } %834, 1
  store i32 %836, ptr %7, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %108) #7
  br label %837

837:                                              ; preds = %833, %829
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #7
  br label %838

838:                                              ; preds = %837, %825
  call void @llvm.lifetime.end.p0(i64 24, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %108) #7
  br label %899

839:                                              ; preds = %648
  %840 = landingpad { ptr, i32 }
          cleanup
  %841 = extractvalue { ptr, i32 } %840, 0
  store ptr %841, ptr %6, align 8
  %842 = extractvalue { ptr, i32 } %840, 1
  store i32 %842, ptr %7, align 4
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  br label %887

843:                                              ; preds = %652
  %844 = landingpad { ptr, i32 }
          cleanup
  %845 = extractvalue { ptr, i32 } %844, 0
  store ptr %845, ptr %6, align 8
  %846 = extractvalue { ptr, i32 } %844, 1
  store i32 %846, ptr %7, align 4
  br label %886

847:                                              ; preds = %661
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %6, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %7, align 4
  br label %885

851:                                              ; preds = %662
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %6, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #7
  br label %884

855:                                              ; preds = %675
  %856 = landingpad { ptr, i32 }
          cleanup
  %857 = extractvalue { ptr, i32 } %856, 0
  store ptr %857, ptr %6, align 8
  %858 = extractvalue { ptr, i32 } %856, 1
  store i32 %858, ptr %7, align 4
  br label %883

859:                                              ; preds = %677
  %860 = landingpad { ptr, i32 }
          cleanup
  %861 = extractvalue { ptr, i32 } %860, 0
  store ptr %861, ptr %6, align 8
  %862 = extractvalue { ptr, i32 } %860, 1
  store i32 %862, ptr %7, align 4
  br label %867

863:                                              ; preds = %681
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %6, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %7, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #7
  br label %867

867:                                              ; preds = %863, %859
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #7
  br label %882

868:                                              ; preds = %682
  %869 = landingpad { ptr, i32 }
          cleanup
  %870 = extractvalue { ptr, i32 } %869, 0
  store ptr %870, ptr %6, align 8
  %871 = extractvalue { ptr, i32 } %869, 1
  store i32 %871, ptr %7, align 4
  br label %876

872:                                              ; preds = %686
  %873 = landingpad { ptr, i32 }
          cleanup
  %874 = extractvalue { ptr, i32 } %873, 0
  store ptr %874, ptr %6, align 8
  %875 = extractvalue { ptr, i32 } %873, 1
  store i32 %875, ptr %7, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %125) #7
  br label %876

876:                                              ; preds = %872, %868
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %125) #7
  br label %881

877:                                              ; preds = %689, %687
  %878 = landingpad { ptr, i32 }
          cleanup
  %879 = extractvalue { ptr, i32 } %878, 0
  store ptr %879, ptr %6, align 8
  %880 = extractvalue { ptr, i32 } %878, 1
  store i32 %880, ptr %7, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %124) #7
  br label %881

881:                                              ; preds = %877, %876
  call void @llvm.lifetime.end.p0(i64 16, ptr %124) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %120) #7
  br label %882

882:                                              ; preds = %881, %867
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #7
  br label %883

883:                                              ; preds = %882, %855
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %115) #7
  br label %884

884:                                              ; preds = %883, %851
  call void @llvm.lifetime.end.p0(i64 24, ptr %115) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #7
  br label %885

885:                                              ; preds = %884, %847
  call void @llvm.lifetime.end.p0(i64 24, ptr %114) #7
  br label %886

886:                                              ; preds = %885, %843
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #7
  br label %887

887:                                              ; preds = %886, %839
  call void @llvm.lifetime.end.p0(i64 24, ptr %110) #7
  br label %898

888:                                              ; preds = %645
  %889 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v03SumEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %107)
          to label %890 unwind label %893

890:                                              ; preds = %888
  %891 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v03SumEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %106)
          to label %892 unwind label %893

892:                                              ; preds = %890
  br label %897

893:                                              ; preds = %890, %888
  %894 = landingpad { ptr, i32 }
          cleanup
  %895 = extractvalue { ptr, i32 } %894, 0
  store ptr %895, ptr %6, align 8
  %896 = extractvalue { ptr, i32 } %894, 1
  store i32 %896, ptr %7, align 4
  br label %898

897:                                              ; preds = %892, %691
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %106) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %102) #7
  br label %903

898:                                              ; preds = %893, %887
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107) #7
  br label %899

899:                                              ; preds = %898, %838
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %106) #7
  br label %900

900:                                              ; preds = %899, %821
  call void @llvm.lifetime.end.p0(i64 16, ptr %106) #7
  br label %901

901:                                              ; preds = %900, %817
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #7
  br label %902

902:                                              ; preds = %901, %813
  call void @llvm.lifetime.end.p0(i64 24, ptr %102) #7
  br label %907

903:                                              ; preds = %897, %626
  store i1 true, ptr %101, align 1
  %904 = load i1, ptr %101, align 1
  br i1 %904, label %906, label %905

905:                                              ; preds = %903
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  br label %906

906:                                              ; preds = %905, %903
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %83) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__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 @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04SqrtELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %30) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  ret void

907:                                              ; preds = %902, %809
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  br label %908

908:                                              ; preds = %907, %808
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #7
  br label %909

909:                                              ; preds = %908, %779
  call void @llvm.lifetime.end.p0(i64 16, ptr %83) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77) #7
  br label %910

910:                                              ; preds = %909, %720
  call void @llvm.lifetime.end.p0(i64 16, ptr %77) #7
  br label %911

911:                                              ; preds = %910, %598
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %55) #7
  br label %912

912:                                              ; preds = %911, %485
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #7
  br label %913

913:                                              ; preds = %912, %476
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  br label %914

914:                                              ; preds = %913, %449
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04SqrtELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45) #7
  br label %915

915:                                              ; preds = %914, %448
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  br label %916

916:                                              ; preds = %915, %431
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  br label %917

917:                                              ; preds = %916, %430, %398
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #7
  br label %918

918:                                              ; preds = %917, %394
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  br label %919

919:                                              ; preds = %918, %331
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  br label %920

920:                                              ; preds = %919, %317
  call void @llvm.lifetime.end.p0(i64 48, ptr %30) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  br label %921

921:                                              ; preds = %920, %316, %284
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #7
  br label %922

922:                                              ; preds = %921, %280
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  br label %923

923:                                              ; preds = %922, %276
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  br label %924

924:                                              ; preds = %923, %272
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  br label %925

925:                                              ; preds = %924, %268
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  br label %926

926:                                              ; preds = %925, %195, %177, %146
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  br label %927

927:                                              ; preds = %926, %135
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  br label %928

928:                                              ; preds = %927
  %929 = load ptr, ptr %6, align 8
  %930 = load i32, ptr %7, align 4
  %931 = insertvalue { ptr, i32 } poison, ptr %929, 0
  %932 = insertvalue { ptr, i32 } %931, i32 %930, 1
  resume { ptr, i32 } %932
}

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEiEvT_S7_T0_(ptr, ptr, i32 noundef) #2

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

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

declare void @_ZN6ngraph10AxisVectorC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_3SumEERNS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.100") 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 @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v03SumEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) #4 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 #2 align 2

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 }
attributes #8 = { noreturn }

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


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.ngraph::Shape" = type { %"class.std::vector.83" }
%"class.std::vector.83" = type { %"struct.std::_Vector_base.84" }
%"struct.std::_Vector_base.84" = 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::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.97" = type { %"class.std::__shared_ptr.98" }
%"class.std::__shared_ptr.98" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.94" = type { %"class.std::__shared_ptr.95" }
%"class.std::__shared_ptr.95" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.100" = type { %"class.std::__shared_ptr.101" }
%"class.std::__shared_ptr.101" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.85" = type { i8 }
%"class.ngraph::AxisSet" = type { %"class.std::set.88" }
%"class.std::set.88" = type { %"class.std::_Rb_tree.89" }
%"class.std::_Rb_tree.89" = 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.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.ngraph::AxisVector" = type { %"class.std::vector.83" }
%"class.std::initializer_list.103" = type { ptr, i64 }
%"class.std::shared_ptr.116" = type { %"class.std::__shared_ptr.117" }
%"class.std::__shared_ptr.117" = type { ptr, %"class.std::__shared_count" }

@.str = external hidden unnamed_addr constant [45 x i8], align 1
@_ZTIN6ngraph12ngraph_errorE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.1 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [49 x i8], align 1

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

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress 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 #1 align 2

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 align 2

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

declare void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEElEvT_S7_T0_(ptr, ptr, i64 noundef) local_unnamed_addr #2

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

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

declare void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(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(48)) local_unnamed_addr #3

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

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

declare void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

declare void @_ZN6ngraph7builder8varianceERKNS_6OutputINS_4NodeEEERKNS_7AxisSetEb(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(48), i1 noundef zeroext) local_unnamed_addr #3

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

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

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

declare void @_ZN6ngraphplERKNS_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 #3

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

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

declare void @_ZN6ngraphdvERKNS_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 #3

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

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

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

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

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

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

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

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

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

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

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 #3

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

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

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

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

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

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

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

declare void @_ZN6ngraph4Node7outputsEv(ptr dead_on_unwind writable sret(%"class.std::vector.69") align 8, ptr noundef nonnull align 8 dereferenceable(680)) local_unnamed_addr #3

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v017LayerNormBackprop12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.69") align 8 %0, ptr noundef nonnull align 8 dereferenceable(704) %1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.ngraph::Shape", align 8
  %4 = alloca %"class.ngraph::Output", align 8
  %5 = alloca %"class.ngraph::Output", align 8
  %6 = alloca %"class.std::vector.83", align 8
  %7 = alloca %"class.std::allocator.85", align 1
  %8 = alloca %"class.ngraph::Output", align 8
  %9 = alloca %"class.std::vector.69", align 8
  %10 = alloca %"class.std::shared_ptr.74", align 8
  %11 = alloca %"class.ngraph::AxisSet", align 8
  %12 = alloca %"class.ngraph::AxisSet", align 8
  %13 = alloca i64, align 8
  %14 = alloca %"class.std::shared_ptr.94", align 8
  %15 = alloca %"class.ngraph::Output", align 8
  %16 = alloca %"class.std::vector.69", align 8
  %17 = alloca %"class.std::shared_ptr.74", align 8
  %18 = alloca %"class.ngraph::AxisSet", align 8
  %19 = alloca %"class.std::shared_ptr.74", align 8
  %20 = alloca %"class.std::shared_ptr.97", align 8
  %21 = alloca %"class.std::shared_ptr.74", align 8
  %22 = alloca %"class.ngraph::Output", align 8
  %23 = alloca %"class.std::shared_ptr.94", align 8
  %24 = alloca %"class.std::shared_ptr.74", align 8
  %25 = alloca %"class.ngraph::Output", align 8
  %26 = alloca %"class.std::shared_ptr.74", align 8
  %27 = alloca %"class.ngraph::Output", align 8
  %28 = alloca %"class.ngraph::Output", align 8
  %29 = alloca %"class.ngraph::Output", align 8
  %30 = alloca %"class.std::shared_ptr.74", align 8
  %31 = alloca %"class.ngraph::Output", align 8
  %32 = alloca %"class.ngraph::AxisSet", align 8
  %33 = alloca i64, align 8
  %34 = alloca %"class.ngraph::Output", align 8
  %35 = alloca %"class.ngraph::Shape", align 8
  %36 = alloca %"class.ngraph::Shape", align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %38 = alloca %"class.ngraph::Output", align 8
  %39 = alloca %"class.std::shared_ptr.100", align 8
  %40 = alloca %"class.ngraph::AxisVector", align 8
  %41 = alloca %"class.std::initializer_list.103", align 8
  %42 = alloca [1 x i64], align 8
  %43 = alloca %"class.std::shared_ptr.94", align 8
  %44 = alloca %"class.std::shared_ptr.74", align 8
  %45 = alloca %"class.ngraph::Output", align 8
  %46 = alloca %"class.ngraph::Output", align 8
  %47 = alloca %"class.std::shared_ptr.94", align 8
  %48 = alloca %"class.std::shared_ptr.74", align 8
  %49 = alloca %"class.ngraph::Output", align 8
  %50 = alloca %"class.std::shared_ptr.74", align 8
  %51 = alloca %"class.ngraph::Output", align 8
  %52 = alloca %"class.ngraph::AxisSet", align 8
  %53 = alloca %"class.std::shared_ptr.74", align 8
  %54 = alloca %"class.ngraph::Output", align 8
  %55 = alloca %"class.ngraph::Output", align 8
  %56 = alloca %"class.std::shared_ptr.94", align 8
  %57 = alloca %"class.std::shared_ptr.74", align 8
  %58 = alloca %"class.ngraph::Output", align 8
  %59 = alloca %"class.std::shared_ptr.74", align 8
  %60 = alloca %"class.ngraph::Output", align 8
  %61 = alloca %"class.std::shared_ptr.74", align 8
  %62 = alloca %"class.ngraph::Output", align 8
  %63 = alloca %"class.ngraph::Output", align 8
  %64 = alloca %"class.ngraph::AxisSet", align 8
  %65 = alloca %"class.std::shared_ptr.74", align 8
  %66 = alloca %"class.ngraph::Output", align 8
  %67 = alloca %"class.std::shared_ptr.74", align 8
  %68 = alloca %"class.ngraph::Output", align 8
  %69 = alloca %"class.ngraph::Output", align 8
  %70 = alloca %"class.ngraph::Output", align 8
  %71 = alloca %"class.std::vector.83", align 8
  %72 = alloca %"class.std::allocator.85", align 1
  %73 = alloca %"class.std::shared_ptr.116", align 8
  %74 = alloca %"class.std::shared_ptr.116", align 8
  %75 = alloca %"class.std::shared_ptr.74", align 8
  %76 = alloca %"class.ngraph::Output", align 8
  %77 = alloca %"class.std::vector.83", align 8
  %78 = alloca %"class.std::allocator.85", align 1
  %79 = alloca %"class.ngraph::AxisVector", align 8
  %80 = alloca %"class.ngraph::Shape", align 8
  %81 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %82 = alloca %"class.std::shared_ptr.100", align 8
  %83 = alloca %"class.ngraph::Shape", align 8
  %84 = alloca %"class.std::initializer_list.103", align 8
  %85 = alloca [1 x i64], align 8
  %86 = alloca %"class.std::shared_ptr.100", align 8
  %87 = alloca %"class.ngraph::Shape", align 8
  %88 = alloca %"class.std::initializer_list.103", align 8
  %89 = alloca [1 x i64], align 8
  %90 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 0)
  %91 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %90)
  br i1 %91, label %92, label %97

92:                                               ; preds = %2
  %93 = tail call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %93, ptr noundef nonnull @.str)
          to label %94 unwind label %95

94:                                               ; preds = %92
  tail call void @__cxa_throw(ptr nonnull %93, ptr nonnull @_ZTIN6ngraph12ngraph_errorE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
  unreachable

95:                                               ; preds = %92
  %96 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %93) #7
  br label %531

97:                                               ; preds = %2
  %98 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
  %99 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %98)
  br i1 %99, label %100, label %105

100:                                              ; preds = %97
  %101 = tail call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %101, ptr noundef nonnull @.str.12)
          to label %102 unwind label %103

102:                                              ; preds = %100
  tail call void @__cxa_throw(ptr nonnull %101, ptr nonnull @_ZTIN6ngraph12ngraph_errorE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
  unreachable

103:                                              ; preds = %100
  %104 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %101) #7
  br label %531

105:                                              ; preds = %97
  %106 = getelementptr inbounds i8, ptr %1, i64 680
  %107 = load i8, ptr %106, align 8, !tbaa !5, !range !66, !noundef !67
  %108 = trunc nuw i8 %107 to i1
  br i1 %108, label %109, label %125

109:                                              ; preds = %105
  %110 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 2)
  %111 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 3)
  %112 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %110)
  br i1 %112, label %113, label %118

113:                                              ; preds = %109
  %114 = tail call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %114, ptr noundef nonnull @.str.13)
          to label %115 unwind label %116

115:                                              ; preds = %113
  tail call void @__cxa_throw(ptr nonnull %114, ptr nonnull @_ZTIN6ngraph12ngraph_errorE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
  unreachable

116:                                              ; preds = %113
  %117 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %114) #7
  br label %531

118:                                              ; preds = %109
  %119 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %111)
  br i1 %119, label %120, label %125

120:                                              ; preds = %118
  %121 = tail call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %121, ptr noundef nonnull @.str.14)
          to label %122 unwind label %123

122:                                              ; preds = %120
  tail call void @__cxa_throw(ptr nonnull %121, ptr nonnull @_ZTIN6ngraph12ngraph_errorE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
  unreachable

123:                                              ; preds = %120
  %124 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %121) #7
  br label %531

125:                                              ; preds = %118, %105
  %126 = getelementptr inbounds i8, ptr %1, i64 681
  %127 = load i8, ptr %126, align 1, !tbaa !68, !range !66, !noundef !67
  %128 = trunc nuw i8 %127 to i1
  br i1 %128, label %129, label %140

129:                                              ; preds = %125
  %130 = load i8, ptr %106, align 8, !tbaa !5, !range !66, !noundef !67
  %131 = trunc nuw i8 %130 to i1
  %132 = select i1 %131, i64 4, i64 2
  %133 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef %132)
  %134 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %133)
  br i1 %134, label %135, label %140

135:                                              ; preds = %129
  %136 = tail call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %136, ptr noundef nonnull @.str.1)
          to label %137 unwind label %138

137:                                              ; preds = %135
  tail call void @__cxa_throw(ptr nonnull %136, ptr nonnull @_ZTIN6ngraph12ngraph_errorE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
  unreachable

138:                                              ; preds = %135
  %139 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %136) #7
  br label %531

140:                                              ; preds = %129, %125
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #7
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %90)
  %141 = getelementptr inbounds i8, ptr %1, i64 688
  %142 = load i64, ptr %141, align 8, !tbaa !69
  %143 = icmp sgt i64 %142, -1
  br i1 %143, label %148, label %144

144:                                              ; preds = %140
  %145 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %146 = load i64, ptr %141, align 8, !tbaa !69
  %147 = add i64 %146, %145
  br label %148

148:                                              ; preds = %140, %144
  %149 = phi i64 [ %147, %144 ], [ %142, %140 ]
  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 0)
          to label %150 unwind label %168

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

151:                                              ; preds = %150
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #7
  %152 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %153 = sub i64 %152, %149
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  invoke void @_ZNSt6vectorImSaImEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %153, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %154 unwind label %172

154:                                              ; preds = %151
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #7
  %155 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  %156 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEElEvT_S7_T0_(ptr %155, ptr %156, i64 noundef %149)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  %157 = load i8, ptr %106, align 8, !tbaa !5, !range !66, !noundef !67
  %158 = trunc nuw i8 %157 to i1
  br i1 %158, label %159, label %160

159:                                              ; preds = %154
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %8, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 2)
          to label %.critedge247 unwind label %174

160:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %11) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %11, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %161 unwind label %176

161:                                              ; preds = %160
  invoke void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %10, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(48) %11)
          to label %162 unwind label %178

162:                                              ; preds = %161
  %163 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  invoke void @_ZN6ngraph4Node7outputsEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.69") align 8 %9, ptr noundef nonnull align 8 dereferenceable(680) %163)
          to label %.critedge unwind label %180

.critedge:                                        ; preds = %162
  %164 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef 0) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %11) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  br label %.critedge247

.critedge247:                                     ; preds = %159, %.critedge
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12) #7
  invoke void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %12)
          to label %165 unwind label %184

165:                                              ; preds = %.critedge247
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  store i64 %149, ptr %13, align 8, !tbaa !70
  %166 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %167 = icmp ult i64 %149, %166
  br i1 %167, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %187, %165
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRNS0_6OutputINS0_4NodeEEERNS0_5ShapeERNS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %14, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %12)
          to label %194 unwind label %227

168:                                              ; preds = %148
  %169 = landingpad { ptr, i32 }
          cleanup
  br label %530

170:                                              ; preds = %150
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %529

172:                                              ; preds = %151
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #7
  br label %528

174:                                              ; preds = %159
  %175 = landingpad { ptr, i32 }
          cleanup
  br label %527

176:                                              ; preds = %160
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %183

178:                                              ; preds = %161
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %182

180:                                              ; preds = %162
  %181 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #7
  br label %182

182:                                              ; preds = %178, %180
  %.pn = phi { ptr, i32 } [ %181, %180 ], [ %179, %178 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %11) #7
  br label %183

183:                                              ; preds = %176, %182
  %.pn.pn = phi { ptr, i32 } [ %.pn, %182 ], [ %177, %176 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  br label %527

184:                                              ; preds = %.critedge247
  %185 = landingpad { ptr, i32 }
          cleanup
  br label %526

.lr.ph:                                           ; preds = %165, %187
  %186 = invoke { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %187 unwind label %192

187:                                              ; preds = %.lr.ph
  %188 = load i64, ptr %13, align 8, !tbaa !70
  %189 = add i64 %188, 1
  store i64 %189, ptr %13, align 8, !tbaa !70
  %190 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %191 = icmp ult i64 %189, %190
  br i1 %191, label %.lr.ph, label %._crit_edge, !llvm.loop !71

192:                                              ; preds = %.lr.ph
  %193 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %525

194:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #7
  %195 = load i8, ptr %106, align 8, !tbaa !5, !range !66, !noundef !67
  %196 = trunc nuw i8 %195 to i1
  br i1 %196, label %197, label %198

197:                                              ; preds = %194
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %15, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 3)
          to label %.critedge253 unwind label %229

198:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %18) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %199 unwind label %231

199:                                              ; preds = %198
  invoke void @_ZN6ngraph7builder8varianceERKNS_6OutputINS_4NodeEEERKNS_7AxisSetEb(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %17, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(48) %18, i1 noundef zeroext false)
          to label %200 unwind label %233

200:                                              ; preds = %199
  %201 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  invoke void @_ZN6ngraph4Node7outputsEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.69") align 8 %16, ptr noundef nonnull align 8 dereferenceable(680) %201)
          to label %.critedge249 unwind label %235

.critedge249:                                     ; preds = %200
  %202 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 0) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %202) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %.critedge253

.critedge253:                                     ; preds = %197, %.critedge249
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #7
  %203 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %204 unwind label %239

204:                                              ; preds = %.critedge253
  %205 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %206 unwind label %239

206:                                              ; preds = %204
  %207 = getelementptr inbounds i8, ptr %1, i64 696
  invoke void @_ZN6ngraph7builder13make_constantIdEESt10shared_ptrINS_4NodeEERKNS_7element4TypeERKNS_5ShapeERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %19, ptr noundef nonnull align 4 dereferenceable(4) %203, ptr noundef nonnull align 8 dereferenceable(24) %205, ptr noundef nonnull align 8 dereferenceable(8) %207)
          to label %208 unwind label %239

208:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %209 unwind label %241

209:                                              ; preds = %208
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %21, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %210 unwind label %243

210:                                              ; preds = %209
  invoke void @_ZSt11make_sharedIN6ngraph2op2v04SqrtEJSt10shared_ptrINS0_4NodeEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES8_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.97") align 8 %20, ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %211 unwind label %245

211:                                              ; preds = %210
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_4SqrtEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %23, ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %12)
          to label %212 unwind label %249

212:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %213 unwind label %251

213:                                              ; preds = %212
  invoke void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %26, ptr noundef nonnull %27, ptr noundef nonnull %28)
          to label %214 unwind label %253

214:                                              ; preds = %213
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %215 unwind label %255

215:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %216 unwind label %257

216:                                              ; preds = %215
  invoke void @_ZN6ngraphdvERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %24, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %217 unwind label %259

217:                                              ; preds = %216
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %218 unwind label %265

218:                                              ; preds = %217
  invoke void @_ZN6ngraphdvERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %30, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %219 unwind label %267

219:                                              ; preds = %218
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  %220 = load i8, ptr %126, align 1, !tbaa !68, !range !66, !noundef !67
  %221 = trunc nuw i8 %220 to i1
  br i1 %221, label %222, label %334

222:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %32) #7
  invoke void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %32)
          to label %223 unwind label %270

223:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #7
  store i64 0, ptr %33, align 8, !tbaa !70
  %.not258 = icmp eq i64 %149, 0
  br i1 %.not258, label %._crit_edge257, label %.lr.ph256

._crit_edge257:                                   ; preds = %273, %223
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  %224 = load i8, ptr %106, align 8, !tbaa !5, !range !66, !noundef !67
  %225 = trunc nuw i8 %224 to i1
  %226 = select i1 %225, i64 4, i64 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %34, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef %226)
          to label %279 unwind label %297

227:                                              ; preds = %._crit_edge
  %228 = landingpad { ptr, i32 }
          cleanup
  br label %524

229:                                              ; preds = %197
  %230 = landingpad { ptr, i32 }
          cleanup
  br label %523

231:                                              ; preds = %198
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %238

233:                                              ; preds = %199
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %237

235:                                              ; preds = %200
  %236 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  br label %237

237:                                              ; preds = %233, %235
  %.pn150 = phi { ptr, i32 } [ %236, %235 ], [ %234, %233 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  br label %238

238:                                              ; preds = %231, %237
  %.pn150.pn = phi { ptr, i32 } [ %.pn150, %237 ], [ %232, %231 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %523

239:                                              ; preds = %206, %204, %.critedge253
  %240 = landingpad { ptr, i32 }
          cleanup
  br label %522

241:                                              ; preds = %208
  %242 = landingpad { ptr, i32 }
          cleanup
  br label %248

243:                                              ; preds = %209
  %244 = landingpad { ptr, i32 }
          cleanup
  br label %247

245:                                              ; preds = %210
  %246 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  br label %247

247:                                              ; preds = %245, %243
  %.pn153 = phi { ptr, i32 } [ %246, %245 ], [ %244, %243 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  br label %248

248:                                              ; preds = %247, %241
  %.pn153.pn = phi { ptr, i32 } [ %.pn153, %247 ], [ %242, %241 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #7
  br label %521

249:                                              ; preds = %211
  %250 = landingpad { ptr, i32 }
          cleanup
  br label %520

251:                                              ; preds = %212
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %264

253:                                              ; preds = %213
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %263

255:                                              ; preds = %214
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %262

257:                                              ; preds = %215
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %261

259:                                              ; preds = %216
  %260 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  br label %261

261:                                              ; preds = %259, %257
  %.pn156 = phi { ptr, i32 } [ %260, %259 ], [ %258, %257 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  br label %262

262:                                              ; preds = %261, %255
  %.pn156.pn = phi { ptr, i32 } [ %.pn156, %261 ], [ %256, %255 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  br label %263

263:                                              ; preds = %262, %253
  %.pn156.pn.pn = phi { ptr, i32 } [ %.pn156.pn, %262 ], [ %254, %253 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  br label %264

264:                                              ; preds = %263, %251
  %.pn156.pn.pn.pn = phi { ptr, i32 } [ %.pn156.pn.pn, %263 ], [ %252, %251 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  br label %519

265:                                              ; preds = %217
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %269

267:                                              ; preds = %218
  %268 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  br label %269

269:                                              ; preds = %267, %265
  %.pn161 = phi { ptr, i32 } [ %268, %267 ], [ %266, %265 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  br label %518

270:                                              ; preds = %222
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %333

.lr.ph256:                                        ; preds = %223, %273
  %272 = invoke { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %273 unwind label %277

273:                                              ; preds = %.lr.ph256
  %274 = load i64, ptr %33, align 8, !tbaa !70
  %275 = add i64 %274, 1
  store i64 %275, ptr %33, align 8, !tbaa !70
  %276 = icmp ult i64 %275, %149
  br i1 %276, label %.lr.ph256, label %._crit_edge257, !llvm.loop !73

277:                                              ; preds = %.lr.ph256
  %278 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  br label %332

279:                                              ; preds = %._crit_edge257
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #7
  %280 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef %226)
          to label %281 unwind label %299

281:                                              ; preds = %279
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %280)
          to label %282 unwind label %299

282:                                              ; preds = %281
  %283 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %284 = sub i64 %283, %149
  %285 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  %.not = icmp ne i64 %284, %285
  br i1 %.not, label %286, label %312

286:                                              ; preds = %282
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  %287 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  store ptr %287, ptr %37, align 8
  %288 = load i64, ptr %141, align 8, !tbaa !69
  %289 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %37, i64 noundef %288) #7
  %290 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr %289, ptr %290)
          to label %291 unwind label %301

291:                                              ; preds = %286
  call void @llvm.lifetime.end.p0(i64 8, 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 24, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  store i64 0, ptr %42, align 8, !tbaa !70
  store ptr %42, ptr %41, align 8, !tbaa !74
  %292 = getelementptr inbounds i8, ptr %41, i64 8
  store i64 1, ptr %292, align 8, !tbaa !76
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %293 unwind label %303

293:                                              ; preds = %291
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorERNS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.100") align 8 %39, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %294 unwind label %305

294:                                              ; preds = %293
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %295 unwind label %307

295:                                              ; preds = %294
  %296 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 24, 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 @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #7
  br label %312

297:                                              ; preds = %._crit_edge257
  %298 = landingpad { ptr, i32 }
          cleanup
  br label %331

299:                                              ; preds = %281, %279
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %330

301:                                              ; preds = %286
  %302 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  br label %311

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

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

307:                                              ; preds = %294
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  br label %309

309:                                              ; preds = %307, %305
  %.pn164 = phi { ptr, i32 } [ %308, %307 ], [ %306, %305 ]
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  br label %310

310:                                              ; preds = %309, %303
  %.pn164.pn = phi { ptr, i32 } [ %.pn164, %309 ], [ %304, %303 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 24, 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 @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  br label %311

311:                                              ; preds = %310, %301
  %.pn164.pn.pn = phi { ptr, i32 } [ %.pn164.pn, %310 ], [ %302, %301 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #7
  br label %329

312:                                              ; preds = %295, %282
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRNS0_6OutputINS0_4NodeEEERNS0_5ShapeERNS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %43, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %32)
          to label %313 unwind label %318

313:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %314 unwind label %320

314:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr noundef nonnull align 8 dereferenceable(16) %43)
          to label %315 unwind label %322

315:                                              ; preds = %314
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %44, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %46)
          to label %316 unwind label %324

316:                                              ; preds = %315
  %317 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(16) %30, ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) #7
  br label %334

318:                                              ; preds = %312
  %319 = landingpad { ptr, i32 }
          cleanup
  br label %328

320:                                              ; preds = %313
  %321 = landingpad { ptr, i32 }
          cleanup
  br label %327

322:                                              ; preds = %314
  %323 = landingpad { ptr, i32 }
          cleanup
  br label %326

324:                                              ; preds = %315
  %325 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  br label %326

326:                                              ; preds = %324, %322
  %.pn168 = phi { ptr, i32 } [ %325, %324 ], [ %323, %322 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  br label %327

327:                                              ; preds = %326, %320
  %.pn168.pn = phi { ptr, i32 } [ %.pn168, %326 ], [ %321, %320 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #7
  br label %328

328:                                              ; preds = %327, %318
  %.pn168.pn.pn = phi { ptr, i32 } [ %.pn168.pn, %327 ], [ %319, %318 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  br label %329

329:                                              ; preds = %328, %311
  %.pn168.pn.pn.pn = phi { ptr, i32 } [ %.pn168.pn.pn, %328 ], [ %.pn164.pn.pn, %311 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %330

330:                                              ; preds = %329, %299
  %.pn168.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn168.pn.pn.pn, %329 ], [ %300, %299 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  br label %331

331:                                              ; preds = %330, %297
  %.pn168.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn168.pn.pn.pn.pn, %330 ], [ %298, %297 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #7
  br label %332

332:                                              ; preds = %331, %277
  %.pn220 = phi { ptr, i32 } [ %278, %277 ], [ %.pn168.pn.pn.pn.pn.pn, %331 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #7
  br label %333

333:                                              ; preds = %332, %270
  %.pn220.pn = phi { ptr, i32 } [ %.pn220, %332 ], [ %271, %270 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) #7
  br label %517

334:                                              ; preds = %316, %219
  %.1143 = phi i1 [ %.not, %316 ], [ false, %219 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %335 unwind label %395

335:                                              ; preds = %334
  invoke void @_ZN6ngraphngERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %50, ptr noundef nonnull align 8 dereferenceable(24) %51)
          to label %336 unwind label %397

336:                                              ; preds = %335
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %337 unwind label %399

337:                                              ; preds = %336
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %52) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %52, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %338 unwind label %401

338:                                              ; preds = %337
  invoke void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %48, ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(48) %52)
          to label %339 unwind label %403

339:                                              ; preds = %338
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJSt10shared_ptrINS0_4NodeEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %47, ptr noundef nonnull align 8 dereferenceable(16) %48, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %12)
          to label %340 unwind label %405

340:                                              ; preds = %339
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %341 unwind label %412

341:                                              ; preds = %340
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %57) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %62) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %342 unwind label %414

342:                                              ; preds = %341
  invoke void @_ZN6ngraphngERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %61, ptr noundef nonnull align 8 dereferenceable(24) %62)
          to label %343 unwind label %416

343:                                              ; preds = %342
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(16) %61)
          to label %344 unwind label %418

344:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %63) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %345 unwind label %420

345:                                              ; preds = %344
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %59, ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(24) %63)
          to label %346 unwind label %422

346:                                              ; preds = %345
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %347 unwind label %424

347:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %64) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %64, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %348 unwind label %426

348:                                              ; preds = %347
  invoke void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %57, ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 8 dereferenceable(48) %64)
          to label %349 unwind label %428

349:                                              ; preds = %348
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJSt10shared_ptrINS0_4NodeEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %56, ptr noundef nonnull align 8 dereferenceable(16) %57, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %12)
          to label %350 unwind label %430

350:                                              ; preds = %349
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %351 unwind label %432

351:                                              ; preds = %350
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %53, ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(24) %55)
          to label %352 unwind label %434

352:                                              ; preds = %351
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %64) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %68) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %353 unwind label %447

353:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %69) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %354 unwind label %449

354:                                              ; preds = %353
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %67, ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(24) %69)
          to label %355 unwind label %451

355:                                              ; preds = %354
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(16) %67)
          to label %356 unwind label %453

356:                                              ; preds = %355
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %70) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %357 unwind label %455

357:                                              ; preds = %356
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %65, ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %70)
          to label %358 unwind label %457

358:                                              ; preds = %357
  %359 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(16) %30, ptr noundef nonnull align 8 dereferenceable(16) %65) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %65) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %70) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %65) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  %360 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrIS2_EEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %361 unwind label %464

361:                                              ; preds = %358
  %362 = load i8, ptr %126, align 1, !tbaa !68, !range !66, !noundef !67
  %363 = trunc nuw i8 %362 to i1
  br i1 %363, label %364, label %512

364:                                              ; preds = %361
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  invoke void @_ZNSt6vectorImSaImEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %149, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %365 unwind label %466

365:                                              ; preds = %364
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  %366 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  %367 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  call void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEiEvT_S7_T0_(ptr %366, ptr %367, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %73) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJRNS0_6OutputINS0_4NodeEEERSt6vectorImSaImEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.116") align 8 %73, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %368 unwind label %468

368:                                              ; preds = %365
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %74) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %75) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %76) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %76, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %369 unwind label %470

369:                                              ; preds = %368
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %75, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %370 unwind label %472

370:                                              ; preds = %369
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03SumEJSt10shared_ptrINS0_4NodeEERSt6vectorImSaImEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.116") align 8 %74, ptr noundef nonnull align 8 dereferenceable(16) %75, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %371 unwind label %474

371:                                              ; preds = %370
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #7
  br i1 %.1143, label %372, label %501

372:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %77) #7
  %373 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %374 = sub i64 %373, %149
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  invoke void @_ZNSt6vectorImSaImEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %374, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %375 unwind label %478

375:                                              ; preds = %372
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #7
  %376 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  %377 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  call void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEiEvT_S7_T0_(ptr %376, ptr %377, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %79) #7
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 8 dereferenceable(24) %77)
          to label %378 unwind label %480

378:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %80) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #7
  %379 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  store ptr %379, ptr %81, align 8
  %380 = load i64, ptr %141, align 8, !tbaa !69
  %381 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %81, i64 noundef %380) #7
  %382 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24) %80, ptr %381, ptr %382)
          to label %383 unwind label %482

383:                                              ; preds = %378
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  %384 = call noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %80)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %82) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %83) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %84) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %85) #7
  store i64 %384, ptr %85, align 8, !tbaa !70
  store ptr %85, ptr %84, align 8, !tbaa !74
  %385 = getelementptr inbounds i8, ptr %84, i64 8
  store i64 1, ptr %385, align 8, !tbaa !76
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %83, ptr noundef nonnull align 8 dereferenceable(16) %84)
          to label %386 unwind label %484

386:                                              ; preds = %383
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_3SumEERNS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.100") align 8 %82, ptr noundef nonnull align 8 dereferenceable(16) %74, ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 8 dereferenceable(24) %83)
          to label %387 unwind label %486

387:                                              ; preds = %386
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %84) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %83) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %86) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %88) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #7
  store i64 %384, ptr %89, align 8, !tbaa !70
  store ptr %89, ptr %88, align 8, !tbaa !74
  %388 = getelementptr inbounds i8, ptr %88, i64 8
  store i64 1, ptr %388, align 8, !tbaa !76
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %389 unwind label %489

389:                                              ; preds = %387
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_3SumEERNS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.100") align 8 %86, ptr noundef nonnull align 8 dereferenceable(16) %73, ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %390 unwind label %491

390:                                              ; preds = %389
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #7
  %391 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v07ReshapeEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %82)
          to label %392 unwind label %494

392:                                              ; preds = %390
  %393 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v07ReshapeEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %86)
          to label %394 unwind label %494

394:                                              ; preds = %392
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %86) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %80) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %80) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %79) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %77) #7
  br label %507

395:                                              ; preds = %334
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %411

397:                                              ; preds = %335
  %398 = landingpad { ptr, i32 }
          cleanup
  br label %410

399:                                              ; preds = %336
  %400 = landingpad { ptr, i32 }
          cleanup
  br label %409

401:                                              ; preds = %337
  %402 = landingpad { ptr, i32 }
          cleanup
  br label %408

403:                                              ; preds = %338
  %404 = landingpad { ptr, i32 }
          cleanup
  br label %407

405:                                              ; preds = %339
  %406 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  br label %407

407:                                              ; preds = %405, %403
  %.pn175 = phi { ptr, i32 } [ %406, %405 ], [ %404, %403 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %52) #7
  br label %408

408:                                              ; preds = %407, %401
  %.pn175.pn = phi { ptr, i32 } [ %.pn175, %407 ], [ %402, %401 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  br label %409

409:                                              ; preds = %408, %399
  %.pn175.pn.pn = phi { ptr, i32 } [ %.pn175.pn, %408 ], [ %400, %399 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50) #7
  br label %410

410:                                              ; preds = %409, %397
  %.pn175.pn.pn.pn = phi { ptr, i32 } [ %.pn175.pn.pn, %409 ], [ %398, %397 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #7
  br label %411

411:                                              ; preds = %410, %395
  %.pn175.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn175.pn.pn.pn, %410 ], [ %396, %395 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #7
  br label %516

412:                                              ; preds = %340
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %446

414:                                              ; preds = %341
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %445

416:                                              ; preds = %342
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %444

418:                                              ; preds = %343
  %419 = landingpad { ptr, i32 }
          cleanup
  br label %443

420:                                              ; preds = %344
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %442

422:                                              ; preds = %345
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %441

424:                                              ; preds = %346
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %440

426:                                              ; preds = %347
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %439

428:                                              ; preds = %348
  %429 = landingpad { ptr, i32 }
          cleanup
  br label %438

430:                                              ; preds = %349
  %431 = landingpad { ptr, i32 }
          cleanup
  br label %437

432:                                              ; preds = %350
  %433 = landingpad { ptr, i32 }
          cleanup
  br label %436

434:                                              ; preds = %351
  %435 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  br label %436

436:                                              ; preds = %434, %432
  %.pn181 = phi { ptr, i32 } [ %435, %434 ], [ %433, %432 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #7
  br label %437

437:                                              ; preds = %436, %430
  %.pn181.pn = phi { ptr, i32 } [ %.pn181, %436 ], [ %431, %430 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  br label %438

438:                                              ; preds = %437, %428
  %.pn181.pn.pn = phi { ptr, i32 } [ %.pn181.pn, %437 ], [ %429, %428 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %64) #7
  br label %439

439:                                              ; preds = %438, %426
  %.pn181.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn, %438 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %64) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  br label %440

440:                                              ; preds = %439, %424
  %.pn181.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn, %439 ], [ %425, %424 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #7
  br label %441

441:                                              ; preds = %440, %422
  %.pn181.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn.pn, %440 ], [ %423, %422 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  br label %442

442:                                              ; preds = %441, %420
  %.pn181.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn.pn.pn, %441 ], [ %421, %420 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  br label %443

443:                                              ; preds = %442, %418
  %.pn181.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn.pn.pn.pn, %442 ], [ %419, %418 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #7
  br label %444

444:                                              ; preds = %443, %416
  %.pn181.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn.pn.pn.pn.pn, %443 ], [ %417, %416 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  br label %445

445:                                              ; preds = %444, %414
  %.pn181.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn.pn.pn.pn.pn.pn, %444 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  br label %446

446:                                              ; preds = %445, %412
  %.pn181.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn.pn.pn.pn.pn.pn.pn, %445 ], [ %413, %412 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #7
  br label %515

447:                                              ; preds = %352
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %463

449:                                              ; preds = %353
  %450 = landingpad { ptr, i32 }
          cleanup
  br label %462

451:                                              ; preds = %354
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %461

453:                                              ; preds = %355
  %454 = landingpad { ptr, i32 }
          cleanup
  br label %460

455:                                              ; preds = %356
  %456 = landingpad { ptr, i32 }
          cleanup
  br label %459

457:                                              ; preds = %357
  %458 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  br label %459

459:                                              ; preds = %457, %455
  %.pn193 = phi { ptr, i32 } [ %458, %457 ], [ %456, %455 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %70) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #7
  br label %460

460:                                              ; preds = %459, %453
  %.pn193.pn = phi { ptr, i32 } [ %.pn193, %459 ], [ %454, %453 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #7
  br label %461

461:                                              ; preds = %460, %451
  %.pn193.pn.pn = phi { ptr, i32 } [ %.pn193.pn, %460 ], [ %452, %451 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #7
  br label %462

462:                                              ; preds = %461, %449
  %.pn193.pn.pn.pn = phi { ptr, i32 } [ %.pn193.pn.pn, %461 ], [ %450, %449 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  br label %463

463:                                              ; preds = %462, %447
  %.pn193.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn193.pn.pn.pn, %462 ], [ %448, %447 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %65) #7
  br label %514

464:                                              ; preds = %358
  %465 = landingpad { ptr, i32 }
          cleanup
  br label %513

466:                                              ; preds = %364
  %467 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  br label %511

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

470:                                              ; preds = %368
  %471 = landingpad { ptr, i32 }
          cleanup
  br label %477

472:                                              ; preds = %369
  %473 = landingpad { ptr, i32 }
          cleanup
  br label %476

474:                                              ; preds = %370
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #7
  br label %476

476:                                              ; preds = %474, %472
  %.pn199 = phi { ptr, i32 } [ %475, %474 ], [ %473, %472 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  br label %477

477:                                              ; preds = %476, %470
  %.pn199.pn = phi { ptr, i32 } [ %.pn199, %476 ], [ %471, %470 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #7
  br label %509

478:                                              ; preds = %372
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #7
  br label %500

480:                                              ; preds = %375
  %481 = landingpad { ptr, i32 }
          cleanup
  br label %499

482:                                              ; preds = %378
  %483 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  br label %498

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

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

488:                                              ; preds = %486, %484
  %.pn202 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %84) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %83) #7
  br label %497

489:                                              ; preds = %387
  %490 = landingpad { ptr, i32 }
          cleanup
  br label %493

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

493:                                              ; preds = %491, %489
  %.pn204 = phi { ptr, i32 } [ %492, %491 ], [ %490, %489 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #7
  br label %496

494:                                              ; preds = %392, %390
  %495 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #7
  br label %496

496:                                              ; preds = %494, %493
  %.pn206 = phi { ptr, i32 } [ %495, %494 ], [ %.pn204, %493 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %86) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #7
  br label %497

497:                                              ; preds = %496, %488
  %.pn206.pn = phi { ptr, i32 } [ %.pn206, %496 ], [ %.pn202, %488 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %80) #7
  br label %498

498:                                              ; preds = %497, %482
  %.pn206.pn.pn = phi { ptr, i32 } [ %.pn206.pn, %497 ], [ %483, %482 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %80) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #7
  br label %499

499:                                              ; preds = %498, %480
  %.pn206.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn, %498 ], [ %481, %480 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %79) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  br label %500

500:                                              ; preds = %499, %478
  %.pn206.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn, %499 ], [ %479, %478 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %77) #7
  br label %508

501:                                              ; preds = %371
  %502 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v03SumEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %74)
          to label %503 unwind label %505

503:                                              ; preds = %501
  %504 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v03SumEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %73)
          to label %507 unwind label %505

505:                                              ; preds = %503, %501
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %508

507:                                              ; preds = %503, %394
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %73) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #7
  br label %512

508:                                              ; preds = %505, %500
  %.pn206.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn, %500 ], [ %506, %505 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #7
  br label %509

509:                                              ; preds = %508, %477
  %.pn206.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn.pn, %508 ], [ %.pn199.pn, %477 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03SumELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #7
  br label %510

510:                                              ; preds = %509, %468
  %.pn206.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn.pn.pn, %509 ], [ %469, %468 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %73) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  br label %511

511:                                              ; preds = %510, %466
  %.pn206.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn.pn.pn.pn, %510 ], [ %467, %466 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #7
  br label %513

512:                                              ; preds = %361, %507
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__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 @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__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_ptrIN6ngraph2op2v09BroadcastELN9__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_ptrIN6ngraph2op2v04SqrtELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  ret void

513:                                              ; preds = %511, %464
  %.pn206.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn.pn.pn.pn.pn, %511 ], [ %465, %464 ]
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  br label %514

514:                                              ; preds = %513, %463
  %.pn206.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn.pn.pn.pn.pn.pn, %513 ], [ %.pn193.pn.pn.pn.pn, %463 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #7
  br label %515

515:                                              ; preds = %514, %446
  %.pn206.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %514 ], [ %.pn181.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %446 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #7
  br label %516

516:                                              ; preds = %515, %411
  %.pn206.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %515 ], [ %.pn175.pn.pn.pn.pn, %411 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #7
  br label %517

517:                                              ; preds = %516, %333
  %.pn220.pn.pn = phi { ptr, i32 } [ %.pn220.pn, %333 ], [ %.pn206.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %516 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #7
  br label %518

518:                                              ; preds = %517, %269
  %.pn220.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn, %517 ], [ %.pn161, %269 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  br label %519

519:                                              ; preds = %518, %264
  %.pn220.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn, %518 ], [ %.pn156.pn.pn.pn, %264 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  br label %520

520:                                              ; preds = %519, %249
  %.pn220.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn.pn, %519 ], [ %250, %249 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04SqrtELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br label %521

521:                                              ; preds = %520, %248
  %.pn220.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn.pn.pn, %520 ], [ %.pn153.pn, %248 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #7
  br label %522

522:                                              ; preds = %521, %239
  %.pn220.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn.pn.pn.pn, %521 ], [ %240, %239 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  br label %523

523:                                              ; preds = %238, %522, %229
  %.pn220.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn.pn.pn.pn.pn, %522 ], [ %230, %229 ], [ %.pn150.pn, %238 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #7
  br label %524

524:                                              ; preds = %523, %227
  %.pn220.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn.pn.pn.pn.pn.pn, %523 ], [ %228, %227 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  br label %525

525:                                              ; preds = %524, %192
  %.pn231 = phi { ptr, i32 } [ %193, %192 ], [ %.pn220.pn.pn.pn.pn.pn.pn.pn.pn.pn, %524 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  br label %526

526:                                              ; preds = %525, %184
  %.pn231.pn = phi { ptr, i32 } [ %.pn231, %525 ], [ %185, %184 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  br label %527

527:                                              ; preds = %183, %526, %174
  %.pn231.pn.pn = phi { ptr, i32 } [ %.pn231.pn, %526 ], [ %175, %174 ], [ %.pn.pn, %183 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  br label %528

528:                                              ; preds = %527, %172
  %.pn231.pn.pn.pn = phi { ptr, i32 } [ %.pn231.pn.pn, %527 ], [ %173, %172 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  br label %529

529:                                              ; preds = %528, %170
  %.pn231.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn231.pn.pn.pn, %528 ], [ %171, %170 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  br label %530

530:                                              ; preds = %529, %168
  %.pn231.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn231.pn.pn.pn.pn, %529 ], [ %169, %168 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  br label %531

531:                                              ; preds = %103, %138, %530, %123, %116, %95
  %.pn242 = phi { ptr, i32 } [ %96, %95 ], [ %104, %103 ], [ %139, %138 ], [ %.pn231.pn.pn.pn.pn.pn, %530 ], [ %117, %116 ], [ %124, %123 ]
  resume { ptr, i32 } %.pn242
}

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEiEvT_S7_T0_(ptr, ptr, i32 noundef) local_unnamed_addr #2

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

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

declare void @_ZN6ngraph10AxisVectorC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_3SumEERNS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.100") 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 @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrINS0_2op2v03SumEEEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #4 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 #2 align 2

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 }
attributes #8 = { noreturn }

!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, !64, i64 680}
!6 = !{!"_ZTSN6ngraph2op2v017LayerNormBackpropE", !7, i64 0, !64, i64 680, !64, i64 681, !19, i64 688, !65, i64 696}
!7 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !8, i64 0}
!8 = !{!"_ZTSN6ngraph2op2OpE", !9, i64 0}
!9 = !{!"_ZTSN6ngraph4NodeE", !10, i64 8, !17, i64 24, !17, i64 80, !23, i64 136, !27, i64 160, !31, i64 184, !19, i64 216, !31, i64 224, !31, i64 256, !33, i64 288, !35, i64 344, !43, i64 392, !48, i64 472, !53, i64 552, !55, i64 608, !56, i64 616, !59, i64 632}
!10 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !11, i64 0}
!11 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !12, i64 0}
!12 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0, !16, i64 8}
!13 = !{!"any pointer", !14, i64 0}
!14 = !{!"omnipotent char", !15, i64 0}
!15 = !{!"Simple C++ TBAA"}
!16 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0}
!17 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !18, i64 0}
!18 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!19 = !{!"long", !14, i64 0}
!20 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !13, i64 0}
!21 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !22, i64 0, !19, i64 8}
!22 = !{!"float", !14, i64 0}
!23 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!27 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!31 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !32, i64 0, !19, i64 8, !14, i64 16}
!32 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !13, i64 0}
!33 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !34, i64 0}
!34 = !{!"_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", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!35 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !36, i64 0}
!36 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !38, i64 0, !40, i64 8}
!38 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !39, i64 0}
!39 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!40 = !{!"_ZTSSt15_Rb_tree_header", !41, i64 0, !19, i64 32}
!41 = !{!"_ZTSSt18_Rb_tree_node_base", !42, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!42 = !{!"_ZTSSt14_Rb_tree_color", !14, i64 0}
!43 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !44, i64 0}
!44 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !45, i64 0}
!45 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !46, i64 0}
!46 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !13, i64 0, !19, i64 8, !47, i64 16, !47, i64 48}
!47 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!48 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !49, i64 0}
!49 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !51, i64 0}
!51 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !13, i64 0, !19, i64 8, !52, i64 16, !52, i64 48}
!52 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!53 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !54, i64 0}
!54 = !{!"_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", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!55 = !{!"int", !14, i64 0}
!56 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !57, i64 0}
!57 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0, !58, i64 8}
!58 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0}
!59 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !60, i64 0}
!60 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !61, i64 0}
!61 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !62, i64 0, !40, i64 8}
!62 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !63, i64 0}
!63 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!64 = !{!"bool", !14, i64 0}
!65 = !{!"double", !14, i64 0}
!66 = !{i8 0, i8 2}
!67 = !{}
!68 = !{!6, !64, i64 681}
!69 = !{!6, !19, i64 688}
!70 = !{!19, !19, i64 0}
!71 = distinct !{!71, !72}
!72 = !{!"llvm.loop.mustprogress"}
!73 = distinct !{!73, !72}
!74 = !{!75, !13, i64 0}
!75 = !{!"_ZTSSt16initializer_listImE", !13, i64 0, !19, i64 8}
!76 = !{!75, !19, i64 8}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass