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

; 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::PartialShape" = type { i8, %"class.std::vector.77" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_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.ngraph::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::shared_ptr.88" = type { %"class.std::__shared_ptr.89" }
%"class.std::__shared_ptr.89" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.ngraph::Shape" = type { %"class.std::vector.82" }
%"class.std::vector.82" = type { %"struct.std::_Vector_base.83" }
%"struct.std::_Vector_base.83" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr.94" = type { %"class.std::__shared_ptr.95" }
%"class.std::__shared_ptr.95" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.97" = type { %"struct.std::_Vector_base.98" }
%"struct.std::_Vector_base.98" = type { %"struct.std::_Vector_base<ngraph::Input<Node>, std::allocator<ngraph::Input<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Input<Node>, std::allocator<ngraph::Input<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Input<Node>, std::allocator<ngraph::Input<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Input<Node>, std::allocator<ngraph::Input<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.102" = type { ptr }
%"class.ngraph::AxisVector" = type { %"class.std::vector.82" }
%"class.ngraph::op::util::BroadcastBase" = type { %"class.ngraph::op::Op", %"struct.ngraph::op::BroadcastModeSpec" }
%"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::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" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::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" }
%"struct.ngraph::op::BroadcastModeSpec" = type { i32, i64 }

@.str.2 = external hidden unnamed_addr constant [93 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.19 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [43 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op4util13BroadcastBase27get_result_shape_numpy_pdpdERKNS_5ShapeES5_RKNS0_17BroadcastModeSpecE(ptr dead_on_unwind noalias writable sret(%"class.ngraph::PartialShape") align 8, ptr noundef nonnull align 8 dereferenceable(696), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #3 align 2

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) #3 align 2

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

declare void @__cxa_throw(ptr, ptr, ptr)

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

declare void @__cxa_free_exception(ptr)

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op4util13BroadcastBase26validate_target_shape_noneERKNS_5ShapeERKNS_10AxisVectorES5_(ptr noundef nonnull align 8 dereferenceable(696), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #3 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op4util13BroadcastBase24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(696) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.ngraph::element::Type", align 4
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %7 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca i1, align 1
  %10 = alloca %"class.ngraph::Dimension", align 8
  %11 = alloca %"class.ngraph::Dimension", align 8
  %12 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %13 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca i1, align 1
  %16 = alloca %"class.ngraph::element::Type", align 4
  %17 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %18 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca i1, align 1
  %21 = alloca %"class.ngraph::Dimension", align 8
  %22 = alloca %"class.ngraph::Dimension", align 8
  %23 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %24 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca i1, align 1
  %27 = alloca %"class.ngraph::PartialShape", align 8
  %28 = alloca %"class.ngraph::Dimension", align 8
  %29 = alloca %"class.std::shared_ptr.88", align 8
  %30 = alloca %"class.std::shared_ptr.74", align 8
  %31 = alloca %"class.ngraph::Output", align 8
  %32 = alloca %"class.ngraph::PartialShape", align 8
  %33 = alloca %"class.ngraph::Shape", align 8
  %34 = alloca %"class.std::shared_ptr.94", align 8
  %35 = alloca %"class.std::shared_ptr.74", align 8
  %36 = alloca %"class.ngraph::Output", align 8
  %37 = alloca %"class.std::vector.97", align 8
  %38 = alloca %"class.std::vector.77", align 8
  %39 = alloca ptr, align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator.102", align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator.102", align 8
  %42 = alloca ptr, align 8
  %43 = alloca %"class.std::shared_ptr.74", align 8
  %44 = alloca %"class.ngraph::Output", align 8
  %45 = alloca %"class.std::shared_ptr.88", align 8
  %46 = alloca %"class.std::shared_ptr.74", align 8
  %47 = alloca %"class.ngraph::Dimension", align 8
  %48 = alloca %"class.ngraph::AxisVector", align 8
  %49 = alloca %"class.ngraph::Dimension", align 8
  %50 = alloca %"class.ngraph::PartialShape", align 8
  %51 = alloca %"class.ngraph::Shape", align 8
  %52 = alloca %"class.ngraph::Shape", align 8
  %53 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %54 = alloca i64, align 8
  %55 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca i1, align 1
  %58 = alloca %"class.std::shared_ptr.74", align 8
  %59 = alloca i1, align 1
  %60 = alloca %"class.ngraph::Output", align 8
  %61 = alloca i1, align 1
  %62 = alloca i1, align 1
  %63 = alloca i1, align 1
  %64 = alloca %"class.ngraph::Shape", align 8
  %65 = alloca %"class.ngraph::AxisVector", align 8
  %66 = alloca %"class.std::shared_ptr.88", align 8
  %67 = alloca %"class.std::shared_ptr.74", align 8
  %68 = alloca %"class.ngraph::Output", align 8
  %69 = alloca %"class.ngraph::Shape", align 8
  %70 = alloca %"class.ngraph::Shape", align 8
  %71 = alloca %"class.ngraph::PartialShape", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %72 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #9
  %73 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 1)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %3, ptr align 4 %73, i64 4, i1 false), !tbaa.struct !9
  br label %74

74:                                               ; preds = %1
  %75 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %76 unwind label %88

76:                                               ; preds = %74
  br i1 %75, label %114, label %77

77:                                               ; preds = %76
  call void @llvm.lifetime.start.p0(i64 392, ptr %6) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6)
          to label %78 unwind label %92

78:                                               ; preds = %77
  %79 = getelementptr inbounds i8, ptr %6, i64 16
  %80 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA53_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %79, ptr noundef nonnull align 1 dereferenceable(53) @.str.19, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %81 unwind label %96

81:                                               ; preds = %78
  store i1 true, ptr %9, align 1
  %82 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %7) #9
  %83 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 0
  store ptr @.str.2, ptr %83, align 8, !tbaa !12
  %84 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 1
  store i32 118, ptr %84, align 8, !tbaa !15
  %85 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 2
  store ptr @.str.20, ptr %85, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(128) %6)
          to label %86 unwind label %100

86:                                               ; preds = %81
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %82, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef %72, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %87 unwind label %104

87:                                               ; preds = %86
  store i1 false, ptr %9, align 1
  invoke void @__cxa_throw(ptr %82, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #10
          to label %706 unwind label %104

88:                                               ; preds = %74
  %89 = landingpad { ptr, i32 }
          cleanup
  %90 = extractvalue { ptr, i32 } %89, 0
  store ptr %90, ptr %4, align 8
  %91 = extractvalue { ptr, i32 } %89, 1
  store i32 %91, ptr %5, align 4
  br label %700

92:                                               ; preds = %77
  %93 = landingpad { ptr, i32 }
          cleanup
  %94 = extractvalue { ptr, i32 } %93, 0
  store ptr %94, ptr %4, align 8
  %95 = extractvalue { ptr, i32 } %93, 1
  store i32 %95, ptr %5, align 4
  br label %113

96:                                               ; preds = %78
  %97 = landingpad { ptr, i32 }
          cleanup
  %98 = extractvalue { ptr, i32 } %97, 0
  store ptr %98, ptr %4, align 8
  %99 = extractvalue { ptr, i32 } %97, 1
  store i32 %99, ptr %5, align 4
  br label %112

100:                                              ; preds = %81
  %101 = landingpad { ptr, i32 }
          cleanup
  %102 = extractvalue { ptr, i32 } %101, 0
  store ptr %102, ptr %4, align 8
  %103 = extractvalue { ptr, i32 } %101, 1
  store i32 %103, ptr %5, align 4
  br label %108

104:                                              ; preds = %87, %86
  %105 = landingpad { ptr, i32 }
          cleanup
  %106 = extractvalue { ptr, i32 } %105, 0
  store ptr %106, ptr %4, align 8
  %107 = extractvalue { ptr, i32 } %105, 1
  store i32 %107, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #9
  br label %108

108:                                              ; preds = %104, %100
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #9
  %109 = load i1, ptr %9, align 1
  br i1 %109, label %110, label %111

110:                                              ; preds = %108
  call void @__cxa_free_exception(ptr %82) #9
  br label %111

111:                                              ; preds = %110, %108
  br label %112

112:                                              ; preds = %111, %96
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6) #9
  br label %113

113:                                              ; preds = %112, %92
  call void @llvm.lifetime.end.p0(i64 392, ptr %6) #9
  br label %700

114:                                              ; preds = %76
  br label %115

115:                                              ; preds = %114
  br label %116

116:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #9
  %117 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 1)
          to label %118 unwind label %142

118:                                              ; preds = %116
  %119 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %117)
          to label %120 unwind label %142

120:                                              ; preds = %118
  %121 = getelementptr inbounds %"class.ngraph::Dimension", ptr %10, i32 0, i32 0
  %122 = getelementptr inbounds { i64, i64 }, ptr %121, i32 0, i32 0
  %123 = extractvalue { i64, i64 } %119, 0
  store i64 %123, ptr %122, align 8
  %124 = getelementptr inbounds { i64, i64 }, ptr %121, i32 0, i32 1
  %125 = extractvalue { i64, i64 } %119, 1
  store i64 %125, ptr %124, align 8
  br label %126

126:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 16, ptr %11) #9
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %11, i64 noundef 1)
          to label %127 unwind label %146

127:                                              ; preds = %126
  %128 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(16) %11)
          to label %129 unwind label %146

129:                                              ; preds = %127
  %130 = xor i1 %128, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #9
  br i1 %130, label %131, label %172

131:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 392, ptr %12) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12)
          to label %132 unwind label %150

132:                                              ; preds = %131
  %133 = getelementptr inbounds i8, ptr %12, i64 16
  %134 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef nonnull align 1 dereferenceable(41) @.str.21, ptr noundef nonnull align 8 dereferenceable(16) %10)
          to label %135 unwind label %154

135:                                              ; preds = %132
  store i1 true, ptr %15, align 1
  %136 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #9
  %137 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 0
  store ptr @.str.2, ptr %137, align 8, !tbaa !12
  %138 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 1
  store i32 124, ptr %138, align 8, !tbaa !15
  %139 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 2
  store ptr @.str.22, ptr %139, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(128) %12)
          to label %140 unwind label %158

140:                                              ; preds = %135
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %136, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef %72, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %141 unwind label %162

141:                                              ; preds = %140
  store i1 false, ptr %15, align 1
  invoke void @__cxa_throw(ptr %136, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #10
          to label %706 unwind label %162

142:                                              ; preds = %118, %116
  %143 = landingpad { ptr, i32 }
          cleanup
  %144 = extractvalue { ptr, i32 } %143, 0
  store ptr %144, ptr %4, align 8
  %145 = extractvalue { ptr, i32 } %143, 1
  store i32 %145, ptr %5, align 4
  br label %699

146:                                              ; preds = %127, %126
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %4, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #9
  br label %699

150:                                              ; preds = %131
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %4, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %5, align 4
  br label %171

154:                                              ; preds = %132
  %155 = landingpad { ptr, i32 }
          cleanup
  %156 = extractvalue { ptr, i32 } %155, 0
  store ptr %156, ptr %4, align 8
  %157 = extractvalue { ptr, i32 } %155, 1
  store i32 %157, ptr %5, align 4
  br label %170

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

162:                                              ; preds = %141, %140
  %163 = landingpad { ptr, i32 }
          cleanup
  %164 = extractvalue { ptr, i32 } %163, 0
  store ptr %164, ptr %4, align 8
  %165 = extractvalue { ptr, i32 } %163, 1
  store i32 %165, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  br label %166

166:                                              ; preds = %162, %158
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #9
  %167 = load i1, ptr %15, align 1
  br i1 %167, label %168, label %169

168:                                              ; preds = %166
  call void @__cxa_free_exception(ptr %136) #9
  br label %169

169:                                              ; preds = %168, %166
  br label %170

170:                                              ; preds = %169, %154
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12) #9
  br label %171

171:                                              ; preds = %170, %150
  call void @llvm.lifetime.end.p0(i64 392, ptr %12) #9
  br label %699

172:                                              ; preds = %129
  br label %173

173:                                              ; preds = %172
  br label %174

174:                                              ; preds = %173
  %175 = getelementptr inbounds %"class.ngraph::op::util::BroadcastBase", ptr %72, i32 0, i32 1
  %176 = getelementptr inbounds %"struct.ngraph::op::BroadcastModeSpec", ptr %175, i32 0, i32 0
  %177 = load i32, ptr %176, align 8, !tbaa !17
  %178 = icmp eq i32 %177, 0
  br i1 %178, label %179, label %290

179:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %180 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 2)
          to label %181 unwind label %196

181:                                              ; preds = %179
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %16, ptr align 4 %180, i64 4, i1 false), !tbaa.struct !9
  br label %182

182:                                              ; preds = %181
  %183 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %184 unwind label %200

184:                                              ; preds = %182
  br i1 %183, label %226, label %185

185:                                              ; preds = %184
  call void @llvm.lifetime.start.p0(i64 392, ptr %17) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17)
          to label %186 unwind label %204

186:                                              ; preds = %185
  %187 = getelementptr inbounds i8, ptr %17, i64 16
  %188 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA51_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %187, ptr noundef nonnull align 1 dereferenceable(51) @.str.23, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %189 unwind label %208

189:                                              ; preds = %186
  store i1 true, ptr %20, align 1
  %190 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #9
  %191 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 0
  store ptr @.str.2, ptr %191, align 8, !tbaa !12
  %192 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 1
  store i32 133, ptr %192, align 8, !tbaa !15
  %193 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 2
  store ptr @.str.24, ptr %193, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(128) %17)
          to label %194 unwind label %212

194:                                              ; preds = %189
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %190, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef %72, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %195 unwind label %216

195:                                              ; preds = %194
  store i1 false, ptr %20, align 1
  invoke void @__cxa_throw(ptr %190, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #10
          to label %706 unwind label %216

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

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

204:                                              ; preds = %185
  %205 = landingpad { ptr, i32 }
          cleanup
  %206 = extractvalue { ptr, i32 } %205, 0
  store ptr %206, ptr %4, align 8
  %207 = extractvalue { ptr, i32 } %205, 1
  store i32 %207, ptr %5, align 4
  br label %225

208:                                              ; preds = %186
  %209 = landingpad { ptr, i32 }
          cleanup
  %210 = extractvalue { ptr, i32 } %209, 0
  store ptr %210, ptr %4, align 8
  %211 = extractvalue { ptr, i32 } %209, 1
  store i32 %211, ptr %5, align 4
  br label %224

212:                                              ; preds = %189
  %213 = landingpad { ptr, i32 }
          cleanup
  %214 = extractvalue { ptr, i32 } %213, 0
  store ptr %214, ptr %4, align 8
  %215 = extractvalue { ptr, i32 } %213, 1
  store i32 %215, ptr %5, align 4
  br label %220

216:                                              ; preds = %195, %194
  %217 = landingpad { ptr, i32 }
          cleanup
  %218 = extractvalue { ptr, i32 } %217, 0
  store ptr %218, ptr %4, align 8
  %219 = extractvalue { ptr, i32 } %217, 1
  store i32 %219, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  br label %220

220:                                              ; preds = %216, %212
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #9
  %221 = load i1, ptr %20, align 1
  br i1 %221, label %222, label %223

222:                                              ; preds = %220
  call void @__cxa_free_exception(ptr %190) #9
  br label %223

223:                                              ; preds = %222, %220
  br label %224

224:                                              ; preds = %223, %208
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17) #9
  br label %225

225:                                              ; preds = %224, %204
  call void @llvm.lifetime.end.p0(i64 392, ptr %17) #9
  br label %288

226:                                              ; preds = %184
  br label %227

227:                                              ; preds = %226
  br label %228

228:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #9
  %229 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 2)
          to label %230 unwind label %254

230:                                              ; preds = %228
  %231 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %229)
          to label %232 unwind label %254

232:                                              ; preds = %230
  %233 = getelementptr inbounds %"class.ngraph::Dimension", ptr %21, i32 0, i32 0
  %234 = getelementptr inbounds { i64, i64 }, ptr %233, i32 0, i32 0
  %235 = extractvalue { i64, i64 } %231, 0
  store i64 %235, ptr %234, align 8
  %236 = getelementptr inbounds { i64, i64 }, ptr %233, i32 0, i32 1
  %237 = extractvalue { i64, i64 } %231, 1
  store i64 %237, ptr %236, align 8
  br label %238

238:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #9
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %22, i64 noundef 1)
          to label %239 unwind label %258

239:                                              ; preds = %238
  %240 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %241 unwind label %258

241:                                              ; preds = %239
  %242 = xor i1 %240, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #9
  br i1 %242, label %243, label %284

243:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 392, ptr %23) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23)
          to label %244 unwind label %262

244:                                              ; preds = %243
  %245 = getelementptr inbounds i8, ptr %23, i64 16
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %245, ptr noundef nonnull align 1 dereferenceable(40) @.str.25, ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %247 unwind label %266

247:                                              ; preds = %244
  store i1 true, ptr %26, align 1
  %248 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #9
  %249 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 0
  store ptr @.str.2, ptr %249, align 8, !tbaa !12
  %250 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 1
  store i32 139, ptr %250, align 8, !tbaa !15
  %251 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 2
  store ptr @.str.26, ptr %251, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(128) %23)
          to label %252 unwind label %270

252:                                              ; preds = %247
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %248, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef %72, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %253 unwind label %274

253:                                              ; preds = %252
  store i1 false, ptr %26, align 1
  invoke void @__cxa_throw(ptr %248, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #10
          to label %706 unwind label %274

254:                                              ; preds = %230, %228
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %4, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %5, align 4
  br label %287

258:                                              ; preds = %239, %238
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %4, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #9
  br label %287

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

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

270:                                              ; preds = %247
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %4, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %5, align 4
  br label %278

274:                                              ; preds = %253, %252
  %275 = landingpad { ptr, i32 }
          cleanup
  %276 = extractvalue { ptr, i32 } %275, 0
  store ptr %276, ptr %4, align 8
  %277 = extractvalue { ptr, i32 } %275, 1
  store i32 %277, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  br label %278

278:                                              ; preds = %274, %270
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #9
  %279 = load i1, ptr %26, align 1
  br i1 %279, label %280, label %281

280:                                              ; preds = %278
  call void @__cxa_free_exception(ptr %248) #9
  br label %281

281:                                              ; preds = %280, %278
  br label %282

282:                                              ; preds = %281, %266
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23) #9
  br label %283

283:                                              ; preds = %282, %262
  call void @llvm.lifetime.end.p0(i64 392, ptr %23) #9
  br label %287

284:                                              ; preds = %241
  br label %285

285:                                              ; preds = %284
  br label %286

286:                                              ; preds = %285
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #9
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %16) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %290

287:                                              ; preds = %283, %258, %254
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #9
  br label %288

288:                                              ; preds = %287, %225, %200
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %16) #9
  br label %289

289:                                              ; preds = %288, %196
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %699

290:                                              ; preds = %286, %174
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #9
  %291 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %292 unwind label %312

292:                                              ; preds = %290
  %293 = getelementptr inbounds %"class.ngraph::Dimension", ptr %28, i32 0, i32 0
  %294 = getelementptr inbounds { i64, i64 }, ptr %293, i32 0, i32 0
  %295 = extractvalue { i64, i64 } %291, 0
  store i64 %295, ptr %294, align 8
  %296 = getelementptr inbounds { i64, i64 }, ptr %293, i32 0, i32 1
  %297 = extractvalue { i64, i64 } %291, 1
  store i64 %297, ptr %296, align 8
  %298 = getelementptr inbounds { i64, i64 }, ptr %28, i32 0, i32 0
  %299 = load i64, ptr %298, align 8
  %300 = getelementptr inbounds { i64, i64 }, ptr %28, i32 0, i32 1
  %301 = load i64, ptr %300, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %27, i64 %299, i64 %301)
          to label %302 unwind label %312

302:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %31) #9
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %31, ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 1)
          to label %303 unwind label %316

303:                                              ; preds = %302
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %30, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %304 unwind label %320

304:                                              ; preds = %303
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.88") align 8 %29, ptr noundef %30)
          to label %305 unwind label %324

305:                                              ; preds = %304
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #9
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #9
  %306 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %29) #9
  br i1 %306, label %307, label %339

307:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #9
  %308 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %29) #9
  invoke void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %33, ptr noundef nonnull align 8 dereferenceable(729) %308)
          to label %309 unwind label %330

309:                                              ; preds = %307
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %310 unwind label %334

310:                                              ; preds = %309
  %311 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #9
  br label %466

312:                                              ; preds = %292, %290
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %4, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %5, align 4
  br label %698

316:                                              ; preds = %302
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %4, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %5, align 4
  br label %329

320:                                              ; preds = %303
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %4, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %5, align 4
  br label %328

324:                                              ; preds = %304
  %325 = landingpad { ptr, i32 }
          cleanup
  %326 = extractvalue { ptr, i32 } %325, 0
  store ptr %326, ptr %4, align 8
  %327 = extractvalue { ptr, i32 } %325, 1
  store i32 %327, ptr %5, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #9
  br label %328

328:                                              ; preds = %324, %320
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  br label %329

329:                                              ; preds = %328, %316
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #9
  br label %697

330:                                              ; preds = %307
  %331 = landingpad { ptr, i32 }
          cleanup
  %332 = extractvalue { ptr, i32 } %331, 0
  store ptr %332, ptr %4, align 8
  %333 = extractvalue { ptr, i32 } %331, 1
  store i32 %333, ptr %5, align 4
  br label %338

334:                                              ; preds = %309
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %4, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %5, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #9
  br label %338

338:                                              ; preds = %334, %330
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #9
  br label %696

339:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #9
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %36, ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 1)
          to label %340 unwind label %376

340:                                              ; preds = %339
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %35, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %341 unwind label %380

341:                                              ; preds = %340
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v06ConcatESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %34, ptr noundef %35)
          to label %342 unwind label %384

342:                                              ; preds = %341
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #9
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #9
  %343 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %34) #9
  br i1 %343, label %344, label %464

344:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 24, ptr %37) #9
  %345 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  invoke void @_ZN6ngraph4Node6inputsEv(ptr dead_on_unwind writable sret(%"class.std::vector.97") align 8 %37, ptr noundef nonnull align 8 dereferenceable(680) %345)
          to label %346 unwind label %390

346:                                              ; preds = %344
  %347 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  %348 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node24get_output_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %347, i64 noundef 0)
          to label %349 unwind label %394

349:                                              ; preds = %346
  %350 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %348)
          to label %351 unwind label %394

351:                                              ; preds = %349
  br i1 %350, label %352, label %461

352:                                              ; preds = %351
  %353 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  %354 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %353, i64 noundef 0)
          to label %355 unwind label %394

355:                                              ; preds = %352
  %356 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %354) #9
  %357 = icmp eq i64 %356, 1
  br i1 %357, label %358, label %461

358:                                              ; preds = %355
  %359 = call noundef i64 @_ZNKSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  %360 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  %361 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %360, i64 noundef 0)
          to label %362 unwind label %394

362:                                              ; preds = %358
  %363 = invoke noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %361)
          to label %364 unwind label %394

364:                                              ; preds = %362
  %365 = icmp eq i64 %359, %363
  br i1 %365, label %366, label %461

366:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #9
  call void @llvm.memset.p0.i64(ptr align 8 %38, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #9
  store ptr %37, ptr %39, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #9
  %367 = load ptr, ptr %39, align 8, !tbaa !5
  %368 = call ptr @_ZNSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %367) #9
  %369 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.102", ptr %40, i32 0, i32 0
  store ptr %368, ptr %369, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #9
  %370 = load ptr, ptr %39, align 8, !tbaa !5
  %371 = call ptr @_ZNSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %370) #9
  %372 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.102", ptr %41, i32 0, i32 0
  store ptr %371, ptr %372, align 8
  br label %373

373:                                              ; preds = %448, %366
  %374 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %41) #9
  br i1 %374, label %398, label %375

375:                                              ; preds = %373
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  br label %453

376:                                              ; preds = %339
  %377 = landingpad { ptr, i32 }
          cleanup
  %378 = extractvalue { ptr, i32 } %377, 0
  store ptr %378, ptr %4, align 8
  %379 = extractvalue { ptr, i32 } %377, 1
  store i32 %379, ptr %5, align 4
  br label %389

380:                                              ; preds = %340
  %381 = landingpad { ptr, i32 }
          cleanup
  %382 = extractvalue { ptr, i32 } %381, 0
  store ptr %382, ptr %4, align 8
  %383 = extractvalue { ptr, i32 } %381, 1
  store i32 %383, ptr %5, align 4
  br label %388

384:                                              ; preds = %341
  %385 = landingpad { ptr, i32 }
          cleanup
  %386 = extractvalue { ptr, i32 } %385, 0
  store ptr %386, ptr %4, align 8
  %387 = extractvalue { ptr, i32 } %385, 1
  store i32 %387, ptr %5, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #9
  br label %388

388:                                              ; preds = %384, %380
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #9
  br label %389

389:                                              ; preds = %388, %376
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #9
  br label %465

390:                                              ; preds = %344
  %391 = landingpad { ptr, i32 }
          cleanup
  %392 = extractvalue { ptr, i32 } %391, 0
  store ptr %392, ptr %4, align 8
  %393 = extractvalue { ptr, i32 } %391, 1
  store i32 %393, ptr %5, align 4
  br label %463

394:                                              ; preds = %362, %358, %352, %349, %346
  %395 = landingpad { ptr, i32 }
          cleanup
  %396 = extractvalue { ptr, i32 } %395, 0
  store ptr %396, ptr %4, align 8
  %397 = extractvalue { ptr, i32 } %395, 1
  store i32 %397, ptr %5, align 4
  br label %462

398:                                              ; preds = %373
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #9
  %399 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #9
  store ptr %399, ptr %42, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %44) #9
  %400 = load ptr, ptr %42, align 8, !tbaa !5
  invoke void @_ZNK6ngraph5InputINS_4NodeEE17get_source_outputEv(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %44, ptr noundef nonnull align 8 dereferenceable(16) %400)
          to label %401 unwind label %412

401:                                              ; preds = %398
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %43, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %402 unwind label %416

402:                                              ; preds = %401
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #9
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %46, ptr noundef nonnull align 8 dereferenceable(16) %43) #9
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.88") align 8 %45, ptr noundef %46)
          to label %403 unwind label %421

403:                                              ; preds = %402
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #9
  %404 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %45) #9
  br i1 %404, label %405, label %434

405:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %48) #9
  %406 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  invoke void @_ZNK6ngraph2op2v08Constant19get_axis_vector_valEv(ptr dead_on_unwind writable sret(%"class.ngraph::AxisVector") align 8 %48, ptr noundef nonnull align 8 dereferenceable(729) %406)
          to label %407 unwind label %425

407:                                              ; preds = %405
  %408 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef 0) #9
  %409 = load i64, ptr %408, align 8, !tbaa !73
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %47, i64 noundef %409)
          to label %410 unwind label %429

410:                                              ; preds = %407
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %411 unwind label %429

411:                                              ; preds = %410
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #9
  br label %447

412:                                              ; preds = %398
  %413 = landingpad { ptr, i32 }
          cleanup
  %414 = extractvalue { ptr, i32 } %413, 0
  store ptr %414, ptr %4, align 8
  %415 = extractvalue { ptr, i32 } %413, 1
  store i32 %415, ptr %5, align 4
  br label %420

416:                                              ; preds = %401
  %417 = landingpad { ptr, i32 }
          cleanup
  %418 = extractvalue { ptr, i32 } %417, 0
  store ptr %418, ptr %4, align 8
  %419 = extractvalue { ptr, i32 } %417, 1
  store i32 %419, ptr %5, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  br label %420

420:                                              ; preds = %416, %412
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #9
  br label %452

421:                                              ; preds = %402
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %4, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %5, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #9
  br label %451

425:                                              ; preds = %405
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %4, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %5, align 4
  br label %433

429:                                              ; preds = %410, %407
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %4, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %5, align 4
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #9
  br label %433

433:                                              ; preds = %429, %425
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #9
  br label %450

434:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #9
  %435 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %436 unwind label %443

436:                                              ; preds = %434
  %437 = getelementptr inbounds %"class.ngraph::Dimension", ptr %49, i32 0, i32 0
  %438 = getelementptr inbounds { i64, i64 }, ptr %437, i32 0, i32 0
  %439 = extractvalue { i64, i64 } %435, 0
  store i64 %439, ptr %438, align 8
  %440 = getelementptr inbounds { i64, i64 }, ptr %437, i32 0, i32 1
  %441 = extractvalue { i64, i64 } %435, 1
  store i64 %441, ptr %440, align 8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %442 unwind label %443

442:                                              ; preds = %436
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #9
  br label %447

443:                                              ; preds = %436, %434
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %4, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #9
  br label %450

447:                                              ; preds = %442, %411
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #9
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  br label %448

448:                                              ; preds = %447
  %449 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #9
  br label %373

450:                                              ; preds = %443, %433
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45) #9
  br label %451

451:                                              ; preds = %450, %421
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #9
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #9
  br label %452

452:                                              ; preds = %451, %420
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  br label %460

453:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #9
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(24) %38)
          to label %454 unwind label %456

454:                                              ; preds = %453
  %455 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #9
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #9
  br label %461

456:                                              ; preds = %453
  %457 = landingpad { ptr, i32 }
          cleanup
  %458 = extractvalue { ptr, i32 } %457, 0
  store ptr %458, ptr %4, align 8
  %459 = extractvalue { ptr, i32 } %457, 1
  store i32 %459, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #9
  br label %460

460:                                              ; preds = %456, %452
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #9
  br label %462

461:                                              ; preds = %454, %364, %355, %351
  call void @_ZNSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #9
  br label %464

462:                                              ; preds = %460, %394
  call void @_ZNSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  br label %463

463:                                              ; preds = %462, %390
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #9
  br label %465

464:                                              ; preds = %461, %342
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #9
  br label %466

465:                                              ; preds = %463, %389
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #9
  br label %696

466:                                              ; preds = %464, %310
  %467 = getelementptr inbounds %"class.ngraph::op::util::BroadcastBase", ptr %72, i32 0, i32 1
  %468 = getelementptr inbounds %"struct.ngraph::op::BroadcastModeSpec", ptr %467, i32 0, i32 0
  %469 = load i32, ptr %468, align 8, !tbaa !17
  %470 = icmp eq i32 %469, 0
  br i1 %470, label %471, label %644

471:                                              ; preds = %466
  %472 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 0)
          to label %473 unwind label %510

473:                                              ; preds = %471
  %474 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %472)
          to label %475 unwind label %510

475:                                              ; preds = %473
  br i1 %474, label %476, label %643

476:                                              ; preds = %475
  %477 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 1)
          to label %478 unwind label %510

478:                                              ; preds = %476
  %479 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %477)
          to label %480 unwind label %510

480:                                              ; preds = %478
  br i1 %479, label %481, label %643

481:                                              ; preds = %480
  %482 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 2)
          to label %483 unwind label %510

483:                                              ; preds = %481
  %484 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %482)
          to label %485 unwind label %510

485:                                              ; preds = %483
  br i1 %484, label %486, label %643

486:                                              ; preds = %485
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #9
  %487 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 0)
          to label %488 unwind label %514

488:                                              ; preds = %486
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %487)
          to label %489 unwind label %514

489:                                              ; preds = %488
  call void @llvm.lifetime.start.p0(i64 24, ptr %52) #9
  %490 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 2)
          to label %491 unwind label %518

491:                                              ; preds = %489
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(24) %490)
          to label %492 unwind label %518

492:                                              ; preds = %491
  br label %493

493:                                              ; preds = %492
  %494 = invoke noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %495 unwind label %522

495:                                              ; preds = %493
  %496 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  %497 = icmp eq i64 %494, %496
  br i1 %497, label %548, label %498

498:                                              ; preds = %495
  call void @llvm.lifetime.start.p0(i64 392, ptr %53) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %53)
          to label %499 unwind label %526

499:                                              ; preds = %498
  %500 = getelementptr inbounds i8, ptr %53, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #9
  %501 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  store i64 %501, ptr %54, align 8, !tbaa !73
  %502 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA30_cJRNS_5ShapeERA37_KcmEEERSoS7_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %500, ptr noundef nonnull align 1 dereferenceable(30) @.str.27, ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 1 dereferenceable(37) @.str.28, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %503 unwind label %530

503:                                              ; preds = %499
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #9
  store i1 true, ptr %57, align 1
  %504 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %55) #9
  %505 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %55, i32 0, i32 0
  store ptr @.str.2, ptr %505, align 8, !tbaa !12
  %506 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %55, i32 0, i32 1
  store i32 190, ptr %506, align 8, !tbaa !15
  %507 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %55, i32 0, i32 2
  store ptr @.str.29, ptr %507, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(128) %53)
          to label %508 unwind label %534

508:                                              ; preds = %503
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %504, ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef %72, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %509 unwind label %538

509:                                              ; preds = %508
  store i1 false, ptr %57, align 1
  invoke void @__cxa_throw(ptr %504, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #10
          to label %706 unwind label %538

510:                                              ; preds = %694, %692, %661, %659, %656, %654, %483, %481, %478, %476, %473, %471
  %511 = landingpad { ptr, i32 }
          cleanup
  %512 = extractvalue { ptr, i32 } %511, 0
  store ptr %512, ptr %4, align 8
  %513 = extractvalue { ptr, i32 } %511, 1
  store i32 %513, ptr %5, align 4
  br label %696

514:                                              ; preds = %488, %486
  %515 = landingpad { ptr, i32 }
          cleanup
  %516 = extractvalue { ptr, i32 } %515, 0
  store ptr %516, ptr %4, align 8
  %517 = extractvalue { ptr, i32 } %515, 1
  store i32 %517, ptr %5, align 4
  br label %642

518:                                              ; preds = %491, %489
  %519 = landingpad { ptr, i32 }
          cleanup
  %520 = extractvalue { ptr, i32 } %519, 0
  store ptr %520, ptr %4, align 8
  %521 = extractvalue { ptr, i32 } %519, 1
  store i32 %521, ptr %5, align 4
  br label %641

522:                                              ; preds = %493
  %523 = landingpad { ptr, i32 }
          cleanup
  %524 = extractvalue { ptr, i32 } %523, 0
  store ptr %524, ptr %4, align 8
  %525 = extractvalue { ptr, i32 } %523, 1
  store i32 %525, ptr %5, align 4
  br label %640

526:                                              ; preds = %498
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %4, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %5, align 4
  br label %547

530:                                              ; preds = %499
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %4, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #9
  br label %546

534:                                              ; preds = %503
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %4, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %5, align 4
  br label %542

538:                                              ; preds = %509, %508
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %4, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #9
  br label %542

542:                                              ; preds = %538, %534
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #9
  %543 = load i1, ptr %57, align 1
  br i1 %543, label %544, label %545

544:                                              ; preds = %542
  call void @__cxa_free_exception(ptr %504) #9
  br label %545

545:                                              ; preds = %544, %542
  br label %546

546:                                              ; preds = %545, %530
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %53) #9
  br label %547

547:                                              ; preds = %546, %526
  call void @llvm.lifetime.end.p0(i64 392, ptr %53) #9
  br label %640

548:                                              ; preds = %495
  br label %549

549:                                              ; preds = %548
  br label %550

550:                                              ; preds = %549
  %551 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %29) #9
  store i1 false, ptr %59, align 1
  store i1 false, ptr %61, align 1
  store i1 false, ptr %62, align 1
  store i1 false, ptr %63, align 1
  br i1 %551, label %552, label %561

552:                                              ; preds = %550
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #9
  store i1 true, ptr %59, align 1
  call void @llvm.lifetime.start.p0(i64 24, ptr %60) #9
  store i1 true, ptr %61, align 1
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %60, ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 2)
          to label %553 unwind label %584

553:                                              ; preds = %552
  store i1 true, ptr %62, align 1
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %58, ptr noundef nonnull align 8 dereferenceable(24) %60)
          to label %554 unwind label %588

554:                                              ; preds = %553
  store i1 true, ptr %63, align 1
  %555 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %58) #9
  %556 = load ptr, ptr %555, align 8, !tbaa !74
  %557 = getelementptr inbounds ptr, ptr %556, i64 20
  %558 = load ptr, ptr %557, align 8
  %559 = invoke noundef zeroext i1 %558(ptr noundef nonnull align 8 dereferenceable(680) %555)
          to label %560 unwind label %592

560:                                              ; preds = %554
  br label %561

561:                                              ; preds = %560, %550
  %562 = phi i1 [ false, %550 ], [ %559, %560 ]
  %563 = load i1, ptr %63, align 1
  br i1 %563, label %564, label %565

564:                                              ; preds = %561
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #9
  br label %565

565:                                              ; preds = %564, %561
  %566 = load i1, ptr %62, align 1
  br i1 %566, label %567, label %568

567:                                              ; preds = %565
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  br label %568

568:                                              ; preds = %567, %565
  %569 = load i1, ptr %61, align 1
  br i1 %569, label %570, label %571

570:                                              ; preds = %568
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #9
  br label %571

571:                                              ; preds = %570, %568
  %572 = load i1, ptr %59, align 1
  br i1 %572, label %573, label %574

573:                                              ; preds = %571
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #9
  br label %574

574:                                              ; preds = %573, %571
  br i1 %562, label %575, label %639

575:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 24, ptr %64) #9
  %576 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %29) #9
  invoke void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %64, ptr noundef nonnull align 8 dereferenceable(729) %576)
          to label %577 unwind label %610

577:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %68) #9
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %68, ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 2)
          to label %578 unwind label %614

578:                                              ; preds = %577
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %67, ptr noundef nonnull align 8 dereferenceable(24) %68)
          to label %579 unwind label %618

579:                                              ; preds = %578
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.88") align 8 %66, ptr noundef %67)
          to label %580 unwind label %622

580:                                              ; preds = %579
  %581 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %66) #9
  invoke void @_ZNK6ngraph2op2v08Constant19get_axis_vector_valEv(ptr dead_on_unwind writable sret(%"class.ngraph::AxisVector") align 8 %65, ptr noundef nonnull align 8 dereferenceable(729) %581)
          to label %582 unwind label %626

582:                                              ; preds = %580
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #9
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #9
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #9
  invoke void @_ZNK6ngraph2op4util13BroadcastBase26validate_target_shape_noneERKNS_5ShapeERKNS_10AxisVectorES5_(ptr noundef nonnull align 8 dereferenceable(696) %72, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(24) %64)
          to label %583 unwind label %633

583:                                              ; preds = %582
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #9
  br label %639

584:                                              ; preds = %552
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %4, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %5, align 4
  br label %603

588:                                              ; preds = %553
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %4, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %5, align 4
  br label %599

592:                                              ; preds = %554
  %593 = landingpad { ptr, i32 }
          cleanup
  %594 = extractvalue { ptr, i32 } %593, 0
  store ptr %594, ptr %4, align 8
  %595 = extractvalue { ptr, i32 } %593, 1
  store i32 %595, ptr %5, align 4
  %596 = load i1, ptr %63, align 1
  br i1 %596, label %597, label %598

597:                                              ; preds = %592
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #9
  br label %598

598:                                              ; preds = %597, %592
  br label %599

599:                                              ; preds = %598, %588
  %600 = load i1, ptr %62, align 1
  br i1 %600, label %601, label %602

601:                                              ; preds = %599
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  br label %602

602:                                              ; preds = %601, %599
  br label %603

603:                                              ; preds = %602, %584
  %604 = load i1, ptr %61, align 1
  br i1 %604, label %605, label %606

605:                                              ; preds = %603
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #9
  br label %606

606:                                              ; preds = %605, %603
  %607 = load i1, ptr %59, align 1
  br i1 %607, label %608, label %609

608:                                              ; preds = %606
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #9
  br label %609

609:                                              ; preds = %608, %606
  br label %640

610:                                              ; preds = %575
  %611 = landingpad { ptr, i32 }
          cleanup
  %612 = extractvalue { ptr, i32 } %611, 0
  store ptr %612, ptr %4, align 8
  %613 = extractvalue { ptr, i32 } %611, 1
  store i32 %613, ptr %5, align 4
  br label %638

614:                                              ; preds = %577
  %615 = landingpad { ptr, i32 }
          cleanup
  %616 = extractvalue { ptr, i32 } %615, 0
  store ptr %616, ptr %4, align 8
  %617 = extractvalue { ptr, i32 } %615, 1
  store i32 %617, ptr %5, align 4
  br label %632

618:                                              ; preds = %578
  %619 = landingpad { ptr, i32 }
          cleanup
  %620 = extractvalue { ptr, i32 } %619, 0
  store ptr %620, ptr %4, align 8
  %621 = extractvalue { ptr, i32 } %619, 1
  store i32 %621, ptr %5, align 4
  br label %631

622:                                              ; preds = %579
  %623 = landingpad { ptr, i32 }
          cleanup
  %624 = extractvalue { ptr, i32 } %623, 0
  store ptr %624, ptr %4, align 8
  %625 = extractvalue { ptr, i32 } %623, 1
  store i32 %625, ptr %5, align 4
  br label %630

626:                                              ; preds = %580
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %4, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %5, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #9
  br label %630

630:                                              ; preds = %626, %622
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #9
  br label %631

631:                                              ; preds = %630, %618
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #9
  br label %632

632:                                              ; preds = %631, %614
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #9
  br label %637

633:                                              ; preds = %582
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %4, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %5, align 4
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #9
  br label %637

637:                                              ; preds = %633, %632
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #9
  br label %638

638:                                              ; preds = %637, %610
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #9
  br label %640

639:                                              ; preds = %583, %574
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #9
  br label %643

640:                                              ; preds = %638, %609, %547, %522
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #9
  br label %641

641:                                              ; preds = %640, %518
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  br label %642

642:                                              ; preds = %641, %514
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #9
  br label %696

643:                                              ; preds = %639, %485, %480, %475
  br label %692

644:                                              ; preds = %466
  %645 = getelementptr inbounds %"class.ngraph::op::util::BroadcastBase", ptr %72, i32 0, i32 1
  %646 = getelementptr inbounds %"struct.ngraph::op::BroadcastModeSpec", ptr %645, i32 0, i32 0
  %647 = load i32, ptr %646, align 8, !tbaa !17
  %648 = icmp eq i32 %647, 1
  br i1 %648, label %654, label %649

649:                                              ; preds = %644
  %650 = getelementptr inbounds %"class.ngraph::op::util::BroadcastBase", ptr %72, i32 0, i32 1
  %651 = getelementptr inbounds %"struct.ngraph::op::BroadcastModeSpec", ptr %650, i32 0, i32 0
  %652 = load i32, ptr %651, align 8, !tbaa !17
  %653 = icmp eq i32 %652, 2
  br i1 %653, label %654, label %691

654:                                              ; preds = %649, %644
  %655 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 0)
          to label %656 unwind label %510

656:                                              ; preds = %654
  %657 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %655)
          to label %658 unwind label %510

658:                                              ; preds = %656
  br i1 %657, label %659, label %690

659:                                              ; preds = %658
  %660 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 1)
          to label %661 unwind label %510

661:                                              ; preds = %659
  %662 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %660)
          to label %663 unwind label %510

663:                                              ; preds = %661
  br i1 %662, label %664, label %690

664:                                              ; preds = %663
  call void @llvm.lifetime.start.p0(i64 24, ptr %69) #9
  %665 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 0)
          to label %666 unwind label %675

666:                                              ; preds = %664
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %665)
          to label %667 unwind label %675

667:                                              ; preds = %666
  %668 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %29) #9
  br i1 %668, label %669, label %688

669:                                              ; preds = %667
  call void @llvm.lifetime.start.p0(i64 24, ptr %70) #9
  %670 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %29) #9
  invoke void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %70, ptr noundef nonnull align 8 dereferenceable(729) %670)
          to label %671 unwind label %679

671:                                              ; preds = %669
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #9
  %672 = getelementptr inbounds %"class.ngraph::op::util::BroadcastBase", ptr %72, i32 0, i32 1
  invoke void @_ZNK6ngraph2op4util13BroadcastBase27get_result_shape_numpy_pdpdERKNS_5ShapeES5_RKNS0_17BroadcastModeSpecE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %71, ptr noundef nonnull align 8 dereferenceable(696) %72, ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(16) %672)
          to label %673 unwind label %683

673:                                              ; preds = %671
  %674 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #9
  br label %688

675:                                              ; preds = %666, %664
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %4, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %5, align 4
  br label %689

679:                                              ; preds = %669
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %4, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %5, align 4
  br label %687

683:                                              ; preds = %671
  %684 = landingpad { ptr, i32 }
          cleanup
  %685 = extractvalue { ptr, i32 } %684, 0
  store ptr %685, ptr %4, align 8
  %686 = extractvalue { ptr, i32 } %684, 1
  store i32 %686, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #9
  br label %687

687:                                              ; preds = %683, %679
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  br label %689

688:                                              ; preds = %673, %667
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #9
  br label %690

689:                                              ; preds = %687, %675
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #9
  br label %696

690:                                              ; preds = %688, %663, %658
  br label %691

691:                                              ; preds = %690, %649
  br label %692

692:                                              ; preds = %691, %643
  %693 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 0)
          to label %694 unwind label %510

694:                                              ; preds = %692
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %72, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %693, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %695 unwind label %510

695:                                              ; preds = %694
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #9
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #9
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #9
  ret void

696:                                              ; preds = %689, %642, %510, %465, %338
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #9
  br label %697

697:                                              ; preds = %696, %329
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #9
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  br label %698

698:                                              ; preds = %697, %312
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #9
  br label %699

699:                                              ; preds = %698, %289, %171, %146, %142
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #9
  br label %700

700:                                              ; preds = %699, %113, %88
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #9
  br label %701

701:                                              ; preds = %700
  %702 = load ptr, ptr %4, align 8
  %703 = load i32, ptr %5, align 4
  %704 = insertvalue { ptr, i32 } poison, ptr %702, 0
  %705 = insertvalue { ptr, i32 } %704, i32 %703, 1
  resume { ptr, i32 } %705

706:                                              ; preds = %509, %253, %195, %141, %87
  unreachable
}

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

declare noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA53_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(53), ptr noundef nonnull align 4 dereferenceable(4)) #6

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

; Function Attrs: mustprogress uwtable
declare dso_local { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

declare noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(41), ptr noundef nonnull align 8 dereferenceable(16)) #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA51_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(51), ptr noundef nonnull align 4 dereferenceable(4)) #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(16)) #6

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

declare void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8, i64, i64) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv() #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.88") align 8, ptr noundef) #3

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16)) #5 align 2

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

declare void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8, ptr noundef nonnull align 8 dereferenceable(729)) #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph11as_type_ptrINS_2op2v06ConcatESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.94") align 8, ptr noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16)) #5 align 2

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

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

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node24get_output_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #4

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32)) #4

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

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #1

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

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

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

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

declare void @_ZNK6ngraph2op2v08Constant19get_axis_vector_valEv(ptr dead_on_unwind writable sret(%"class.ngraph::AxisVector") align 8, ptr noundef nonnull align 8 dereferenceable(729)) #4

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA30_cJRNS_5ShapeERA37_KcmEEERSoS7_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(30), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(37), ptr noundef nonnull align 8 dereferenceable(8)) #6

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

declare void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(32)) #4

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

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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress 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 #6 = { 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 #7 = { 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 #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { nounwind }
attributes #10 = { 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 = !{i64 0, i64 4, !10}
!10 = !{!11, !11, i64 0}
!11 = !{!"_ZTSN6ngraph7element6Type_tE", !7, i64 0}
!12 = !{!13, !6, i64 0}
!13 = !{!"_ZTSN6ngraph12CheckLocInfoE", !6, i64 0, !14, i64 8, !6, i64 16}
!14 = !{!"int", !7, i64 0}
!15 = !{!13, !14, i64 8}
!16 = !{!13, !6, i64 16}
!17 = !{!18, !72, i64 680}
!18 = !{!"_ZTSN6ngraph2op4util13BroadcastBaseE", !19, i64 0, !71, i64 680}
!19 = !{!"_ZTSN6ngraph2op2OpE", !20, i64 0}
!20 = !{!"_ZTSN6ngraph4NodeE", !21, i64 8, !25, i64 24, !25, i64 80, !31, i64 136, !35, i64 160, !39, i64 184, !27, i64 216, !39, i64 224, !39, i64 256, !41, i64 288, !43, i64 344, !51, i64 392, !56, i64 472, !61, i64 552, !14, i64 608, !63, i64 616, !66, i64 632}
!21 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !22, i64 0}
!22 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !23, i64 0}
!23 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !24, i64 8}
!24 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!25 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !26, i64 0}
!26 = !{!"_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, !27, i64 8, !28, i64 16, !27, i64 24, !29, i64 32, !6, i64 48}
!27 = !{!"long", !7, i64 0}
!28 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!29 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !30, i64 0, !27, i64 8}
!30 = !{!"float", !7, i64 0}
!31 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!35 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !36, i64 0}
!36 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!39 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !40, i64 0, !27, i64 8, !7, i64 16}
!40 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!41 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !42, i64 0}
!42 = !{!"_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, !27, i64 8, !28, i64 16, !27, i64 24, !29, i64 32, !6, i64 48}
!43 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !44, i64 0}
!44 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !45, i64 0}
!45 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !46, i64 0, !48, i64 8}
!46 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !47, i64 0}
!47 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!48 = !{!"_ZTSSt15_Rb_tree_header", !49, i64 0, !27, i64 32}
!49 = !{!"_ZTSSt18_Rb_tree_node_base", !50, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!50 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!51 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !52, i64 0}
!52 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !54, i64 0}
!54 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !27, i64 8, !55, i64 16, !55, i64 48}
!55 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!56 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !57, i64 0}
!57 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !58, i64 0}
!58 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !59, i64 0}
!59 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !27, i64 8, !60, i64 16, !60, i64 48}
!60 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!61 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !62, i64 0}
!62 = !{!"_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, !27, i64 8, !28, i64 16, !27, i64 24, !29, i64 32, !6, i64 48}
!63 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !64, i64 0}
!64 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !65, i64 8}
!65 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!66 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !67, i64 0}
!67 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !68, i64 0}
!68 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !69, i64 0, !48, i64 8}
!69 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !70, i64 0}
!70 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!71 = !{!"_ZTSN6ngraph2op17BroadcastModeSpecE", !72, i64 0, !27, i64 8}
!72 = !{!"_ZTSN6ngraph2op13BroadcastTypeE", !7, i64 0}
!73 = !{!27, !27, i64 0}
!74 = !{!75, !75, i64 0}
!75 = !{!"vtable pointer", !8, i64 0}


; 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::PartialShape" = type { i8, %"class.std::vector.77" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_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.ngraph::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::shared_ptr.88" = type { %"class.std::__shared_ptr.89" }
%"class.std::__shared_ptr.89" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.ngraph::Shape" = type { %"class.std::vector.82" }
%"class.std::vector.82" = type { %"struct.std::_Vector_base.83" }
%"struct.std::_Vector_base.83" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr.94" = type { %"class.std::__shared_ptr.95" }
%"class.std::__shared_ptr.95" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.97" = type { %"struct.std::_Vector_base.98" }
%"struct.std::_Vector_base.98" = type { %"struct.std::_Vector_base<ngraph::Input<Node>, std::allocator<ngraph::Input<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Input<Node>, std::allocator<ngraph::Input<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Input<Node>, std::allocator<ngraph::Input<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Input<Node>, std::allocator<ngraph::Input<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.102" = type { ptr }
%"class.ngraph::AxisVector" = type { %"class.std::vector.82" }

@.str.2 = external hidden unnamed_addr constant [93 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.19 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [43 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op4util13BroadcastBase27get_result_shape_numpy_pdpdERKNS_5ShapeES5_RKNS0_17BroadcastModeSpecE(ptr dead_on_unwind noalias writable sret(%"class.ngraph::PartialShape") align 8, ptr noundef nonnull align 8 dereferenceable(696), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #2 align 2

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #2 align 2

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op4util13BroadcastBase24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(696) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::element::Type", align 4
  %3 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %4 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.ngraph::Dimension", align 8
  %7 = alloca %"class.ngraph::Dimension", align 8
  %8 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %9 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.ngraph::element::Type", align 4
  %12 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %13 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.ngraph::Dimension", align 8
  %16 = alloca %"class.ngraph::Dimension", align 8
  %17 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %18 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.ngraph::PartialShape", align 8
  %21 = alloca %"class.std::shared_ptr.88", align 8
  %22 = alloca %"class.std::shared_ptr.74", align 8
  %23 = alloca %"class.ngraph::Output", align 8
  %24 = alloca %"class.ngraph::PartialShape", align 8
  %25 = alloca %"class.ngraph::Shape", align 8
  %26 = alloca %"class.std::shared_ptr.94", align 8
  %27 = alloca %"class.std::shared_ptr.74", align 8
  %28 = alloca %"class.ngraph::Output", align 8
  %29 = alloca %"class.std::vector.97", align 8
  %30 = alloca %"class.std::vector.77", align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator.102", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator.102", align 8
  %33 = alloca %"class.std::shared_ptr.74", align 8
  %34 = alloca %"class.ngraph::Output", align 8
  %35 = alloca %"class.std::shared_ptr.88", align 8
  %36 = alloca %"class.std::shared_ptr.74", align 8
  %37 = alloca %"class.ngraph::Dimension", align 8
  %38 = alloca %"class.ngraph::AxisVector", align 8
  %39 = alloca %"class.ngraph::Dimension", align 8
  %40 = alloca %"class.ngraph::PartialShape", align 8
  %41 = alloca %"class.ngraph::Shape", align 8
  %42 = alloca %"class.ngraph::Shape", align 8
  %43 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %44 = alloca i64, align 8
  %45 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::shared_ptr.74", align 8
  %48 = alloca %"class.ngraph::Output", align 8
  %49 = alloca %"class.ngraph::Shape", align 8
  %50 = alloca %"class.ngraph::AxisVector", align 8
  %51 = alloca %"class.std::shared_ptr.88", align 8
  %52 = alloca %"class.std::shared_ptr.74", align 8
  %53 = alloca %"class.ngraph::Output", align 8
  %54 = alloca %"class.ngraph::Shape", align 8
  %55 = alloca %"class.ngraph::Shape", align 8
  %56 = alloca %"class.ngraph::PartialShape", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #8
  %57 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  %58 = load i32, ptr %57, align 4, !tbaa !5
  store i32 %58, ptr %2, align 4, !tbaa !5
  %59 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %2)
          to label %60 unwind label %72

60:                                               ; preds = %1
  br i1 %59, label %84, label %61

61:                                               ; preds = %60
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %3) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3)
          to label %62 unwind label %74

62:                                               ; preds = %61
  %63 = getelementptr inbounds i8, ptr %3, i64 16
  %64 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA53_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 1 dereferenceable(53) @.str.19, ptr noundef nonnull align 4 dereferenceable(4) %2)
          to label %65 unwind label %76

65:                                               ; preds = %62
  %66 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #8
  store ptr @.str.2, ptr %4, align 8, !tbaa !9
  %67 = getelementptr inbounds i8, ptr %4, i64 8
  store i32 118, ptr %67, align 8, !tbaa !13
  %68 = getelementptr inbounds i8, ptr %4, i64 16
  store ptr @.str.20, ptr %68, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(128) %3)
          to label %69 unwind label %.thread

69:                                               ; preds = %65
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %66, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %71 unwind label %.thread150

.thread150:                                       ; preds = %69
  %70 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #8
  br label %81

71:                                               ; preds = %69
  invoke void @__cxa_throw(ptr nonnull %66, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %455 unwind label %79

72:                                               ; preds = %1
  %73 = landingpad { ptr, i32 }
          cleanup
  br label %454

74:                                               ; preds = %61
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %83

76:                                               ; preds = %62
  %77 = landingpad { ptr, i32 }
          cleanup
  br label %82

.thread:                                          ; preds = %65
  %78 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #8
  br label %81

79:                                               ; preds = %71
  %80 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #8
  br label %82

81:                                               ; preds = %.thread150, %.thread
  %.pn149 = phi { ptr, i32 } [ %78, %.thread ], [ %70, %.thread150 ]
  call void @__cxa_free_exception(ptr %66) #8
  br label %82

82:                                               ; preds = %79, %81, %76
  %.pn.pn = phi { ptr, i32 } [ %.pn149, %81 ], [ %80, %79 ], [ %77, %76 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3) #8
  br label %83

83:                                               ; preds = %82, %74
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %82 ], [ %75, %74 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %3) #8
  br label %454

84:                                               ; preds = %60
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #8
  %85 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %86 unwind label %106

86:                                               ; preds = %84
  %87 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %85)
          to label %88 unwind label %106

88:                                               ; preds = %86
  %89 = extractvalue { i64, i64 } %87, 0
  store i64 %89, ptr %6, align 8
  %90 = getelementptr inbounds i8, ptr %6, i64 8
  %91 = extractvalue { i64, i64 } %87, 1
  store i64 %91, ptr %90, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %7, i64 noundef 1)
          to label %92 unwind label %108

92:                                               ; preds = %88
  %93 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull align 8 dereferenceable(16) %7)
          to label %94 unwind label %108

94:                                               ; preds = %92
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  br i1 %93, label %120, label %95

95:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %8) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8)
          to label %96 unwind label %110

96:                                               ; preds = %95
  %97 = getelementptr inbounds i8, ptr %8, i64 16
  %98 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef nonnull align 1 dereferenceable(41) @.str.21, ptr noundef nonnull align 8 dereferenceable(16) %6)
          to label %99 unwind label %112

99:                                               ; preds = %96
  %100 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #8
  store ptr @.str.2, ptr %9, align 8, !tbaa !9
  %101 = getelementptr inbounds i8, ptr %9, i64 8
  store i32 124, ptr %101, align 8, !tbaa !13
  %102 = getelementptr inbounds i8, ptr %9, i64 16
  store ptr @.str.22, ptr %102, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(128) %8)
          to label %103 unwind label %.thread152

103:                                              ; preds = %99
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %100, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %105 unwind label %.thread156

.thread156:                                       ; preds = %103
  %104 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #8
  br label %117

105:                                              ; preds = %103
  invoke void @__cxa_throw(ptr nonnull %100, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %455 unwind label %115

106:                                              ; preds = %86, %84
  %107 = landingpad { ptr, i32 }
          cleanup
  br label %453

108:                                              ; preds = %92, %88
  %109 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  br label %453

110:                                              ; preds = %95
  %111 = landingpad { ptr, i32 }
          cleanup
  br label %119

112:                                              ; preds = %96
  %113 = landingpad { ptr, i32 }
          cleanup
  br label %118

.thread152:                                       ; preds = %99
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #8
  br label %117

115:                                              ; preds = %105
  %116 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #8
  br label %118

117:                                              ; preds = %.thread156, %.thread152
  %.pn139155 = phi { ptr, i32 } [ %114, %.thread152 ], [ %104, %.thread156 ]
  call void @__cxa_free_exception(ptr %100) #8
  br label %118

118:                                              ; preds = %115, %117, %112
  %.pn139.pn = phi { ptr, i32 } [ %.pn139155, %117 ], [ %116, %115 ], [ %113, %112 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #8
  br label %119

119:                                              ; preds = %118, %110
  %.pn139.pn.pn = phi { ptr, i32 } [ %.pn139.pn, %118 ], [ %111, %110 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %8) #8
  br label %453

120:                                              ; preds = %94
  %121 = getelementptr inbounds i8, ptr %0, i64 680
  %122 = load i32, ptr %121, align 8, !tbaa !15
  %123 = icmp eq i32 %122, 0
  br i1 %123, label %124, label %195

124:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #8
  %125 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %126 unwind label %141

126:                                              ; preds = %124
  %127 = load i32, ptr %125, align 4, !tbaa !5
  store i32 %127, ptr %11, align 4, !tbaa !5
  %128 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %129 unwind label %143

129:                                              ; preds = %126
  br i1 %128, label %155, label %130

130:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %12) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12)
          to label %131 unwind label %145

131:                                              ; preds = %130
  %132 = getelementptr inbounds i8, ptr %12, i64 16
  %133 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA51_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %132, ptr noundef nonnull align 1 dereferenceable(51) @.str.23, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %134 unwind label %147

134:                                              ; preds = %131
  %135 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #8
  store ptr @.str.2, ptr %13, align 8, !tbaa !9
  %136 = getelementptr inbounds i8, ptr %13, i64 8
  store i32 133, ptr %136, align 8, !tbaa !13
  %137 = getelementptr inbounds i8, ptr %13, i64 16
  store ptr @.str.24, ptr %137, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(128) %12)
          to label %138 unwind label %.thread158

138:                                              ; preds = %134
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %135, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %140 unwind label %.thread162

.thread162:                                       ; preds = %138
  %139 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  br label %152

140:                                              ; preds = %138
  invoke void @__cxa_throw(ptr nonnull %135, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %455 unwind label %150

141:                                              ; preds = %124
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %194

143:                                              ; preds = %126
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %193

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

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

.thread158:                                       ; preds = %134
  %149 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  br label %152

150:                                              ; preds = %140
  %151 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  br label %153

152:                                              ; preds = %.thread162, %.thread158
  %.pn85161 = phi { ptr, i32 } [ %149, %.thread158 ], [ %139, %.thread162 ]
  call void @__cxa_free_exception(ptr %135) #8
  br label %153

153:                                              ; preds = %150, %152, %147
  %.pn85.pn = phi { ptr, i32 } [ %.pn85161, %152 ], [ %151, %150 ], [ %148, %147 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12) #8
  br label %154

154:                                              ; preds = %153, %145
  %.pn85.pn.pn = phi { ptr, i32 } [ %.pn85.pn, %153 ], [ %146, %145 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %12) #8
  br label %193

155:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #8
  %156 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %157 unwind label %177

157:                                              ; preds = %155
  %158 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %156)
          to label %159 unwind label %177

159:                                              ; preds = %157
  %160 = extractvalue { i64, i64 } %158, 0
  store i64 %160, ptr %15, align 8
  %161 = getelementptr inbounds i8, ptr %15, i64 8
  %162 = extractvalue { i64, i64 } %158, 1
  store i64 %162, ptr %161, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %16, i64 noundef 1)
          to label %163 unwind label %179

163:                                              ; preds = %159
  %164 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %165 unwind label %179

165:                                              ; preds = %163
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #8
  br i1 %164, label %191, label %166

166:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %17) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17)
          to label %167 unwind label %181

167:                                              ; preds = %166
  %168 = getelementptr inbounds i8, ptr %17, i64 16
  %169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %168, ptr noundef nonnull align 1 dereferenceable(40) @.str.25, ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %170 unwind label %183

170:                                              ; preds = %167
  %171 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #8
  store ptr @.str.2, ptr %18, align 8, !tbaa !9
  %172 = getelementptr inbounds i8, ptr %18, i64 8
  store i32 139, ptr %172, align 8, !tbaa !13
  %173 = getelementptr inbounds i8, ptr %18, i64 16
  store ptr @.str.26, ptr %173, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(128) %17)
          to label %174 unwind label %.thread164

174:                                              ; preds = %170
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %171, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %176 unwind label %.thread168

.thread168:                                       ; preds = %174
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  br label %188

176:                                              ; preds = %174
  invoke void @__cxa_throw(ptr nonnull %171, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %455 unwind label %186

177:                                              ; preds = %157, %155
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %192

179:                                              ; preds = %163, %159
  %180 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #8
  br label %192

181:                                              ; preds = %166
  %182 = landingpad { ptr, i32 }
          cleanup
  br label %190

183:                                              ; preds = %167
  %184 = landingpad { ptr, i32 }
          cleanup
  br label %189

.thread164:                                       ; preds = %170
  %185 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  br label %188

186:                                              ; preds = %176
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  br label %189

188:                                              ; preds = %.thread168, %.thread164
  %.pn132167 = phi { ptr, i32 } [ %185, %.thread164 ], [ %175, %.thread168 ]
  call void @__cxa_free_exception(ptr %171) #8
  br label %189

189:                                              ; preds = %186, %188, %183
  %.pn132.pn = phi { ptr, i32 } [ %.pn132167, %188 ], [ %187, %186 ], [ %184, %183 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17) #8
  br label %190

190:                                              ; preds = %189, %181
  %.pn132.pn.pn = phi { ptr, i32 } [ %.pn132.pn, %189 ], [ %182, %181 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %17) #8
  br label %192

191:                                              ; preds = %165
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  br label %195

192:                                              ; preds = %190, %179, %177
  %.pn132.pn.pn.pn = phi { ptr, i32 } [ %.pn132.pn.pn, %190 ], [ %180, %179 ], [ %178, %177 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  br label %193

193:                                              ; preds = %192, %154, %143
  %.pn132.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn132.pn.pn.pn, %192 ], [ %.pn85.pn.pn, %154 ], [ %144, %143 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11) #8
  br label %194

194:                                              ; preds = %193, %141
  %.pn132.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn132.pn.pn.pn.pn, %193 ], [ %142, %141 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  br label %453

195:                                              ; preds = %191, %120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #8
  %196 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %197 = extractvalue { i64, i64 } %196, 0
  %198 = extractvalue { i64, i64 } %196, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %20, i64 %197, i64 %198)
          to label %199 unwind label %209

199:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %23, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %200 unwind label %211

200:                                              ; preds = %199
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %22, ptr noundef nonnull align 8 dereferenceable(24) %23)
          to label %201 unwind label %213

201:                                              ; preds = %200
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.88") align 8 %21, ptr noundef nonnull %22)
          to label %202 unwind label %215

202:                                              ; preds = %201
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #8
  %203 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  br i1 %203, label %204, label %224

204:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #8
  %205 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  invoke void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %25, ptr noundef nonnull align 8 dereferenceable(729) %205)
          to label %206 unwind label %219

206:                                              ; preds = %204
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(24) %25)
          to label %207 unwind label %221

207:                                              ; preds = %206
  %208 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  br label %315

209:                                              ; preds = %195
  %210 = landingpad { ptr, i32 }
          cleanup
  br label %452

211:                                              ; preds = %199
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %218

213:                                              ; preds = %200
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %217

215:                                              ; preds = %201
  %216 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #8
  br label %217

217:                                              ; preds = %215, %213
  %.pn89 = phi { ptr, i32 } [ %216, %215 ], [ %214, %213 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  br label %218

218:                                              ; preds = %217, %211
  %.pn89.pn = phi { ptr, i32 } [ %.pn89, %217 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #8
  br label %451

219:                                              ; preds = %204
  %220 = landingpad { ptr, i32 }
          cleanup
  br label %223

221:                                              ; preds = %206
  %222 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  br label %223

223:                                              ; preds = %221, %219
  %.pn106 = phi { ptr, i32 } [ %222, %221 ], [ %220, %219 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  br label %450

224:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %28, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %225 unwind label %255

225:                                              ; preds = %224
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %27, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %226 unwind label %257

226:                                              ; preds = %225
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v06ConcatESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %26, ptr noundef nonnull %27)
          to label %227 unwind label %259

227:                                              ; preds = %226
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  %228 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %26) #8
  br i1 %228, label %229, label %313

229:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #8
  %230 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  invoke void @_ZN6ngraph4Node6inputsEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.97") align 8 %29, ptr noundef nonnull align 8 dereferenceable(680) %230)
          to label %231 unwind label %263

231:                                              ; preds = %229
  %232 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  %233 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node24get_output_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %232, i64 noundef 0)
          to label %234 unwind label %265

234:                                              ; preds = %231
  %235 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %233)
          to label %236 unwind label %265

236:                                              ; preds = %234
  br i1 %235, label %237, label %310

237:                                              ; preds = %236
  %238 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  %239 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %238, i64 noundef 0)
          to label %240 unwind label %265

240:                                              ; preds = %237
  %241 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %239) #8
  %242 = icmp eq i64 %241, 1
  br i1 %242, label %243, label %310

243:                                              ; preds = %240
  %244 = call noundef i64 @_ZNKSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  %245 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  %246 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %245, i64 noundef 0)
          to label %247 unwind label %265

247:                                              ; preds = %243
  %248 = call noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %246)
  %249 = icmp eq i64 %244, %248
  br i1 %249, label %250, label %310

250:                                              ; preds = %247
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %30, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #8
  %251 = call ptr @_ZNSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  store ptr %251, ptr %31, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #8
  %252 = call ptr @_ZNSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  store ptr %252, ptr %32, align 8
  %253 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  br i1 %253, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %250
  %254 = getelementptr inbounds i8, ptr %39, i64 8
  br label %267

._crit_edge:                                      ; preds = %299, %250
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %305 unwind label %307

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

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

259:                                              ; preds = %226
  %260 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #8
  br label %261

261:                                              ; preds = %259, %257
  %.pn92 = phi { ptr, i32 } [ %260, %259 ], [ %258, %257 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  br label %262

262:                                              ; preds = %261, %255
  %.pn92.pn = phi { ptr, i32 } [ %.pn92, %261 ], [ %256, %255 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  br label %314

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

265:                                              ; preds = %243, %237, %234, %231
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %311

267:                                              ; preds = %.lr.ph, %299
  %268 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %33) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #8
  invoke void @_ZNK6ngraph5InputINS_4NodeEE17get_source_outputEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %34, ptr noundef nonnull align 8 dereferenceable(16) %268)
          to label %269 unwind label %280

269:                                              ; preds = %267
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %33, ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %270 unwind label %282

270:                                              ; preds = %269
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.88") align 8 %35, ptr noundef nonnull %36)
          to label %271 unwind label %285

271:                                              ; preds = %270
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #8
  %272 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %35) #8
  br i1 %272, label %273, label %292

273:                                              ; preds = %271
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #8
  %274 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %35) #8
  invoke void @_ZNK6ngraph2op2v08Constant19get_axis_vector_valEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::AxisVector") align 8 %38, ptr noundef nonnull align 8 dereferenceable(729) %274)
          to label %275 unwind label %287

275:                                              ; preds = %273
  %276 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef 0) #8
  %277 = load i64, ptr %276, align 8, !tbaa !71
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %37, i64 noundef %277)
          to label %278 unwind label %289

278:                                              ; preds = %275
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %279 unwind label %289

279:                                              ; preds = %278
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  br label %299

280:                                              ; preds = %267
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %284

282:                                              ; preds = %269
  %283 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  br label %284

284:                                              ; preds = %282, %280
  %.pn95 = phi { ptr, i32 } [ %283, %282 ], [ %281, %280 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  br label %304

285:                                              ; preds = %270
  %286 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #8
  br label %303

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

289:                                              ; preds = %278, %275
  %290 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  br label %291

291:                                              ; preds = %289, %287
  %.pn97 = phi { ptr, i32 } [ %290, %289 ], [ %288, %287 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  br label %302

292:                                              ; preds = %271
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #8
  %293 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %294 = extractvalue { i64, i64 } %293, 0
  store i64 %294, ptr %39, align 8
  %295 = extractvalue { i64, i64 } %293, 1
  store i64 %295, ptr %254, align 8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %296 unwind label %297

296:                                              ; preds = %292
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #8
  br label %299

297:                                              ; preds = %292
  %298 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #8
  br label %302

299:                                              ; preds = %296, %279
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #8
  %300 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  %301 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  br i1 %301, label %267, label %._crit_edge

302:                                              ; preds = %297, %291
  %.pn97.pn = phi { ptr, i32 } [ %.pn97, %291 ], [ %298, %297 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #8
  br label %303

303:                                              ; preds = %302, %285
  %.pn97.pn.pn = phi { ptr, i32 } [ %.pn97.pn, %302 ], [ %286, %285 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #8
  br label %304

304:                                              ; preds = %303, %284
  %.pn97.pn.pn.pn = phi { ptr, i32 } [ %.pn97.pn.pn, %303 ], [ %.pn95, %284 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #8
  br label %309

305:                                              ; preds = %._crit_edge
  %306 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  br label %310

307:                                              ; preds = %._crit_edge
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  br label %309

309:                                              ; preds = %307, %304
  %.pn97.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn97.pn.pn.pn, %304 ], [ %308, %307 ]
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  br label %311

310:                                              ; preds = %305, %247, %240, %236
  call void @_ZNSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %313

311:                                              ; preds = %309, %265
  %.pn97.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn97.pn.pn.pn.pn, %309 ], [ %266, %265 ]
  call void @_ZNSt6vectorIN6ngraph5InputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  br label %312

312:                                              ; preds = %311, %263
  %.pn97.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn97.pn.pn.pn.pn.pn, %311 ], [ %264, %263 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #8
  br label %314

313:                                              ; preds = %310, %227
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  br label %315

314:                                              ; preds = %312, %262
  %.pn97.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn97.pn.pn.pn.pn.pn.pn, %312 ], [ %.pn92.pn, %262 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  br label %450

315:                                              ; preds = %313, %207
  %316 = load i32, ptr %121, align 8, !tbaa !15
  switch i32 %316, label %446 [
    i32 0, label %317
    i32 1, label %417
    i32 2, label %417
  ]

317:                                              ; preds = %315
  %318 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %319 unwind label %354

319:                                              ; preds = %317
  %320 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %318)
          to label %321 unwind label %354

321:                                              ; preds = %319
  br i1 %320, label %322, label %446

322:                                              ; preds = %321
  %323 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %324 unwind label %354

324:                                              ; preds = %322
  %325 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %323)
          to label %326 unwind label %354

326:                                              ; preds = %324
  br i1 %325, label %327, label %446

327:                                              ; preds = %326
  %328 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %329 unwind label %354

329:                                              ; preds = %327
  %330 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %328)
          to label %331 unwind label %354

331:                                              ; preds = %329
  br i1 %330, label %332, label %446

332:                                              ; preds = %331
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) #8
  %333 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %334 unwind label %356

334:                                              ; preds = %332
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %333)
          to label %335 unwind label %356

335:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #8
  %336 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %337 unwind label %358

337:                                              ; preds = %335
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %336)
          to label %338 unwind label %358

338:                                              ; preds = %337
  %339 = call noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %42)
  %340 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  %341 = icmp eq i64 %339, %340
  br i1 %341, label %370, label %342

342:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %43) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %343 unwind label %360

343:                                              ; preds = %342
  %344 = getelementptr inbounds i8, ptr %43, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #8
  %345 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  store i64 %345, ptr %44, align 8, !tbaa !71
  %346 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA30_cJRNS_5ShapeERA37_KcmEEERSoS7_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef nonnull align 1 dereferenceable(30) @.str.27, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 1 dereferenceable(37) @.str.28, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %347 unwind label %362

347:                                              ; preds = %343
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #8
  %348 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #8
  store ptr @.str.2, ptr %45, align 8, !tbaa !9
  %349 = getelementptr inbounds i8, ptr %45, i64 8
  store i32 190, ptr %349, align 8, !tbaa !13
  %350 = getelementptr inbounds i8, ptr %45, i64 16
  store ptr @.str.29, ptr %350, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %351 unwind label %.thread170

351:                                              ; preds = %347
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %348, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %353 unwind label %.thread174

.thread174:                                       ; preds = %351
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #8
  br label %367

353:                                              ; preds = %351
  invoke void @__cxa_throw(ptr nonnull %348, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %455 unwind label %365

354:                                              ; preds = %448, %446, %424, %422, %419, %417, %329, %327, %324, %322, %319, %317
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %450

356:                                              ; preds = %334, %332
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %416

358:                                              ; preds = %337, %335
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %415

360:                                              ; preds = %342
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %369

362:                                              ; preds = %343
  %363 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #8
  br label %368

.thread170:                                       ; preds = %347
  %364 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #8
  br label %367

365:                                              ; preds = %353
  %366 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #8
  br label %368

367:                                              ; preds = %.thread174, %.thread170
  %.pn111173 = phi { ptr, i32 } [ %364, %.thread170 ], [ %352, %.thread174 ]
  call void @__cxa_free_exception(ptr %348) #8
  br label %368

368:                                              ; preds = %365, %367, %362
  %.pn111.pn = phi { ptr, i32 } [ %.pn111173, %367 ], [ %366, %365 ], [ %363, %362 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43) #8
  br label %369

369:                                              ; preds = %368, %360
  %.pn111.pn.pn = phi { ptr, i32 } [ %.pn111.pn, %368 ], [ %361, %360 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %43) #8
  br label %414

370:                                              ; preds = %338
  %371 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  br i1 %371, label %372, label %.critedge146.thread

372:                                              ; preds = %370
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %48, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %373 unwind label %389

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

374:                                              ; preds = %373
  %375 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %47) #8
  %376 = load ptr, ptr %375, align 8, !tbaa !72
  %377 = getelementptr inbounds i8, ptr %376, i64 160
  %378 = load ptr, ptr %377, align 8
  %379 = invoke noundef zeroext i1 %378(ptr noundef nonnull align 8 dereferenceable(680) %375)
          to label %.critedge146 unwind label %393

.critedge146:                                     ; preds = %374
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  br i1 %379, label %380, label %.critedge146.thread

380:                                              ; preds = %.critedge146
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #8
  %381 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  invoke void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %49, ptr noundef nonnull align 8 dereferenceable(729) %381)
          to label %382 unwind label %397

382:                                              ; preds = %380
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %50) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %51) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %53, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %383 unwind label %399

383:                                              ; preds = %382
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %52, ptr noundef nonnull align 8 dereferenceable(24) %53)
          to label %384 unwind label %401

384:                                              ; preds = %383
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.88") align 8 %51, ptr noundef nonnull %52)
          to label %385 unwind label %403

385:                                              ; preds = %384
  %386 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %51) #8
  invoke void @_ZNK6ngraph2op2v08Constant19get_axis_vector_valEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::AxisVector") align 8 %50, ptr noundef nonnull align 8 dereferenceable(729) %386)
          to label %387 unwind label %405

387:                                              ; preds = %385
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %52) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #8
  invoke void @_ZNK6ngraph2op4util13BroadcastBase26validate_target_shape_noneERKNS_5ShapeERKNS_10AxisVectorES5_(ptr noundef nonnull align 8 dereferenceable(696) %0, ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %388 unwind label %410

388:                                              ; preds = %387
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #8
  br label %.critedge146.thread

389:                                              ; preds = %372
  %390 = landingpad { ptr, i32 }
          cleanup
  br label %396

391:                                              ; preds = %373
  %392 = landingpad { ptr, i32 }
          cleanup
  br label %395

393:                                              ; preds = %374
  %394 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  br label %395

395:                                              ; preds = %391, %393
  %.pn115 = phi { ptr, i32 } [ %394, %393 ], [ %392, %391 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  br label %396

396:                                              ; preds = %389, %395
  %.pn115.pn = phi { ptr, i32 } [ %.pn115, %395 ], [ %390, %389 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  br label %414

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

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

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

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

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

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

408:                                              ; preds = %407, %401
  %.pn118.pn = phi { ptr, i32 } [ %.pn118, %407 ], [ %402, %401 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  br label %409

409:                                              ; preds = %408, %399
  %.pn118.pn.pn = phi { ptr, i32 } [ %.pn118.pn, %408 ], [ %400, %399 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #8
  br label %412

410:                                              ; preds = %387
  %411 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  br label %412

412:                                              ; preds = %410, %409
  %.pn122 = phi { ptr, i32 } [ %411, %410 ], [ %.pn118.pn.pn, %409 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #8
  br label %413

413:                                              ; preds = %412, %397
  %.pn122.pn = phi { ptr, i32 } [ %.pn122, %412 ], [ %398, %397 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #8
  br label %414

.critedge146.thread:                              ; preds = %370, %388, %.critedge146
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #8
  br label %446

414:                                              ; preds = %396, %413, %369
  %.pn122.pn.pn = phi { ptr, i32 } [ %.pn122.pn, %413 ], [ %.pn115.pn, %396 ], [ %.pn111.pn.pn, %369 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #8
  br label %415

415:                                              ; preds = %414, %358
  %.pn122.pn.pn.pn = phi { ptr, i32 } [ %.pn122.pn.pn, %414 ], [ %359, %358 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  br label %416

416:                                              ; preds = %415, %356
  %.pn122.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn122.pn.pn.pn, %415 ], [ %357, %356 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #8
  br label %450

417:                                              ; preds = %315, %315
  %418 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %419 unwind label %354

419:                                              ; preds = %417
  %420 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %418)
          to label %421 unwind label %354

421:                                              ; preds = %419
  br i1 %420, label %422, label %446

422:                                              ; preds = %421
  %423 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %424 unwind label %354

424:                                              ; preds = %422
  %425 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %423)
          to label %426 unwind label %354

426:                                              ; preds = %424
  br i1 %425, label %427, label %446

427:                                              ; preds = %426
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #8
  %428 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %429 unwind label %437

429:                                              ; preds = %427
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(24) %428)
          to label %430 unwind label %437

430:                                              ; preds = %429
  %431 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  br i1 %431, label %432, label %444

432:                                              ; preds = %430
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %55) #8
  %433 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  invoke void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %55, ptr noundef nonnull align 8 dereferenceable(729) %433)
          to label %434 unwind label %439

434:                                              ; preds = %432
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #8
  invoke void @_ZNK6ngraph2op4util13BroadcastBase27get_result_shape_numpy_pdpdERKNS_5ShapeES5_RKNS0_17BroadcastModeSpecE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %56, ptr noundef nonnull align 8 dereferenceable(696) %0, ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(16) %121)
          to label %435 unwind label %441

435:                                              ; preds = %434
  %436 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #8
  br label %444

437:                                              ; preds = %429, %427
  %438 = landingpad { ptr, i32 }
          cleanup
  br label %445

439:                                              ; preds = %432
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %443

441:                                              ; preds = %434
  %442 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #8
  br label %443

443:                                              ; preds = %441, %439
  %.pn108 = phi { ptr, i32 } [ %442, %441 ], [ %440, %439 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  br label %445

444:                                              ; preds = %435, %430
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #8
  br label %446

445:                                              ; preds = %443, %437
  %.pn108.pn = phi { ptr, i32 } [ %.pn108, %443 ], [ %438, %437 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #8
  br label %450

446:                                              ; preds = %315, %444, %426, %421, %321, %326, %331, %.critedge146.thread
  %447 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %448 unwind label %354

448:                                              ; preds = %446
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %447, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %449 unwind label %354

449:                                              ; preds = %448
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  ret void

450:                                              ; preds = %445, %416, %354, %314, %223
  %.pn128 = phi { ptr, i32 } [ %355, %354 ], [ %.pn122.pn.pn.pn.pn, %416 ], [ %.pn108.pn, %445 ], [ %.pn106, %223 ], [ %.pn97.pn.pn.pn.pn.pn.pn.pn, %314 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  br label %451

451:                                              ; preds = %450, %218
  %.pn128.pn = phi { ptr, i32 } [ %.pn128, %450 ], [ %.pn89.pn, %218 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  br label %452

452:                                              ; preds = %451, %209
  %.pn128.pn.pn = phi { ptr, i32 } [ %.pn128.pn, %451 ], [ %210, %209 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  br label %453

453:                                              ; preds = %452, %194, %119, %108, %106
  %.pn139.pn.pn.pn = phi { ptr, i32 } [ %.pn139.pn.pn, %119 ], [ %.pn132.pn.pn.pn.pn.pn, %194 ], [ %.pn128.pn.pn, %452 ], [ %109, %108 ], [ %107, %106 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8
  br label %454

454:                                              ; preds = %453, %83, %72
  %.pn139.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn139.pn.pn.pn, %453 ], [ %.pn.pn.pn, %83 ], [ %73, %72 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  resume { ptr, i32 } %.pn139.pn.pn.pn.pn

455:                                              ; preds = %353, %176, %140, %105, %71
  unreachable
}

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

declare noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA53_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(53), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #5

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 { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

declare noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(41), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA51_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(51), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5

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

declare void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8, i64, i64) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv() local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.88") align 8, ptr noundef) local_unnamed_addr #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

declare void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(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 @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph11as_type_ptrINS_2op2v06ConcatESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.94") align 8, ptr noundef) local_unnamed_addr #2

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

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

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

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

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

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

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

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPN6ngraph5InputINS1_4NodeEEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA30_cJRNS_5ShapeERA37_KcmEEERSoS7_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(30), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(37), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

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


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