; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/split.ll (ZN6ngraph2op2v05Split28pre_validate_and_infer_typesEv)

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

%"class.ngraph::Shape" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = 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::__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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::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.std::shared_ptr.79" = type { %"class.std::__shared_ptr.80" }
%"class.std::__shared_ptr.80" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.79", i64 }
%"class.std::shared_ptr.83" = type { %"class.std::__shared_ptr.84" }
%"class.std::__shared_ptr.84" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.86" = type { %"struct.std::_Vector_base.87" }
%"struct.std::_Vector_base.87" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.94" }
%"class.std::vector.94" = type { %"struct.std::_Vector_base.95" }
%"struct.std::_Vector_base.95" = 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.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%class.anon = type { i8 }
%"class.ngraph::op::v0::Split" = type { %"class.ngraph::op::util::FusedOp", i8, i64, i64, %"class.std::vector.69" }
%"class.ngraph::op::util::FusedOp" = type { %"class.ngraph::op::Op" }
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.5", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.13", %"class.std::set", %"class.std::deque", %"class.std::deque.39", %"class.std::unordered_map", i32, %"class.std::shared_ptr", %"class.std::map" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::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" }

@.str = external hidden unnamed_addr constant [37 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [22 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.3 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [28 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: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v05Split28pre_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(728) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.ngraph::Shape", align 8
  %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.std::shared_ptr.79", align 8
  %11 = alloca %"class.ngraph::Output", 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.std::shared_ptr.83", align 8
  %17 = alloca %"class.std::shared_ptr.79", align 8
  %18 = alloca %"class.std::vector.86", align 8
  %19 = alloca i64, align 8
  %20 = alloca i64, align 8
  %21 = alloca %"class.ngraph::PartialShape", align 8
  %22 = alloca %"class.ngraph::Dimension", align 8
  %23 = alloca i32, align 4
  %24 = alloca %"class.ngraph::Shape", align 8
  %25 = alloca %"class.ngraph::Dimension", align 8
  %26 = alloca i64, align 8
  %27 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %28 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca i1, align 1
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %34 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %35 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %36 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca i1, align 1
  %39 = alloca i8, align 1
  %40 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %42 = alloca %class.anon, align 1
  %43 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %44 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca i1, align 1
  store ptr %0, ptr %2, align 8, !tbaa !5
  %47 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %3) #7
  %48 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 1)
  call void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %48)
  br label %49

49:                                               ; preds = %1
  %50 = invoke noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %51 unwind label %63

51:                                               ; preds = %49
  br i1 %50, label %89, label %52

52:                                               ; preds = %51
  call void @llvm.lifetime.start.p0(i64 392, ptr %6) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6)
          to label %53 unwind label %67

53:                                               ; preds = %52
  %54 = getelementptr inbounds i8, ptr %6, i64 16
  %55 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 1 dereferenceable(37) @.str)
          to label %56 unwind label %71

56:                                               ; preds = %53
  store i1 true, ptr %9, align 1
  %57 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %7) #7
  %58 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 0
  store ptr @.str.1, ptr %58, align 8, !tbaa !9
  %59 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 1
  store i32 51, ptr %59, align 8, !tbaa !12
  %60 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 2
  store ptr @.str.2, ptr %60, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #7
  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 %61 unwind label %75

61:                                               ; preds = %56
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %57, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %62 unwind label %79

62:                                               ; preds = %61
  store i1 false, ptr %9, align 1
  invoke void @__cxa_throw(ptr %57, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #8
          to label %456 unwind label %79

63:                                               ; preds = %49
  %64 = landingpad { ptr, i32 }
          cleanup
  %65 = extractvalue { ptr, i32 } %64, 0
  store ptr %65, ptr %4, align 8
  %66 = extractvalue { ptr, i32 } %64, 1
  store i32 %66, ptr %5, align 4
  br label %450

67:                                               ; preds = %52
  %68 = landingpad { ptr, i32 }
          cleanup
  %69 = extractvalue { ptr, i32 } %68, 0
  store ptr %69, ptr %4, align 8
  %70 = extractvalue { ptr, i32 } %68, 1
  store i32 %70, ptr %5, align 4
  br label %88

71:                                               ; preds = %53
  %72 = landingpad { ptr, i32 }
          cleanup
  %73 = extractvalue { ptr, i32 } %72, 0
  store ptr %73, ptr %4, align 8
  %74 = extractvalue { ptr, i32 } %72, 1
  store i32 %74, ptr %5, align 4
  br label %87

75:                                               ; preds = %56
  %76 = landingpad { ptr, i32 }
          cleanup
  %77 = extractvalue { ptr, i32 } %76, 0
  store ptr %77, ptr %4, align 8
  %78 = extractvalue { ptr, i32 } %76, 1
  store i32 %78, ptr %5, align 4
  br label %83

79:                                               ; preds = %62, %61
  %80 = landingpad { ptr, i32 }
          cleanup
  %81 = extractvalue { ptr, i32 } %80, 0
  store ptr %81, ptr %4, align 8
  %82 = extractvalue { ptr, i32 } %80, 1
  store i32 %82, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %83

83:                                               ; preds = %79, %75
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #7
  %84 = load i1, ptr %9, align 1
  br i1 %84, label %85, label %86

85:                                               ; preds = %83
  call void @__cxa_free_exception(ptr %57) #7
  br label %86

86:                                               ; preds = %85, %83
  br label %87

87:                                               ; preds = %86, %71
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6) #7
  br label %88

88:                                               ; preds = %87, %67
  call void @llvm.lifetime.end.p0(i64 392, ptr %6) #7
  br label %450

89:                                               ; preds = %51
  br label %90

90:                                               ; preds = %89
  br label %91

91:                                               ; preds = %90
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %11, ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 1)
          to label %92 unwind label %112

92:                                               ; preds = %91
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.79") align 8 %10, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %93 unwind label %116

93:                                               ; preds = %92
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  br label %94

94:                                               ; preds = %93
  %95 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  %96 = load ptr, ptr %95, align 8, !tbaa !14
  %97 = getelementptr inbounds ptr, ptr %96, i64 20
  %98 = load ptr, ptr %97, align 8
  %99 = invoke noundef zeroext i1 %98(ptr noundef nonnull align 8 dereferenceable(680) %95)
          to label %100 unwind label %121

100:                                              ; preds = %94
  br i1 %99, label %147, label %101

101:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 392, ptr %12) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12)
          to label %102 unwind label %125

102:                                              ; preds = %101
  %103 = getelementptr inbounds i8, ptr %12, i64 16
  %104 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull align 1 dereferenceable(39) @.str.3)
          to label %105 unwind label %129

105:                                              ; preds = %102
  store i1 true, ptr %15, align 1
  %106 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #7
  %107 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 0
  store ptr @.str.1, ptr %107, align 8, !tbaa !9
  %108 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 1
  store i32 54, ptr %108, align 8, !tbaa !12
  %109 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 2
  store ptr @.str.4, ptr %109, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #7
  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 %110 unwind label %133

110:                                              ; preds = %105
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %106, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %111 unwind label %137

111:                                              ; preds = %110
  store i1 false, ptr %15, align 1
  invoke void @__cxa_throw(ptr %106, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #8
          to label %456 unwind label %137

112:                                              ; preds = %91
  %113 = landingpad { ptr, i32 }
          cleanup
  %114 = extractvalue { ptr, i32 } %113, 0
  store ptr %114, ptr %4, align 8
  %115 = extractvalue { ptr, i32 } %113, 1
  store i32 %115, ptr %5, align 4
  br label %120

116:                                              ; preds = %92
  %117 = landingpad { ptr, i32 }
          cleanup
  %118 = extractvalue { ptr, i32 } %117, 0
  store ptr %118, ptr %4, align 8
  %119 = extractvalue { ptr, i32 } %117, 1
  store i32 %119, ptr %5, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  br label %120

120:                                              ; preds = %116, %112
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  br label %449

121:                                              ; preds = %94
  %122 = landingpad { ptr, i32 }
          cleanup
  %123 = extractvalue { ptr, i32 } %122, 0
  store ptr %123, ptr %4, align 8
  %124 = extractvalue { ptr, i32 } %122, 1
  store i32 %124, ptr %5, align 4
  br label %448

125:                                              ; preds = %101
  %126 = landingpad { ptr, i32 }
          cleanup
  %127 = extractvalue { ptr, i32 } %126, 0
  store ptr %127, ptr %4, align 8
  %128 = extractvalue { ptr, i32 } %126, 1
  store i32 %128, ptr %5, align 4
  br label %146

129:                                              ; preds = %102
  %130 = landingpad { ptr, i32 }
          cleanup
  %131 = extractvalue { ptr, i32 } %130, 0
  store ptr %131, ptr %4, align 8
  %132 = extractvalue { ptr, i32 } %130, 1
  store i32 %132, ptr %5, align 4
  br label %145

133:                                              ; preds = %105
  %134 = landingpad { ptr, i32 }
          cleanup
  %135 = extractvalue { ptr, i32 } %134, 0
  store ptr %135, ptr %4, align 8
  %136 = extractvalue { ptr, i32 } %134, 1
  store i32 %136, ptr %5, align 4
  br label %141

137:                                              ; preds = %111, %110
  %138 = landingpad { ptr, i32 }
          cleanup
  %139 = extractvalue { ptr, i32 } %138, 0
  store ptr %139, ptr %4, align 8
  %140 = extractvalue { ptr, i32 } %138, 1
  store i32 %140, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %141

141:                                              ; preds = %137, %133
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  %142 = load i1, ptr %15, align 1
  br i1 %142, label %143, label %144

143:                                              ; preds = %141
  call void @__cxa_free_exception(ptr %106) #7
  br label %144

144:                                              ; preds = %143, %141
  br label %145

145:                                              ; preds = %144, %129
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12) #7
  br label %146

146:                                              ; preds = %145, %125
  call void @llvm.lifetime.end.p0(i64 392, ptr %12) #7
  br label %448

147:                                              ; preds = %100
  br label %148

148:                                              ; preds = %147
  br label %149

149:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #7
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef nonnull align 8 dereferenceable(16) %10) #7
  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.83") align 8 %16, ptr noundef %17)
          to label %150 unwind label %166

150:                                              ; preds = %149
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #7
  %151 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  invoke void @_ZNK6ngraph2op2v08Constant11cast_vectorIlEESt6vectorIT_SaIS5_EEv(ptr dead_on_unwind writable sret(%"class.std::vector.86") align 8 %18, ptr noundef nonnull align 8 dereferenceable(729) %151)
          to label %152 unwind label %170

152:                                              ; preds = %150
  %153 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef 0) #7
  %154 = load i64, ptr %153, align 8, !tbaa !16
  %155 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 2
  store i64 %154, ptr %155, align 8, !tbaa !18
  call void @_ZNSt6vectorIlSaIlEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  store i64 0, ptr %19, align 8, !tbaa !16
  br label %156

156:                                              ; preds = %195, %152
  %157 = load i64, ptr %19, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #7
  %158 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 4
  %159 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %158) #7
  store i64 %159, ptr %20, align 8, !tbaa !16
  %160 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 3
  %161 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %162 unwind label %174

162:                                              ; preds = %156
  %163 = load i64, ptr %161, align 8, !tbaa !16
  %164 = icmp ult i64 %157, %163
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  br i1 %164, label %178, label %165

165:                                              ; preds = %162
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %212

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

170:                                              ; preds = %150
  %171 = landingpad { ptr, i32 }
          cleanup
  %172 = extractvalue { ptr, i32 } %171, 0
  store ptr %172, ptr %4, align 8
  %173 = extractvalue { ptr, i32 } %171, 1
  store i32 %173, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #7
  br label %446

174:                                              ; preds = %156
  %175 = landingpad { ptr, i32 }
          cleanup
  %176 = extractvalue { ptr, i32 } %175, 0
  store ptr %176, ptr %4, align 8
  %177 = extractvalue { ptr, i32 } %175, 1
  store i32 %177, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  br label %211

178:                                              ; preds = %162
  %179 = load i64, ptr %19, align 8, !tbaa !16
  %180 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 0)
          to label %181 unwind label %198

181:                                              ; preds = %178
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #7
  %182 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %183 unwind label %202

183:                                              ; preds = %181
  %184 = getelementptr inbounds %"class.ngraph::Dimension", ptr %22, i32 0, i32 0
  %185 = getelementptr inbounds { i64, i64 }, ptr %184, i32 0, i32 0
  %186 = extractvalue { i64, i64 } %182, 0
  store i64 %186, ptr %185, align 8
  %187 = getelementptr inbounds { i64, i64 }, ptr %184, i32 0, i32 1
  %188 = extractvalue { i64, i64 } %182, 1
  store i64 %188, ptr %187, align 8
  %189 = getelementptr inbounds { i64, i64 }, ptr %22, i32 0, i32 0
  %190 = load i64, ptr %189, align 8
  %191 = getelementptr inbounds { i64, i64 }, ptr %22, i32 0, i32 1
  %192 = load i64, ptr %191, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %21, i64 %190, i64 %192)
          to label %193 unwind label %202

193:                                              ; preds = %183
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef %179, ptr noundef nonnull align 4 dereferenceable(4) %180, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %194 unwind label %206

194:                                              ; preds = %193
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #7
  br label %195

195:                                              ; preds = %194
  %196 = load i64, ptr %19, align 8, !tbaa !16
  %197 = add i64 %196, 1
  store i64 %197, ptr %19, align 8, !tbaa !16
  br label %156, !llvm.loop !77

198:                                              ; preds = %178
  %199 = landingpad { ptr, i32 }
          cleanup
  %200 = extractvalue { ptr, i32 } %199, 0
  store ptr %200, ptr %4, align 8
  %201 = extractvalue { ptr, i32 } %199, 1
  store i32 %201, ptr %5, align 4
  br label %211

202:                                              ; preds = %183, %181
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %4, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %5, align 4
  br label %210

206:                                              ; preds = %193
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %4, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %210

210:                                              ; preds = %206, %202
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #7
  br label %211

211:                                              ; preds = %210, %198, %174
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %446

212:                                              ; preds = %165
  %213 = load ptr, ptr %47, align 8, !tbaa !14
  %214 = getelementptr inbounds ptr, ptr %213, i64 25
  %215 = load ptr, ptr %214, align 8
  %216 = invoke noundef zeroext i1 %215(ptr noundef nonnull align 8 dereferenceable(680) %47)
          to label %217 unwind label %219

217:                                              ; preds = %212
  br i1 %216, label %218, label %223

218:                                              ; preds = %217
  store i32 1, ptr %23, align 4
  br label %440

219:                                              ; preds = %212
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %4, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %5, align 4
  br label %446

223:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #7
  %224 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 0)
          to label %225 unwind label %268

225:                                              ; preds = %223
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %224)
          to label %226 unwind label %268

226:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %227 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 0)
          to label %228 unwind label %272

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

230:                                              ; preds = %228
  %231 = getelementptr inbounds %"class.ngraph::Dimension", ptr %25, i32 0, i32 0
  %232 = getelementptr inbounds { i64, i64 }, ptr %231, i32 0, i32 0
  %233 = extractvalue { i64, i64 } %229, 0
  store i64 %233, ptr %232, align 8
  %234 = getelementptr inbounds { i64, i64 }, ptr %231, i32 0, i32 1
  %235 = extractvalue { i64, i64 } %229, 1
  store i64 %235, ptr %234, align 8
  %236 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 2
  %237 = load i64, ptr %236, align 8, !tbaa !18
  %238 = invoke noundef i64 @_ZN6ngraph14normalize_axisEPKNS_4NodeElRKNS_9DimensionE(ptr noundef %47, i64 noundef %237, ptr noundef nonnull align 8 dereferenceable(16) %25)
          to label %239 unwind label %272

239:                                              ; preds = %230
  %240 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 2
  store i64 %238, ptr %240, align 8, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #7
  %241 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 2
  %242 = load i64, ptr %241, align 8, !tbaa !18
  %243 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %242)
          to label %244 unwind label %276

244:                                              ; preds = %239
  %245 = load i64, ptr %243, align 8, !tbaa !16
  store i64 %245, ptr %26, align 8, !tbaa !16
  %246 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 1
  %247 = load i8, ptr %246, align 8, !tbaa !79, !range !80, !noundef !81
  %248 = trunc i8 %247 to i1
  br i1 %248, label %249, label %317

249:                                              ; preds = %244
  br label %250

250:                                              ; preds = %249
  %251 = load i64, ptr %26, align 8, !tbaa !16
  %252 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 3
  %253 = load i64, ptr %252, align 8, !tbaa !82
  %254 = urem i64 %251, %253
  %255 = icmp eq i64 %254, 0
  br i1 %255, label %302, label %256

256:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 392, ptr %27) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %27)
          to label %257 unwind label %280

257:                                              ; preds = %256
  %258 = getelementptr inbounds i8, ptr %27, i64 16
  %259 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 3
  %260 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJRKmRA59_KcRmEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %258, ptr noundef nonnull align 1 dereferenceable(63) @.str.5, ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 1 dereferenceable(59) @.str.6, ptr noundef nonnull align 8 dereferenceable(8) %259)
          to label %261 unwind label %284

261:                                              ; preds = %257
  store i1 true, ptr %30, align 1
  %262 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #7
  %263 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 0
  store ptr @.str.1, ptr %263, align 8, !tbaa !9
  %264 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 1
  store i32 81, ptr %264, align 8, !tbaa !12
  %265 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 2
  store ptr @.str.7, ptr %265, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(128) %27)
          to label %266 unwind label %288

266:                                              ; preds = %261
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %262, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %267 unwind label %292

267:                                              ; preds = %266
  store i1 false, ptr %30, align 1
  invoke void @__cxa_throw(ptr %262, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #8
          to label %456 unwind label %292

268:                                              ; preds = %225, %223
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %4, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %5, align 4
  br label %445

272:                                              ; preds = %230, %228, %226
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %4, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %5, align 4
  br label %444

276:                                              ; preds = %438, %239
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %4, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %5, align 4
  br label %443

280:                                              ; preds = %256
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %4, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %5, align 4
  br label %301

284:                                              ; preds = %257
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %4, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %5, align 4
  br label %300

288:                                              ; preds = %261
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %4, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %5, align 4
  br label %296

292:                                              ; preds = %267, %266
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %4, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %296

296:                                              ; preds = %292, %288
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #7
  %297 = load i1, ptr %30, align 1
  br i1 %297, label %298, label %299

298:                                              ; preds = %296
  call void @__cxa_free_exception(ptr %262) #7
  br label %299

299:                                              ; preds = %298, %296
  br label %300

300:                                              ; preds = %299, %284
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %27) #7
  br label %301

301:                                              ; preds = %300, %280
  call void @llvm.lifetime.end.p0(i64 392, ptr %27) #7
  br label %443

302:                                              ; preds = %250
  br label %303

303:                                              ; preds = %302
  br label %304

304:                                              ; preds = %303
  %305 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 4
  %306 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 3
  %307 = load i64, ptr %306, align 8, !tbaa !82
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  %308 = load i64, ptr %26, align 8, !tbaa !16
  %309 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 3
  %310 = load i64, ptr %309, align 8, !tbaa !82
  %311 = udiv i64 %308, %310
  store i64 %311, ptr %31, align 8, !tbaa !16
  invoke void @_ZNSt6vectorImSaImEE6assignEmRKm(ptr noundef nonnull align 8 dereferenceable(24) %305, i64 noundef %307, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %312 unwind label %313

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

313:                                              ; preds = %304
  %314 = landingpad { ptr, i32 }
          cleanup
  %315 = extractvalue { ptr, i32 } %314, 0
  store ptr %315, ptr %4, align 8
  %316 = extractvalue { ptr, i32 } %314, 1
  store i32 %316, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  br label %443

317:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  %318 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 4
  %319 = invoke ptr @_ZSt5beginISt6vectorImSaImEEEDTcldtfp_5beginEERT_(ptr noundef nonnull align 8 dereferenceable(24) %318)
          to label %320 unwind label %347

320:                                              ; preds = %317
  %321 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %33, i32 0, i32 0
  store ptr %319, ptr %321, align 8
  %322 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 4
  %323 = invoke ptr @_ZSt3endISt6vectorImSaImEEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %322)
          to label %324 unwind label %347

324:                                              ; preds = %320
  %325 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %34, i32 0, i32 0
  store ptr %323, ptr %325, align 8
  %326 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %33, i32 0, i32 0
  %327 = load ptr, ptr %326, align 8
  %328 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %34, i32 0, i32 0
  %329 = load ptr, ptr %328, align 8
  %330 = invoke noundef i64 @_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEmET0_T_S8_S7_(ptr %327, ptr %329, i64 noundef 0)
          to label %331 unwind label %347

331:                                              ; preds = %324
  store i64 %330, ptr %32, align 8, !tbaa !16
  br label %332

332:                                              ; preds = %331
  %333 = load i64, ptr %32, align 8, !tbaa !16
  %334 = load i64, ptr %26, align 8, !tbaa !16
  %335 = icmp eq i64 %333, %334
  br i1 %335, label %373, label %336

336:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 392, ptr %35) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %35)
          to label %337 unwind label %351

337:                                              ; preds = %336
  %338 = getelementptr inbounds i8, ptr %35, i64 16
  %339 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJRKmRA57_KcS3_EEERSoS7_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %338, ptr noundef nonnull align 1 dereferenceable(63) @.str.5, ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 1 dereferenceable(57) @.str.8, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %340 unwind label %355

340:                                              ; preds = %337
  store i1 true, ptr %38, align 1
  %341 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #7
  %342 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %36, i32 0, i32 0
  store ptr @.str.1, ptr %342, align 8, !tbaa !9
  %343 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %36, i32 0, i32 1
  store i32 93, ptr %343, align 8, !tbaa !12
  %344 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %36, i32 0, i32 2
  store ptr @.str.9, ptr %344, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(128) %35)
          to label %345 unwind label %359

345:                                              ; preds = %340
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %341, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %346 unwind label %363

346:                                              ; preds = %345
  store i1 false, ptr %38, align 1
  invoke void @__cxa_throw(ptr %341, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #8
          to label %456 unwind label %363

347:                                              ; preds = %324, %320, %317
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %4, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %5, align 4
  br label %437

351:                                              ; preds = %336
  %352 = landingpad { ptr, i32 }
          cleanup
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %4, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %5, align 4
  br label %372

355:                                              ; preds = %337
  %356 = landingpad { ptr, i32 }
          cleanup
  %357 = extractvalue { ptr, i32 } %356, 0
  store ptr %357, ptr %4, align 8
  %358 = extractvalue { ptr, i32 } %356, 1
  store i32 %358, ptr %5, align 4
  br label %371

359:                                              ; preds = %340
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %4, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %5, align 4
  br label %367

363:                                              ; preds = %346, %345
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %4, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %367

367:                                              ; preds = %363, %359
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #7
  %368 = load i1, ptr %38, align 1
  br i1 %368, label %369, label %370

369:                                              ; preds = %367
  call void @__cxa_free_exception(ptr %341) #7
  br label %370

370:                                              ; preds = %369, %367
  br label %371

371:                                              ; preds = %370, %355
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %35) #7
  br label %372

372:                                              ; preds = %371, %351
  call void @llvm.lifetime.end.p0(i64 392, ptr %35) #7
  br label %437

373:                                              ; preds = %332
  br label %374

374:                                              ; preds = %373
  br label %375

375:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #7
  %376 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 4
  %377 = invoke ptr @_ZSt5beginISt6vectorImSaImEEEDTcldtfp_5beginEERT_(ptr noundef nonnull align 8 dereferenceable(24) %376)
          to label %378 unwind label %407

378:                                              ; preds = %375
  %379 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %40, i32 0, i32 0
  store ptr %377, ptr %379, align 8
  %380 = getelementptr inbounds %"class.ngraph::op::v0::Split", ptr %47, i32 0, i32 4
  %381 = invoke ptr @_ZSt3endISt6vectorImSaImEEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %380)
          to label %382 unwind label %407

382:                                              ; preds = %378
  %383 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %41, i32 0, i32 0
  store ptr %381, ptr %383, align 8
  %384 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %40, i32 0, i32 0
  %385 = load ptr, ptr %384, align 8
  %386 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %41, i32 0, i32 0
  %387 = load ptr, ptr %386, align 8
  %388 = invoke noundef zeroext i1 @"_ZSt6all_ofIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEZN6ngraph2op2v05Split28pre_validate_and_infer_typesEvE3$_0EbT_SC_T0_"(ptr %385, ptr %387)
          to label %389 unwind label %407

389:                                              ; preds = %382
  %390 = zext i1 %388 to i8
  store i8 %390, ptr %39, align 1, !tbaa !83
  br label %391

391:                                              ; preds = %389
  %392 = load i8, ptr %39, align 1, !tbaa !83, !range !80, !noundef !81
  %393 = trunc i8 %392 to i1
  %394 = zext i1 %393 to i32
  %395 = icmp eq i32 %394, 1
  br i1 %395, label %433, label %396

396:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 392, ptr %43) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %397 unwind label %411

397:                                              ; preds = %396
  %398 = getelementptr inbounds i8, ptr %43, i64 16
  %399 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %398, ptr noundef nonnull align 1 dereferenceable(63) @.str.10)
          to label %400 unwind label %415

400:                                              ; preds = %397
  store i1 true, ptr %46, align 1
  %401 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %44) #7
  %402 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %44, i32 0, i32 0
  store ptr @.str.1, ptr %402, align 8, !tbaa !9
  %403 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %44, i32 0, i32 1
  store i32 100, ptr %403, align 8, !tbaa !12
  %404 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %44, i32 0, i32 2
  store ptr @.str.11, ptr %404, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %405 unwind label %419

405:                                              ; preds = %400
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %401, ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %406 unwind label %423

406:                                              ; preds = %405
  store i1 false, ptr %46, align 1
  invoke void @__cxa_throw(ptr %401, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #8
          to label %456 unwind label %423

407:                                              ; preds = %382, %378, %375
  %408 = landingpad { ptr, i32 }
          cleanup
  %409 = extractvalue { ptr, i32 } %408, 0
  store ptr %409, ptr %4, align 8
  %410 = extractvalue { ptr, i32 } %408, 1
  store i32 %410, ptr %5, align 4
  br label %436

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

415:                                              ; preds = %397
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %4, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %5, align 4
  br label %431

419:                                              ; preds = %400
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %4, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %5, align 4
  br label %427

423:                                              ; preds = %406, %405
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %4, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %427

427:                                              ; preds = %423, %419
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #7
  %428 = load i1, ptr %46, align 1
  br i1 %428, label %429, label %430

429:                                              ; preds = %427
  call void @__cxa_free_exception(ptr %401) #7
  br label %430

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

431:                                              ; preds = %430, %415
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43) #7
  br label %432

432:                                              ; preds = %431, %411
  call void @llvm.lifetime.end.p0(i64 392, ptr %43) #7
  br label %436

433:                                              ; preds = %391
  br label %434

434:                                              ; preds = %433
  br label %435

435:                                              ; preds = %434
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %438

436:                                              ; preds = %432, %407
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #7
  br label %437

437:                                              ; preds = %436, %372, %347
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %443

438:                                              ; preds = %435, %312
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 0, i1 noundef zeroext true)
          to label %439 unwind label %276

439:                                              ; preds = %438
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #7
  store i32 0, ptr %23, align 4
  br label %440

440:                                              ; preds = %439, %218
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %3) #7
  %441 = load i32, ptr %23, align 4
  switch i32 %441, label %456 [
    i32 0, label %442
    i32 1, label %442
  ]

442:                                              ; preds = %440, %440
  ret void

443:                                              ; preds = %437, %313, %301, %276
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  br label %444

444:                                              ; preds = %443, %272
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  br label %445

445:                                              ; preds = %444, %268
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #7
  br label %446

446:                                              ; preds = %445, %219, %211, %170
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  br label %447

447:                                              ; preds = %446, %166
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  br label %448

448:                                              ; preds = %447, %146, %121
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #7
  br label %449

449:                                              ; preds = %448, %120
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #7
  br label %450

450:                                              ; preds = %449, %88, %63
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %3) #7
  br label %451

451:                                              ; preds = %450
  %452 = load ptr, ptr %4, align 8
  %453 = load i32, ptr %5, align 4
  %454 = insertvalue { ptr, i32 } poison, ptr %452, 0
  %455 = insertvalue { ptr, i32 } %454, i32 %453, 1
  resume { ptr, i32 } %455

456:                                              ; preds = %440, %406, %346, %267, %111, %62
  unreachable
}

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #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 nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24)) #1

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

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

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

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

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

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

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

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

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

; 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.83") align 8, ptr noundef) #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op2v08Constant11cast_vectorIlEESt6vectorIT_SaIS5_EEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.86") align 8, ptr noundef nonnull align 8 dereferenceable(729)) #2 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #6 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)) #3

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

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

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

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

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

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

declare noundef i64 @_ZN6ngraph14normalize_axisEPKNS_4NodeElRKNS_9DimensionE(ptr noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(16)) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJRKmRA59_KcRmEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(63), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(59), ptr noundef nonnull align 8 dereferenceable(8)) #4

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEmET0_T_S8_S7_(ptr, ptr, i64 noundef) #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJRKmRA57_KcS3_EEERSoS7_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(63), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(57), ptr noundef nonnull align 8 dereferenceable(8)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZSt6all_ofIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEZN6ngraph2op2v05Split28pre_validate_and_infer_typesEvE3$_0EbT_SC_T0_"(ptr, ptr) #4

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

declare void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef, i1 noundef zeroext) #3

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 0}
!10 = !{!"_ZTSN6ngraph12CheckLocInfoE", !6, i64 0, !11, i64 8, !6, i64 16}
!11 = !{!"int", !7, i64 0}
!12 = !{!10, !11, i64 8}
!13 = !{!10, !6, i64 16}
!14 = !{!15, !15, i64 0}
!15 = !{!"vtable pointer", !8, i64 0}
!16 = !{!17, !17, i64 0}
!17 = !{!"long", !7, i64 0}
!18 = !{!19, !17, i64 688}
!19 = !{!"_ZTSN6ngraph2op2v05SplitE", !20, i64 0, !72, i64 680, !17, i64 688, !17, i64 696, !73, i64 704}
!20 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !21, i64 0}
!21 = !{!"_ZTSN6ngraph2op2OpE", !22, i64 0}
!22 = !{!"_ZTSN6ngraph4NodeE", !23, i64 8, !27, i64 24, !27, i64 80, !32, i64 136, !36, i64 160, !40, i64 184, !17, i64 216, !40, i64 224, !40, i64 256, !42, i64 288, !44, i64 344, !52, i64 392, !57, i64 472, !62, i64 552, !11, i64 608, !64, i64 616, !67, i64 632}
!23 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !24, i64 0}
!24 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !25, i64 0}
!25 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !26, i64 8}
!26 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!27 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !28, i64 0}
!28 = !{!"_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, !17, i64 8, !29, i64 16, !17, i64 24, !30, i64 32, !6, i64 48}
!29 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!30 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !31, i64 0, !17, i64 8}
!31 = !{!"float", !7, i64 0}
!32 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!36 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!40 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !41, i64 0, !17, i64 8, !7, i64 16}
!41 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!42 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !43, i64 0}
!43 = !{!"_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, !17, i64 8, !29, i64 16, !17, i64 24, !30, i64 32, !6, i64 48}
!44 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !45, i64 0}
!45 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !46, i64 0}
!46 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !47, i64 0, !49, i64 8}
!47 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !48, i64 0}
!48 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!49 = !{!"_ZTSSt15_Rb_tree_header", !50, i64 0, !17, i64 32}
!50 = !{!"_ZTSSt18_Rb_tree_node_base", !51, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!51 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!52 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !54, i64 0}
!54 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !55, i64 0}
!55 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !17, i64 8, !56, i64 16, !56, i64 48}
!56 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!57 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !58, i64 0}
!58 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !59, i64 0}
!59 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !60, i64 0}
!60 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !17, i64 8, !61, i64 16, !61, i64 48}
!61 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!62 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !63, i64 0}
!63 = !{!"_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, !17, i64 8, !29, i64 16, !17, i64 24, !30, i64 32, !6, i64 48}
!64 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !65, i64 0}
!65 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !66, i64 8}
!66 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!67 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !68, i64 0}
!68 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !69, i64 0}
!69 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !70, i64 0, !49, i64 8}
!70 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !71, i64 0}
!71 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!72 = !{!"bool", !7, i64 0}
!73 = !{!"_ZTSSt6vectorImSaImEE", !74, i64 0}
!74 = !{!"_ZTSSt12_Vector_baseImSaImEE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!77 = distinct !{!77, !78}
!78 = !{!"llvm.loop.mustprogress"}
!79 = !{!19, !72, i64 680}
!80 = !{i8 0, i8 2}
!81 = !{}
!82 = !{!19, !17, i64 696}
!83 = !{!72, !72, 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::Shape" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = 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::__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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::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.std::shared_ptr.79" = type { %"class.std::__shared_ptr.80" }
%"class.std::__shared_ptr.80" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.79", i64 }
%"class.std::shared_ptr.83" = type { %"class.std::__shared_ptr.84" }
%"class.std::__shared_ptr.84" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.86" = type { %"struct.std::_Vector_base.87" }
%"struct.std::_Vector_base.87" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.94" }
%"class.std::vector.94" = type { %"struct.std::_Vector_base.95" }
%"struct.std::_Vector_base.95" = 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.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }

@.str = external hidden unnamed_addr constant [37 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [22 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.3 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [28 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
define dso_local void @_ZN6ngraph2op2v05Split28pre_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(728) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::Shape", align 8
  %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.std::shared_ptr.79", align 8
  %7 = alloca %"class.ngraph::Output", 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.std::shared_ptr.83", align 8
  %12 = alloca %"class.std::shared_ptr.79", align 8
  %13 = alloca %"class.std::vector.86", align 8
  %14 = alloca i64, align 8
  %15 = alloca %"class.ngraph::PartialShape", align 8
  %16 = alloca %"class.ngraph::Shape", align 8
  %17 = alloca %"class.ngraph::Dimension", align 8
  %18 = alloca i64, align 8
  %19 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %20 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %25 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %28 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2) #7
  %30 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  call void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %30)
  %31 = call noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %2)
  br i1 %31, label %53, label %32

32:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %3) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3)
          to label %33 unwind label %43

33:                                               ; preds = %32
  %34 = getelementptr inbounds i8, ptr %3, i64 16
  %35 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 1 dereferenceable(37) @.str)
          to label %36 unwind label %45

36:                                               ; preds = %33
  %37 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #7
  store ptr @.str.1, ptr %4, align 8, !tbaa !5
  %38 = getelementptr inbounds i8, ptr %4, i64 8
  store i32 51, ptr %38, align 8, !tbaa !11
  %39 = getelementptr inbounds i8, ptr %4, i64 16
  store ptr @.str.2, ptr %39, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  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 %40 unwind label %.thread

40:                                               ; preds = %36
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %37, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %42 unwind label %.thread92

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

42:                                               ; preds = %40
  invoke void @__cxa_throw(ptr nonnull %37, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %256 unwind label %48

43:                                               ; preds = %32
  %44 = landingpad { ptr, i32 }
          cleanup
  br label %52

45:                                               ; preds = %33
  %46 = landingpad { ptr, i32 }
          cleanup
  br label %51

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

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

50:                                               ; preds = %.thread92, %.thread
  %.pn91 = phi { ptr, i32 } [ %47, %.thread ], [ %41, %.thread92 ]
  call void @__cxa_free_exception(ptr %37) #7
  br label %51

51:                                               ; preds = %48, %50, %45
  %.pn.pn = phi { ptr, i32 } [ %.pn91, %50 ], [ %49, %48 ], [ %46, %45 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3) #7
  br label %52

52:                                               ; preds = %51, %43
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %51 ], [ %44, %43 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %3) #7
  br label %255

53:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %7, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %54 unwind label %73

54:                                               ; preds = %53
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.79") align 8 %6, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %55 unwind label %75

55:                                               ; preds = %54
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  %56 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  %57 = load ptr, ptr %56, align 8, !tbaa !13
  %58 = getelementptr inbounds i8, ptr %57, i64 160
  %59 = load ptr, ptr %58, align 8
  %60 = invoke noundef zeroext i1 %59(ptr noundef nonnull align 8 dereferenceable(680) %56)
          to label %61 unwind label %78

61:                                               ; preds = %55
  br i1 %60, label %90, label %62

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

63:                                               ; preds = %62
  %64 = getelementptr inbounds i8, ptr %8, i64 16
  %65 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 1 dereferenceable(39) @.str.3)
          to label %66 unwind label %82

66:                                               ; preds = %63
  %67 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #7
  store ptr @.str.1, ptr %9, align 8, !tbaa !5
  %68 = getelementptr inbounds i8, ptr %9, i64 8
  store i32 54, ptr %68, align 8, !tbaa !11
  %69 = getelementptr inbounds i8, ptr %9, i64 16
  store ptr @.str.4, ptr %69, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  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 %70 unwind label %.thread94

70:                                               ; preds = %66
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %67, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %72 unwind label %.thread98

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

72:                                               ; preds = %70
  invoke void @__cxa_throw(ptr nonnull %67, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %256 unwind label %85

73:                                               ; preds = %53
  %74 = landingpad { ptr, i32 }
          cleanup
  br label %77

75:                                               ; preds = %54
  %76 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  br label %77

77:                                               ; preds = %75, %73
  %.pn57 = phi { ptr, i32 } [ %76, %75 ], [ %74, %73 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  br label %254

78:                                               ; preds = %55
  %79 = landingpad { ptr, i32 }
          cleanup
  br label %253

80:                                               ; preds = %62
  %81 = landingpad { ptr, i32 }
          cleanup
  br label %89

82:                                               ; preds = %63
  %83 = landingpad { ptr, i32 }
          cleanup
  br label %88

.thread94:                                        ; preds = %66
  %84 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  br label %87

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

87:                                               ; preds = %.thread98, %.thread94
  %.pn5997 = phi { ptr, i32 } [ %84, %.thread94 ], [ %71, %.thread98 ]
  call void @__cxa_free_exception(ptr %67) #7
  br label %88

88:                                               ; preds = %85, %87, %82
  %.pn59.pn = phi { ptr, i32 } [ %.pn5997, %87 ], [ %86, %85 ], [ %83, %82 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #7
  br label %89

89:                                               ; preds = %88, %80
  %.pn59.pn.pn = phi { ptr, i32 } [ %.pn59.pn, %88 ], [ %81, %80 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %8) #7
  br label %253

90:                                               ; preds = %61
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #7
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(16) %6) #7
  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.83") align 8 %11, ptr noundef nonnull %12)
          to label %91 unwind label %106

91:                                               ; preds = %90
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #7
  %92 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  invoke void @_ZNK6ngraph2op2v08Constant11cast_vectorIlEESt6vectorIT_SaIS5_EEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.86") align 8 %13, ptr noundef nonnull align 8 dereferenceable(729) %92)
          to label %93 unwind label %108

93:                                               ; preds = %91
  %94 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 0) #7
  %95 = load i64, ptr %94, align 8, !tbaa !15
  %96 = getelementptr inbounds i8, ptr %0, i64 688
  store i64 %95, ptr %96, align 8, !tbaa !17
  call void @_ZNSt6vectorIlSaIlEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  %97 = getelementptr inbounds i8, ptr %0, i64 704
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  %98 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %97) #7
  store i64 %98, ptr %14, align 8, !tbaa !15
  %99 = getelementptr inbounds i8, ptr %0, i64 696
  %100 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %99)
  %101 = load i64, ptr %100, align 8, !tbaa !15
  %.not = icmp eq i64 %101, 0
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br i1 %.not, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %116, %93
  %102 = load ptr, ptr %0, align 8, !tbaa !13
  %103 = getelementptr inbounds i8, ptr %102, i64 200
  %104 = load ptr, ptr %103, align 8
  %105 = invoke noundef zeroext i1 %104(ptr noundef nonnull align 8 dereferenceable(680) %0)
          to label %129 unwind label %130

106:                                              ; preds = %90
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  br label %252

108:                                              ; preds = %91
  %109 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  br label %251

.lr.ph:                                           ; preds = %93, %116
  %.051125 = phi i64 [ %117, %116 ], [ 0, %93 ]
  %110 = 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 %111 unwind label %122

111:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  %112 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %113 = extractvalue { i64, i64 } %112, 0
  %114 = extractvalue { i64, i64 } %112, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %15, i64 %113, i64 %114)
          to label %115 unwind label %124

115:                                              ; preds = %111
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef %.051125, ptr noundef nonnull align 4 dereferenceable(4) %110, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %116 unwind label %126

116:                                              ; preds = %115
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  %117 = add nuw i64 %.051125, 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  %118 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %97) #7
  store i64 %118, ptr %14, align 8, !tbaa !15
  %119 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %99)
  %120 = load i64, ptr %119, align 8, !tbaa !15
  %121 = icmp ult i64 %117, %120
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br i1 %121, label %.lr.ph, label %._crit_edge, !llvm.loop !76

122:                                              ; preds = %.lr.ph
  %123 = landingpad { ptr, i32 }
          cleanup
  br label %251

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

126:                                              ; preds = %115
  %127 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %128

128:                                              ; preds = %126, %124
  %.pn81 = phi { ptr, i32 } [ %127, %126 ], [ %125, %124 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %251

129:                                              ; preds = %._crit_edge
  br i1 %105, label %247, label %132

130:                                              ; preds = %._crit_edge
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %251

132:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #7
  %133 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %134 unwind label %168

134:                                              ; preds = %132
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %133)
          to label %135 unwind label %168

135:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  %136 = 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 %137 unwind label %170

137:                                              ; preds = %135
  %138 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %136)
          to label %139 unwind label %170

139:                                              ; preds = %137
  %140 = extractvalue { i64, i64 } %138, 0
  store i64 %140, ptr %17, align 8
  %141 = getelementptr inbounds i8, ptr %17, i64 8
  %142 = extractvalue { i64, i64 } %138, 1
  store i64 %142, ptr %141, align 8
  %143 = load i64, ptr %96, align 8, !tbaa !17
  %144 = invoke noundef i64 @_ZN6ngraph14normalize_axisEPKNS_4NodeElRKNS_9DimensionE(ptr noundef nonnull %0, i64 noundef %143, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %145 unwind label %170

145:                                              ; preds = %139
  store i64 %144, ptr %96, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  %146 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %144)
          to label %147 unwind label %172

147:                                              ; preds = %145
  %148 = load i64, ptr %146, align 8, !tbaa !15
  store i64 %148, ptr %18, align 8, !tbaa !15
  %149 = getelementptr inbounds i8, ptr %0, i64 680
  %150 = load i8, ptr %149, align 8, !tbaa !78, !range !79, !noundef !80
  %151 = trunc nuw i8 %150 to i1
  br i1 %151, label %152, label %188

152:                                              ; preds = %147
  %153 = load i64, ptr %99, align 8, !tbaa !81
  %154 = urem i64 %148, %153
  %155 = udiv i64 %148, %153
  %156 = icmp eq i64 %154, 0
  br i1 %156, label %184, label %157

157:                                              ; preds = %152
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %19) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %19)
          to label %158 unwind label %174

158:                                              ; preds = %157
  %159 = getelementptr inbounds i8, ptr %19, i64 16
  %160 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJRKmRA59_KcRmEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %159, ptr noundef nonnull align 1 dereferenceable(63) @.str.5, ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 1 dereferenceable(59) @.str.6, ptr noundef nonnull align 8 dereferenceable(8) %99)
          to label %161 unwind label %176

161:                                              ; preds = %158
  %162 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #7
  store ptr @.str.1, ptr %20, align 8, !tbaa !5
  %163 = getelementptr inbounds i8, ptr %20, i64 8
  store i32 81, ptr %163, align 8, !tbaa !11
  %164 = getelementptr inbounds i8, ptr %20, i64 16
  store ptr @.str.7, ptr %164, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(128) %19)
          to label %165 unwind label %.thread100

165:                                              ; preds = %161
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %162, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %167 unwind label %.thread104

.thread104:                                       ; preds = %165
  %166 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #7
  br label %181

167:                                              ; preds = %165
  invoke void @__cxa_throw(ptr nonnull %162, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %256 unwind label %179

168:                                              ; preds = %134, %132
  %169 = landingpad { ptr, i32 }
          cleanup
  br label %250

170:                                              ; preds = %139, %137, %135
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %249

172:                                              ; preds = %245, %145
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %248

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

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

.thread100:                                       ; preds = %161
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #7
  br label %181

179:                                              ; preds = %167
  %180 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #7
  br label %182

181:                                              ; preds = %.thread104, %.thread100
  %.pn73103 = phi { ptr, i32 } [ %178, %.thread100 ], [ %166, %.thread104 ]
  call void @__cxa_free_exception(ptr %162) #7
  br label %182

182:                                              ; preds = %179, %181, %176
  %.pn73.pn = phi { ptr, i32 } [ %.pn73103, %181 ], [ %180, %179 ], [ %177, %176 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %19) #7
  br label %183

183:                                              ; preds = %182, %174
  %.pn73.pn.pn = phi { ptr, i32 } [ %.pn73.pn, %182 ], [ %175, %174 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %19) #7
  br label %248

184:                                              ; preds = %152
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #7
  store i64 %155, ptr %22, align 8, !tbaa !15
  invoke void @_ZNSt6vectorImSaImEE6assignEmRKm(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef %153, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %185 unwind label %186

185:                                              ; preds = %184
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  br label %245

186:                                              ; preds = %184
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  br label %248

188:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #7
  %189 = call ptr @_ZSt5beginISt6vectorImSaImEEEDTcldtfp_5beginEERT_(ptr noundef nonnull align 8 dereferenceable(24) %97)
  %190 = call ptr @_ZSt3endISt6vectorImSaImEEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %97)
  %191 = call noundef i64 @_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEmET0_T_S8_S7_(ptr %189, ptr %190, i64 noundef 0)
  store i64 %191, ptr %23, align 8, !tbaa !15
  %192 = load i64, ptr %18, align 8, !tbaa !15
  %193 = icmp eq i64 %191, %192
  br i1 %193, label %215, label %194

194:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %24) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %195 unwind label %205

195:                                              ; preds = %194
  %196 = getelementptr inbounds i8, ptr %24, i64 16
  %197 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJRKmRA57_KcS3_EEERSoS7_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %196, ptr noundef nonnull align 1 dereferenceable(63) @.str.5, ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 1 dereferenceable(57) @.str.8, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %198 unwind label %207

198:                                              ; preds = %195
  %199 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #7
  store ptr @.str.1, ptr %25, align 8, !tbaa !5
  %200 = getelementptr inbounds i8, ptr %25, i64 8
  store i32 93, ptr %200, align 8, !tbaa !11
  %201 = getelementptr inbounds i8, ptr %25, i64 16
  store ptr @.str.9, ptr %201, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %202 unwind label %.thread106

202:                                              ; preds = %198
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %199, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %204 unwind label %.thread110

.thread110:                                       ; preds = %202
  %203 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  br label %212

204:                                              ; preds = %202
  invoke void @__cxa_throw(ptr nonnull %199, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %256 unwind label %210

205:                                              ; preds = %194
  %206 = landingpad { ptr, i32 }
          cleanup
  br label %214

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

.thread106:                                       ; preds = %198
  %209 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  br label %212

210:                                              ; preds = %204
  %211 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  br label %213

212:                                              ; preds = %.thread110, %.thread106
  %.pn63109 = phi { ptr, i32 } [ %209, %.thread106 ], [ %203, %.thread110 ]
  call void @__cxa_free_exception(ptr %199) #7
  br label %213

213:                                              ; preds = %210, %212, %207
  %.pn63.pn = phi { ptr, i32 } [ %.pn63109, %212 ], [ %211, %210 ], [ %208, %207 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24) #7
  br label %214

214:                                              ; preds = %213, %205
  %.pn63.pn.pn = phi { ptr, i32 } [ %.pn63.pn, %213 ], [ %206, %205 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %24) #7
  br label %244

215:                                              ; preds = %188
  %216 = call ptr @_ZSt5beginISt6vectorImSaImEEEDTcldtfp_5beginEERT_(ptr noundef nonnull align 8 dereferenceable(24) %97)
  %217 = call ptr @_ZSt3endISt6vectorImSaImEEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %97)
  %218 = invoke noundef zeroext i1 @"_ZSt6all_ofIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEZN6ngraph2op2v05Split28pre_validate_and_infer_typesEvE3$_0EbT_SC_T0_"(ptr %216, ptr %217)
          to label %219 unwind label %231

219:                                              ; preds = %215
  br i1 %218, label %243, label %220

220:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %27) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %27)
          to label %221 unwind label %233

221:                                              ; preds = %220
  %222 = getelementptr inbounds i8, ptr %27, i64 16
  %223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %222, ptr noundef nonnull align 1 dereferenceable(63) @.str.10)
          to label %224 unwind label %235

224:                                              ; preds = %221
  %225 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #7
  store ptr @.str.1, ptr %28, align 8, !tbaa !5
  %226 = getelementptr inbounds i8, ptr %28, i64 8
  store i32 100, ptr %226, align 8, !tbaa !11
  %227 = getelementptr inbounds i8, ptr %28, i64 16
  store ptr @.str.11, ptr %227, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(128) %27)
          to label %228 unwind label %.thread112

228:                                              ; preds = %224
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %225, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %230 unwind label %.thread116

.thread116:                                       ; preds = %228
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  br label %240

230:                                              ; preds = %228
  invoke void @__cxa_throw(ptr nonnull %225, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %256 unwind label %238

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

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

235:                                              ; preds = %221
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %241

.thread112:                                       ; preds = %224
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  br label %240

238:                                              ; preds = %230
  %239 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  br label %241

240:                                              ; preds = %.thread116, %.thread112
  %.pn67115 = phi { ptr, i32 } [ %237, %.thread112 ], [ %229, %.thread116 ]
  call void @__cxa_free_exception(ptr %225) #7
  br label %241

241:                                              ; preds = %238, %240, %235
  %.pn67.pn = phi { ptr, i32 } [ %.pn67115, %240 ], [ %239, %238 ], [ %236, %235 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %27) #7
  br label %242

242:                                              ; preds = %241, %233
  %.pn67.pn.pn = phi { ptr, i32 } [ %.pn67.pn, %241 ], [ %234, %233 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %27) #7
  br label %244

243:                                              ; preds = %219
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  br label %245

244:                                              ; preds = %231, %242, %214
  %.pn67.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn63.pn.pn, %214 ], [ %.pn67.pn.pn, %242 ], [ %232, %231 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  br label %248

245:                                              ; preds = %243, %185
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, i1 noundef zeroext true)
          to label %246 unwind label %172

246:                                              ; preds = %245
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %247

247:                                              ; preds = %129, %246
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %6) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) #7
  ret void

248:                                              ; preds = %244, %186, %183, %172
  %.pn77 = phi { ptr, i32 } [ %173, %172 ], [ %187, %186 ], [ %.pn73.pn.pn, %183 ], [ %.pn67.pn.pn.pn.pn, %244 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  br label %249

249:                                              ; preds = %248, %170
  %.pn77.pn = phi { ptr, i32 } [ %.pn77, %248 ], [ %171, %170 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  br label %250

250:                                              ; preds = %249, %168
  %.pn77.pn.pn = phi { ptr, i32 } [ %.pn77.pn, %249 ], [ %169, %168 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %251

251:                                              ; preds = %122, %128, %250, %130, %108
  %.pn81.pn.pn = phi { ptr, i32 } [ %.pn77.pn.pn, %250 ], [ %131, %130 ], [ %109, %108 ], [ %.pn81, %128 ], [ %123, %122 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  br label %252

252:                                              ; preds = %251, %106
  %.pn81.pn.pn.pn = phi { ptr, i32 } [ %.pn81.pn.pn, %251 ], [ %107, %106 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  br label %253

253:                                              ; preds = %252, %89, %78
  %.pn81.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn81.pn.pn.pn, %252 ], [ %.pn59.pn.pn, %89 ], [ %79, %78 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %6) #7
  br label %254

254:                                              ; preds = %253, %77
  %.pn81.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn81.pn.pn.pn.pn, %253 ], [ %.pn57, %77 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #7
  br label %255

255:                                              ; preds = %254, %52
  %.pn81.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn81.pn.pn.pn.pn.pn, %254 ], [ %.pn.pn.pn, %52 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) #7
  resume { ptr, i32 } %.pn81.pn.pn.pn.pn.pn.pn

256:                                              ; preds = %230, %204, %167, %72, %42
  unreachable
}

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 nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

; 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.83") align 8, ptr noundef) local_unnamed_addr #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op2v08Constant11cast_vectorIlEESt6vectorIT_SaIS5_EEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.86") align 8, ptr noundef nonnull align 8 dereferenceable(729)) local_unnamed_addr #2 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(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 i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #6 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

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

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

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

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

declare noundef i64 @_ZN6ngraph14normalize_axisEPKNS_4NodeElRKNS_9DimensionE(ptr noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJRKmRA59_KcRmEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(63), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(59), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEmET0_T_S8_S7_(ptr, ptr, i64 noundef) local_unnamed_addr #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJRKmRA57_KcS3_EEERSoS7_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(63), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(57), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZSt6all_ofIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEZN6ngraph2op2v05Split28pre_validate_and_infer_typesEvE3$_0EbT_SC_T0_"(ptr, ptr) local_unnamed_addr #4

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

declare void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef, i1 noundef zeroext) local_unnamed_addr #3

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTSN6ngraph12CheckLocInfoE", !7, i64 0, !10, i64 8, !7, i64 16}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!6, !10, i64 8}
!12 = !{!6, !7, i64 16}
!13 = !{!14, !14, i64 0}
!14 = !{!"vtable pointer", !9, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !8, i64 0}
!17 = !{!18, !16, i64 688}
!18 = !{!"_ZTSN6ngraph2op2v05SplitE", !19, i64 0, !71, i64 680, !16, i64 688, !16, i64 696, !72, i64 704}
!19 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !20, i64 0}
!20 = !{!"_ZTSN6ngraph2op2OpE", !21, i64 0}
!21 = !{!"_ZTSN6ngraph4NodeE", !22, i64 8, !26, i64 24, !26, i64 80, !31, i64 136, !35, i64 160, !39, i64 184, !16, i64 216, !39, i64 224, !39, i64 256, !41, i64 288, !43, i64 344, !51, i64 392, !56, i64 472, !61, i64 552, !10, i64 608, !63, i64 616, !66, i64 632}
!22 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !23, i64 0}
!23 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !24, i64 0}
!24 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0, !25, i64 8}
!25 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0}
!26 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !27, i64 0}
!27 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !7, i64 0, !16, i64 8, !28, i64 16, !16, i64 24, !29, i64 32, !7, i64 48}
!28 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !7, i64 0}
!29 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !30, i64 0, !16, i64 8}
!30 = !{!"float", !8, 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", !7, i64 0, !7, i64 8, !7, 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", !7, i64 0, !7, i64 8, !7, i64 16}
!39 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !40, i64 0, !16, i64 8, !8, i64 16}
!40 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, 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", !7, i64 0, !16, i64 8, !28, i64 16, !16, i64 24, !29, i64 32, !7, 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, !16, i64 32}
!49 = !{!"_ZTSSt18_Rb_tree_node_base", !50, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!50 = !{!"_ZTSSt14_Rb_tree_color", !8, 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", !7, i64 0, !16, i64 8, !55, i64 16, !55, i64 48}
!55 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !7, i64 0, !7, i64 8, !7, i64 16, !7, 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", !7, i64 0, !16, i64 8, !60, i64 16, !60, i64 48}
!60 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !7, i64 0, !7, i64 8, !7, i64 16, !7, 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", !7, i64 0, !16, i64 8, !28, i64 16, !16, i64 24, !29, i64 32, !7, i64 48}
!63 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !64, i64 0}
!64 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0, !65, i64 8}
!65 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !7, 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 = !{!"bool", !8, i64 0}
!72 = !{!"_ZTSSt6vectorImSaImEE", !73, i64 0}
!73 = !{!"_ZTSSt12_Vector_baseImSaImEE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!76 = distinct !{!76, !77}
!77 = !{!"llvm.loop.mustprogress"}
!78 = !{!18, !71, i64 680}
!79 = !{i8 0, i8 2}
!80 = !{}
!81 = !{!18, !16, i64 696}


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