; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/roi_align.ll (ZN6ngraph2op2v38ROIAlign24validate_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.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.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.78" }
%"class.std::vector.78" = type { %"struct.std::_Vector_base.79" }
%"struct.std::_Vector_base.79" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.83" = type { ptr, i64 }
%"class.ngraph::op::v3::ROIAlign" = type <{ %"class.ngraph::op::Op", i32, i32, i32, float, i32, [4 x i8] }>
%"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::__shared_count" = type { ptr }
%"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 [80 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [75 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.4 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [43 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v38ROIAlign24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(700) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca i1, align 1
  %9 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %10 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca i1, align 1
  %13 = alloca ptr, align 8
  %14 = alloca %"class.ngraph::Dimension", align 8
  %15 = alloca %"class.ngraph::Dimension", align 8
  %16 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %17 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca i1, align 1
  %20 = alloca ptr, align 8
  %21 = alloca %"class.ngraph::Dimension", align 8
  %22 = alloca %"class.ngraph::Dimension", align 8
  %23 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %24 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca i1, align 1
  %27 = alloca ptr, align 8
  %28 = alloca %"class.ngraph::Dimension", align 8
  %29 = alloca %"class.ngraph::Dimension", align 8
  %30 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %31 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca i1, align 1
  %34 = alloca %"class.ngraph::Dimension", align 8
  %35 = alloca %"class.ngraph::Dimension", align 8
  %36 = alloca %"class.ngraph::Dimension", align 8
  %37 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %38 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca i1, align 1
  %41 = alloca %"class.ngraph::Dimension", align 8
  %42 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %43 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca i1, align 1
  %46 = alloca %"class.ngraph::PartialShape", align 8
  %47 = alloca %"class.std::initializer_list.83", align 8
  %48 = alloca [4 x %"class.ngraph::Dimension"], align 8
  %49 = alloca %"class.ngraph::Dimension", align 8
  %50 = alloca %"class.ngraph::Dimension", align 8
  %51 = alloca %"class.ngraph::Dimension", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %52 = load ptr, ptr %2, align 8
  br label %53

53:                                               ; preds = %1
  %54 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 0)
  %55 = call noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4) %54)
  br i1 %55, label %56, label %59

56:                                               ; preds = %53
  %57 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 1)
  %58 = call noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4) %57)
  br i1 %58, label %90, label %59

59:                                               ; preds = %56, %53
  call void @llvm.lifetime.start.p0(i64 392, ptr %3) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3)
  %60 = getelementptr inbounds i8, ptr %3, i64 16
  %61 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 0)
          to label %62 unwind label %73

62:                                               ; preds = %59
  %63 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 1)
          to label %64 unwind label %73

64:                                               ; preds = %62
  %65 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA80_cJRKNS_7element4TypeERA7_KcS5_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull align 1 dereferenceable(80) @.str, ptr noundef nonnull align 4 dereferenceable(4) %61, ptr noundef nonnull align 1 dereferenceable(7) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %66 unwind label %73

66:                                               ; preds = %64
  store i1 true, ptr %8, align 1
  %67 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %6) #8
  %68 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %6, i32 0, i32 0
  store ptr @.str.2, ptr %68, align 8, !tbaa !9
  %69 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %6, i32 0, i32 1
  store i32 68, ptr %69, align 8, !tbaa !12
  %70 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %6, i32 0, i32 2
  store ptr @.str.3, ptr %70, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(128) %3)
          to label %71 unwind label %77

71:                                               ; 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) %6, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %72 unwind label %81

72:                                               ; preds = %71
  store i1 false, ptr %8, align 1
  invoke void @__cxa_throw(ptr %67, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %482 unwind label %81

73:                                               ; preds = %64, %62, %59
  %74 = landingpad { ptr, i32 }
          cleanup
  %75 = extractvalue { ptr, i32 } %74, 0
  store ptr %75, ptr %4, align 8
  %76 = extractvalue { ptr, i32 } %74, 1
  store i32 %76, ptr %5, align 4
  br label %89

77:                                               ; preds = %66
  %78 = landingpad { ptr, i32 }
          cleanup
  %79 = extractvalue { ptr, i32 } %78, 0
  store ptr %79, ptr %4, align 8
  %80 = extractvalue { ptr, i32 } %78, 1
  store i32 %80, ptr %5, align 4
  br label %85

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

85:                                               ; preds = %81, %77
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #8
  %86 = load i1, ptr %8, align 1
  br i1 %86, label %87, label %88

87:                                               ; preds = %85
  call void @__cxa_free_exception(ptr %67) #8
  br label %88

88:                                               ; preds = %87, %85
  br label %89

89:                                               ; preds = %88, %73
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %3) #8
  br label %477

90:                                               ; preds = %56
  br label %91

91:                                               ; preds = %90
  br label %92

92:                                               ; preds = %91
  %93 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 2)
  %94 = call noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %93)
  br i1 %94, label %124, label %95

95:                                               ; preds = %92
  call void @llvm.lifetime.start.p0(i64 392, ptr %9) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %9)
  %96 = getelementptr inbounds i8, ptr %9, i64 16
  %97 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 2)
          to label %98 unwind label %107

98:                                               ; preds = %95
  %99 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJRKNS_7element4TypeEEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef nonnull align 1 dereferenceable(68) @.str.4, ptr noundef nonnull align 4 dereferenceable(4) %97)
          to label %100 unwind label %107

100:                                              ; preds = %98
  store i1 true, ptr %12, align 1
  %101 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #8
  %102 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 0
  store ptr @.str.2, ptr %102, align 8, !tbaa !9
  %103 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 1
  store i32 73, ptr %103, align 8, !tbaa !12
  %104 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 2
  store ptr @.str.5, ptr %104, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(128) %9)
          to label %105 unwind label %111

105:                                              ; preds = %100
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %101, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %106 unwind label %115

106:                                              ; preds = %105
  store i1 false, ptr %12, align 1
  invoke void @__cxa_throw(ptr %101, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %482 unwind label %115

107:                                              ; preds = %98, %95
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %4, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %5, align 4
  br label %123

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

115:                                              ; preds = %106, %105
  %116 = landingpad { ptr, i32 }
          cleanup
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %4, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  br label %119

119:                                              ; preds = %115, %111
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #8
  %120 = load i1, ptr %12, align 1
  br i1 %120, label %121, label %122

121:                                              ; preds = %119
  call void @__cxa_free_exception(ptr %101) #8
  br label %122

122:                                              ; preds = %121, %119
  br label %123

123:                                              ; preds = %122, %107
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %9) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %9) #8
  br label %477

124:                                              ; preds = %92
  br label %125

125:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #8
  %126 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 0)
  store ptr %126, ptr %13, align 8, !tbaa !5
  br label %127

127:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #8
  %128 = load ptr, ptr %13, align 8, !tbaa !5
  %129 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %128)
  %130 = getelementptr inbounds %"class.ngraph::Dimension", ptr %14, i32 0, i32 0
  %131 = getelementptr inbounds { i64, i64 }, ptr %130, i32 0, i32 0
  %132 = extractvalue { i64, i64 } %129, 0
  store i64 %132, ptr %131, align 8
  %133 = getelementptr inbounds { i64, i64 }, ptr %130, i32 0, i32 1
  %134 = extractvalue { i64, i64 } %129, 1
  store i64 %134, ptr %133, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %15, i64 noundef 4)
  %135 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull align 8 dereferenceable(16) %15)
  %136 = xor i1 %135, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #8
  br i1 %136, label %137, label %165

137:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 392, ptr %16) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16)
  %138 = getelementptr inbounds i8, ptr %16, i64 16
  %139 = load ptr, ptr %13, align 8, !tbaa !5
  %140 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA47_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %138, ptr noundef nonnull align 1 dereferenceable(47) @.str.6, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %141 unwind label %148

141:                                              ; preds = %137
  store i1 true, ptr %19, align 1
  %142 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  %143 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 0
  store ptr @.str.2, ptr %143, align 8, !tbaa !9
  %144 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 1
  store i32 79, ptr %144, align 8, !tbaa !12
  %145 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 2
  store ptr @.str.7, ptr %145, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(128) %16)
          to label %146 unwind label %152

146:                                              ; preds = %141
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %142, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %147 unwind label %156

147:                                              ; preds = %146
  store i1 false, ptr %19, align 1
  invoke void @__cxa_throw(ptr %142, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %482 unwind label %156

148:                                              ; preds = %137
  %149 = landingpad { ptr, i32 }
          cleanup
  %150 = extractvalue { ptr, i32 } %149, 0
  store ptr %150, ptr %4, align 8
  %151 = extractvalue { ptr, i32 } %149, 1
  store i32 %151, ptr %5, align 4
  br label %164

152:                                              ; preds = %141
  %153 = landingpad { ptr, i32 }
          cleanup
  %154 = extractvalue { ptr, i32 } %153, 0
  store ptr %154, ptr %4, align 8
  %155 = extractvalue { ptr, i32 } %153, 1
  store i32 %155, ptr %5, align 4
  br label %160

156:                                              ; preds = %147, %146
  %157 = landingpad { ptr, i32 }
          cleanup
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %4, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  br label %160

160:                                              ; preds = %156, %152
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  %161 = load i1, ptr %19, align 1
  br i1 %161, label %162, label %163

162:                                              ; preds = %160
  call void @__cxa_free_exception(ptr %142) #8
  br label %163

163:                                              ; preds = %162, %160
  br label %164

164:                                              ; preds = %163, %148
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %16) #8
  br label %476

165:                                              ; preds = %127
  br label %166

166:                                              ; preds = %165
  br label %167

167:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #8
  %168 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 1)
  store ptr %168, ptr %20, align 8, !tbaa !5
  br label %169

169:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #8
  %170 = load ptr, ptr %20, align 8, !tbaa !5
  %171 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %170)
  %172 = getelementptr inbounds %"class.ngraph::Dimension", ptr %21, i32 0, i32 0
  %173 = getelementptr inbounds { i64, i64 }, ptr %172, i32 0, i32 0
  %174 = extractvalue { i64, i64 } %171, 0
  store i64 %174, ptr %173, align 8
  %175 = getelementptr inbounds { i64, i64 }, ptr %172, i32 0, i32 1
  %176 = extractvalue { i64, i64 } %171, 1
  store i64 %176, ptr %175, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %22, i64 noundef 2)
  %177 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
  %178 = xor i1 %177, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #8
  br i1 %178, label %179, label %207

179:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 392, ptr %23) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23)
  %180 = getelementptr inbounds i8, ptr %23, i64 16
  %181 = load ptr, ptr %20, align 8, !tbaa !5
  %182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA47_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %180, ptr noundef nonnull align 1 dereferenceable(47) @.str.8, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %183 unwind label %190

183:                                              ; preds = %179
  store i1 true, ptr %26, align 1
  %184 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #8
  %185 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 0
  store ptr @.str.2, ptr %185, align 8, !tbaa !9
  %186 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 1
  store i32 85, ptr %186, align 8, !tbaa !12
  %187 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 2
  store ptr @.str.9, ptr %187, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(128) %23)
          to label %188 unwind label %194

188:                                              ; preds = %183
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %184, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %189 unwind label %198

189:                                              ; preds = %188
  store i1 false, ptr %26, align 1
  invoke void @__cxa_throw(ptr %184, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %482 unwind label %198

190:                                              ; preds = %179
  %191 = landingpad { ptr, i32 }
          cleanup
  %192 = extractvalue { ptr, i32 } %191, 0
  store ptr %192, ptr %4, align 8
  %193 = extractvalue { ptr, i32 } %191, 1
  store i32 %193, ptr %5, align 4
  br label %206

194:                                              ; preds = %183
  %195 = landingpad { ptr, i32 }
          cleanup
  %196 = extractvalue { ptr, i32 } %195, 0
  store ptr %196, ptr %4, align 8
  %197 = extractvalue { ptr, i32 } %195, 1
  store i32 %197, ptr %5, align 4
  br label %202

198:                                              ; preds = %189, %188
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %202

202:                                              ; preds = %198, %194
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #8
  %203 = load i1, ptr %26, align 1
  br i1 %203, label %204, label %205

204:                                              ; preds = %202
  call void @__cxa_free_exception(ptr %184) #8
  br label %205

205:                                              ; preds = %204, %202
  br label %206

206:                                              ; preds = %205, %190
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %23) #8
  br label %475

207:                                              ; preds = %169
  br label %208

208:                                              ; preds = %207
  br label %209

209:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  %210 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 2)
  store ptr %210, ptr %27, align 8, !tbaa !5
  br label %211

211:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #8
  %212 = load ptr, ptr %27, align 8, !tbaa !5
  %213 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %212)
  %214 = getelementptr inbounds %"class.ngraph::Dimension", ptr %28, i32 0, i32 0
  %215 = getelementptr inbounds { i64, i64 }, ptr %214, i32 0, i32 0
  %216 = extractvalue { i64, i64 } %213, 0
  store i64 %216, ptr %215, align 8
  %217 = getelementptr inbounds { i64, i64 }, ptr %214, i32 0, i32 1
  %218 = extractvalue { i64, i64 } %213, 1
  store i64 %218, ptr %217, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %29, i64 noundef 1)
  %219 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull align 8 dereferenceable(16) %29)
  %220 = xor i1 %219, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #8
  br i1 %220, label %221, label %249

221:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 392, ptr %30) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30)
  %222 = getelementptr inbounds i8, ptr %30, i64 16
  %223 = load ptr, ptr %27, align 8, !tbaa !5
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA56_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %222, ptr noundef nonnull align 1 dereferenceable(56) @.str.10, ptr noundef nonnull align 8 dereferenceable(32) %223)
          to label %225 unwind label %232

225:                                              ; preds = %221
  store i1 true, ptr %33, align 1
  %226 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %31) #8
  %227 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %31, i32 0, i32 0
  store ptr @.str.2, ptr %227, align 8, !tbaa !9
  %228 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %31, i32 0, i32 1
  store i32 91, ptr %228, align 8, !tbaa !12
  %229 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %31, i32 0, i32 2
  store ptr @.str.11, ptr %229, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(128) %30)
          to label %230 unwind label %236

230:                                              ; preds = %225
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %226, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %231 unwind label %240

231:                                              ; preds = %230
  store i1 false, ptr %33, align 1
  invoke void @__cxa_throw(ptr %226, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %482 unwind label %240

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

236:                                              ; preds = %225
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %4, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %5, align 4
  br label %244

240:                                              ; preds = %231, %230
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %4, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  br label %244

244:                                              ; preds = %240, %236
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #8
  %245 = load i1, ptr %33, align 1
  br i1 %245, label %246, label %247

246:                                              ; preds = %244
  call void @__cxa_free_exception(ptr %226) #8
  br label %247

247:                                              ; preds = %246, %244
  br label %248

248:                                              ; preds = %247, %232
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %30) #8
  br label %474

249:                                              ; preds = %211
  br label %250

250:                                              ; preds = %249
  br label %251

251:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #8
  %252 = load ptr, ptr %20, align 8, !tbaa !5
  %253 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %252)
  %254 = getelementptr inbounds %"class.ngraph::Dimension", ptr %34, i32 0, i32 0
  %255 = getelementptr inbounds { i64, i64 }, ptr %254, i32 0, i32 0
  %256 = extractvalue { i64, i64 } %253, 0
  store i64 %256, ptr %255, align 8
  %257 = getelementptr inbounds { i64, i64 }, ptr %254, i32 0, i32 1
  %258 = extractvalue { i64, i64 } %253, 1
  store i64 %258, ptr %257, align 8
  %259 = call noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %34)
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  br i1 %259, label %260, label %349

260:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #8
  %261 = load ptr, ptr %20, align 8, !tbaa !5
  %262 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %261, i64 noundef 1)
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %35, ptr align 8 %262, i64 16, i1 false), !tbaa.struct !14
  br label %263

263:                                              ; preds = %260
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %36, i64 noundef 4)
  %264 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %35, ptr noundef nonnull align 8 dereferenceable(16) %36)
  %265 = xor i1 %264, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #8
  br i1 %265, label %266, label %293

266:                                              ; preds = %263
  call void @llvm.lifetime.start.p0(i64 392, ptr %37) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %37)
  %267 = getelementptr inbounds i8, ptr %37, i64 16
  %268 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJRA51_KcRKNS_9DimensionEEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %267, ptr noundef nonnull align 1 dereferenceable(68) @.str.12, ptr noundef nonnull align 1 dereferenceable(51) @.str.13, ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %269 unwind label %276

269:                                              ; preds = %266
  store i1 true, ptr %40, align 1
  %270 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #8
  %271 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 0
  store ptr @.str.2, ptr %271, align 8, !tbaa !9
  %272 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 1
  store i32 100, ptr %272, align 8, !tbaa !12
  %273 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 2
  store ptr @.str.14, ptr %273, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(128) %37)
          to label %274 unwind label %280

274:                                              ; preds = %269
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %270, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %275 unwind label %284

275:                                              ; preds = %274
  store i1 false, ptr %40, align 1
  invoke void @__cxa_throw(ptr %270, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %482 unwind label %284

276:                                              ; preds = %266
  %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 %292

280:                                              ; preds = %269
  %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 %288

284:                                              ; preds = %275, %274
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  br label %288

288:                                              ; preds = %284, %280
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #8
  %289 = load i1, ptr %40, align 1
  br i1 %289, label %290, label %291

290:                                              ; preds = %288
  call void @__cxa_free_exception(ptr %270) #8
  br label %291

291:                                              ; preds = %290, %288
  br label %292

292:                                              ; preds = %291, %276
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %37) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %37) #8
  br label %348

293:                                              ; preds = %263
  br label %294

294:                                              ; preds = %293
  br label %295

295:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #8
  %296 = load ptr, ptr %27, align 8, !tbaa !5
  %297 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %296)
  %298 = getelementptr inbounds %"class.ngraph::Dimension", ptr %41, i32 0, i32 0
  %299 = getelementptr inbounds { i64, i64 }, ptr %298, i32 0, i32 0
  %300 = extractvalue { i64, i64 } %297, 0
  store i64 %300, ptr %299, align 8
  %301 = getelementptr inbounds { i64, i64 }, ptr %298, i32 0, i32 1
  %302 = extractvalue { i64, i64 } %297, 1
  store i64 %302, ptr %301, align 8
  %303 = call noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %41)
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  br i1 %303, label %304, label %347

304:                                              ; preds = %295
  br label %305

305:                                              ; preds = %304
  %306 = load ptr, ptr %20, align 8, !tbaa !5
  %307 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %306, i64 noundef 0)
  %308 = load ptr, ptr %27, align 8, !tbaa !5
  %309 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %308, i64 noundef 0)
  %310 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %307, ptr noundef nonnull align 8 dereferenceable(16) %309)
  br i1 %310, label %344, label %311

311:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 392, ptr %42) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %42)
  %312 = getelementptr inbounds i8, ptr %42, i64 16
  %313 = load ptr, ptr %20, align 8, !tbaa !5
  %314 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %313, i64 noundef 0)
          to label %315 unwind label %327

315:                                              ; preds = %311
  %316 = load ptr, ptr %27, align 8, !tbaa !5
  %317 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %316, i64 noundef 0)
          to label %318 unwind label %327

318:                                              ; preds = %315
  %319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA72_cJRA34_KcRKNS_9DimensionERA7_S2_S7_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %312, ptr noundef nonnull align 1 dereferenceable(72) @.str.15, ptr noundef nonnull align 1 dereferenceable(34) @.str.16, ptr noundef nonnull align 8 dereferenceable(16) %314, ptr noundef nonnull align 1 dereferenceable(7) @.str.1, ptr noundef nonnull align 8 dereferenceable(16) %317)
          to label %320 unwind label %327

320:                                              ; preds = %318
  store i1 true, ptr %45, align 1
  %321 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #8
  %322 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 0
  store ptr @.str.2, ptr %322, align 8, !tbaa !9
  %323 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 1
  store i32 111, ptr %323, align 8, !tbaa !12
  %324 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 2
  store ptr @.str.17, ptr %324, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(128) %42)
          to label %325 unwind label %331

325:                                              ; preds = %320
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %321, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %326 unwind label %335

326:                                              ; preds = %325
  store i1 false, ptr %45, align 1
  invoke void @__cxa_throw(ptr %321, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %482 unwind label %335

327:                                              ; preds = %318, %315, %311
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %4, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %5, align 4
  br label %343

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

335:                                              ; preds = %326, %325
  %336 = landingpad { ptr, i32 }
          cleanup
  %337 = extractvalue { ptr, i32 } %336, 0
  store ptr %337, ptr %4, align 8
  %338 = extractvalue { ptr, i32 } %336, 1
  store i32 %338, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %339

339:                                              ; preds = %335, %331
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  %340 = load i1, ptr %45, align 1
  br i1 %340, label %341, label %342

341:                                              ; preds = %339
  call void @__cxa_free_exception(ptr %321) #8
  br label %342

342:                                              ; preds = %341, %339
  br label %343

343:                                              ; preds = %342, %327
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %42) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %42) #8
  br label %348

344:                                              ; preds = %305
  br label %345

345:                                              ; preds = %344
  br label %346

346:                                              ; preds = %345
  br label %347

347:                                              ; preds = %346, %295
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  br label %349

348:                                              ; preds = %343, %292
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  br label %474

349:                                              ; preds = %347, %251
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %48) #8
  %350 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %351 = getelementptr inbounds %"class.ngraph::Dimension", ptr %48, i32 0, i32 0
  %352 = getelementptr inbounds { i64, i64 }, ptr %351, i32 0, i32 0
  %353 = extractvalue { i64, i64 } %350, 0
  store i64 %353, ptr %352, align 8
  %354 = getelementptr inbounds { i64, i64 }, ptr %351, i32 0, i32 1
  %355 = extractvalue { i64, i64 } %350, 1
  store i64 %355, ptr %354, align 8
  %356 = getelementptr inbounds %"class.ngraph::Dimension", ptr %48, i64 1
  %357 = load ptr, ptr %13, align 8, !tbaa !5
  %358 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %357, i64 noundef 1)
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %356, ptr align 8 %358, i64 16, i1 false), !tbaa.struct !14
  %359 = getelementptr inbounds %"class.ngraph::Dimension", ptr %48, i64 2
  %360 = getelementptr inbounds %"class.ngraph::op::v3::ROIAlign", ptr %52, i32 0, i32 1
  %361 = load i32, ptr %360, align 8, !tbaa !17
  %362 = sext i32 %361 to i64
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %359, i64 noundef %362)
  %363 = getelementptr inbounds %"class.ngraph::Dimension", ptr %48, i64 3
  %364 = getelementptr inbounds %"class.ngraph::op::v3::ROIAlign", ptr %52, i32 0, i32 2
  %365 = load i32, ptr %364, align 4, !tbaa !71
  %366 = sext i32 %365 to i64
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %363, i64 noundef %366)
  %367 = getelementptr inbounds %"class.std::initializer_list.83", ptr %47, i32 0, i32 0
  store ptr %48, ptr %367, align 8, !tbaa !72
  %368 = getelementptr inbounds %"class.std::initializer_list.83", ptr %47, i32 0, i32 1
  store i64 4, ptr %368, align 8, !tbaa !74
  %369 = getelementptr inbounds { ptr, i64 }, ptr %47, i32 0, i32 0
  %370 = load ptr, ptr %369, align 8
  %371 = getelementptr inbounds { ptr, i64 }, ptr %47, i32 0, i32 1
  %372 = load i64, ptr %371, align 8
  call void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr %370, i64 %372)
  call void @llvm.lifetime.end.p0(i64 64, ptr %48) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #8
  %373 = load ptr, ptr %20, align 8, !tbaa !5
  %374 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %373)
          to label %375 unwind label %397

375:                                              ; preds = %349
  %376 = getelementptr inbounds %"class.ngraph::Dimension", ptr %49, i32 0, i32 0
  %377 = getelementptr inbounds { i64, i64 }, ptr %376, i32 0, i32 0
  %378 = extractvalue { i64, i64 } %374, 0
  store i64 %378, ptr %377, align 8
  %379 = getelementptr inbounds { i64, i64 }, ptr %376, i32 0, i32 1
  %380 = extractvalue { i64, i64 } %374, 1
  store i64 %380, ptr %379, align 8
  %381 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %382 unwind label %397

382:                                              ; preds = %375
  br i1 %381, label %383, label %389

383:                                              ; preds = %382
  %384 = load ptr, ptr %20, align 8, !tbaa !5
  %385 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %384, i64 noundef 0)
          to label %386 unwind label %397

386:                                              ; preds = %383
  %387 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %385)
          to label %388 unwind label %397

388:                                              ; preds = %386
  br label %389

389:                                              ; preds = %388, %382
  %390 = phi i1 [ false, %382 ], [ %387, %388 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  br i1 %390, label %391, label %405

391:                                              ; preds = %389
  %392 = load ptr, ptr %20, align 8, !tbaa !5
  %393 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %392, i64 noundef 0)
          to label %394 unwind label %401

394:                                              ; preds = %391
  %395 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %46, i64 noundef 0)
          to label %396 unwind label %401

396:                                              ; preds = %394
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %395, ptr align 8 %393, i64 16, i1 false), !tbaa.struct !14
  br label %435

397:                                              ; preds = %386, %383, %375, %349
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %4, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  br label %473

401:                                              ; preds = %470, %469, %466, %464, %458, %438, %436, %435, %427, %424, %394, %391
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %4, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %5, align 4
  br label %473

405:                                              ; preds = %389
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #8
  %406 = load ptr, ptr %27, align 8, !tbaa !5
  %407 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %406)
          to label %408 unwind label %430

408:                                              ; preds = %405
  %409 = getelementptr inbounds %"class.ngraph::Dimension", ptr %50, i32 0, i32 0
  %410 = getelementptr inbounds { i64, i64 }, ptr %409, i32 0, i32 0
  %411 = extractvalue { i64, i64 } %407, 0
  store i64 %411, ptr %410, align 8
  %412 = getelementptr inbounds { i64, i64 }, ptr %409, i32 0, i32 1
  %413 = extractvalue { i64, i64 } %407, 1
  store i64 %413, ptr %412, align 8
  %414 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %415 unwind label %430

415:                                              ; preds = %408
  br i1 %414, label %416, label %422

416:                                              ; preds = %415
  %417 = load ptr, ptr %27, align 8, !tbaa !5
  %418 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %417, i64 noundef 0)
          to label %419 unwind label %430

419:                                              ; preds = %416
  %420 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %418)
          to label %421 unwind label %430

421:                                              ; preds = %419
  br label %422

422:                                              ; preds = %421, %415
  %423 = phi i1 [ false, %415 ], [ %420, %421 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #8
  br i1 %423, label %424, label %434

424:                                              ; preds = %422
  %425 = load ptr, ptr %27, align 8, !tbaa !5
  %426 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %425, i64 noundef 0)
          to label %427 unwind label %401

427:                                              ; preds = %424
  %428 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %46, i64 noundef 0)
          to label %429 unwind label %401

429:                                              ; preds = %427
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %428, ptr align 8 %426, i64 16, i1 false), !tbaa.struct !14
  br label %434

430:                                              ; preds = %419, %416, %408, %405
  %431 = landingpad { ptr, i32 }
          cleanup
  %432 = extractvalue { ptr, i32 } %431, 0
  store ptr %432, ptr %4, align 8
  %433 = extractvalue { ptr, i32 } %431, 1
  store i32 %433, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #8
  br label %473

434:                                              ; preds = %429, %422
  br label %435

435:                                              ; preds = %434, %396
  invoke void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 1)
          to label %436 unwind label %401

436:                                              ; preds = %435
  %437 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 0)
          to label %438 unwind label %401

438:                                              ; preds = %436
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %437, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %439 unwind label %401

439:                                              ; preds = %438
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #8
  %440 = load ptr, ptr %13, align 8, !tbaa !5
  %441 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %440)
          to label %442 unwind label %460

442:                                              ; preds = %439
  %443 = getelementptr inbounds %"class.ngraph::Dimension", ptr %51, i32 0, i32 0
  %444 = getelementptr inbounds { i64, i64 }, ptr %443, i32 0, i32 0
  %445 = extractvalue { i64, i64 } %441, 0
  store i64 %445, ptr %444, align 8
  %446 = getelementptr inbounds { i64, i64 }, ptr %443, i32 0, i32 1
  %447 = extractvalue { i64, i64 } %441, 1
  store i64 %447, ptr %446, align 8
  %448 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %449 unwind label %460

449:                                              ; preds = %442
  br i1 %448, label %450, label %456

450:                                              ; preds = %449
  %451 = load ptr, ptr %13, align 8, !tbaa !5
  %452 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %451, i64 noundef 1)
          to label %453 unwind label %460

453:                                              ; preds = %450
  %454 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %452)
          to label %455 unwind label %460

455:                                              ; preds = %453
  br label %456

456:                                              ; preds = %455, %449
  %457 = phi i1 [ false, %449 ], [ %454, %455 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  br i1 %457, label %458, label %464

458:                                              ; preds = %456
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 0, i1 noundef zeroext true)
          to label %459 unwind label %401

459:                                              ; preds = %458
  br label %464

460:                                              ; preds = %453, %450, %442, %439
  %461 = landingpad { ptr, i32 }
          cleanup
  %462 = extractvalue { ptr, i32 } %461, 0
  store ptr %462, ptr %4, align 8
  %463 = extractvalue { ptr, i32 } %461, 1
  store i32 %463, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  br label %473

464:                                              ; preds = %459, %456
  %465 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %46, i64 noundef 0)
          to label %466 unwind label %401

466:                                              ; preds = %464
  %467 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %465)
          to label %468 unwind label %401

468:                                              ; preds = %466
  br i1 %467, label %469, label %472

469:                                              ; preds = %468
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 1, i1 noundef zeroext true)
          to label %470 unwind label %401

470:                                              ; preds = %469
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %52, i64 noundef 2, i1 noundef zeroext true)
          to label %471 unwind label %401

471:                                              ; preds = %470
  br label %472

472:                                              ; preds = %471, %468
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  ret void

473:                                              ; preds = %460, %430, %401, %397
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %474

474:                                              ; preds = %473, %348, %248
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  br label %475

475:                                              ; preds = %474, %206
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  br label %476

476:                                              ; preds = %475, %164
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  br label %477

477:                                              ; preds = %476, %123, %89
  %478 = load ptr, ptr %4, align 8
  %479 = load i32, ptr %5, align 4
  %480 = insertvalue { ptr, i32 } poison, ptr %478, 0
  %481 = insertvalue { ptr, i32 } %480, i32 %479, 1
  resume { ptr, i32 } %481

482:                                              ; preds = %326, %275, %231, %189, %147, %106, %72
  unreachable
}

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA80_cJRKNS_7element4TypeERA7_KcS5_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(80), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(7), ptr noundef nonnull align 4 dereferenceable(4)) #3

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

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

declare void @__cxa_free_exception(ptr)

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA47_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(47), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA56_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(32)) #3

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJRA51_KcRKNS_9DimensionEEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(68), ptr noundef nonnull align 1 dereferenceable(51), ptr noundef nonnull align 8 dereferenceable(16)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA72_cJRA34_KcRKNS_9DimensionERA7_S2_S7_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(72), ptr noundef nonnull align 1 dereferenceable(34), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(7), ptr noundef nonnull align 8 dereferenceable(16)) #3

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

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #2

declare void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #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)) #2

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

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

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

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

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

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


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

%"class.std::__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.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.78" }
%"class.std::vector.78" = type { %"struct.std::_Vector_base.79" }
%"struct.std::_Vector_base.79" = 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 }

@.str = external hidden unnamed_addr constant [80 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [75 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.4 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [43 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v38ROIAlign24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(700) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %3 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %6 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.ngraph::Dimension", align 8
  %9 = alloca %"class.ngraph::Dimension", align 8
  %10 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %11 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.ngraph::Dimension", align 8
  %14 = alloca %"class.ngraph::Dimension", align 8
  %15 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %16 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.ngraph::Dimension", align 8
  %19 = alloca %"class.ngraph::Dimension", align 8
  %20 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %21 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.ngraph::Dimension", align 8
  %24 = alloca %"class.ngraph::Dimension", align 8
  %25 = alloca %"class.ngraph::Dimension", align 8
  %26 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %27 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.ngraph::Dimension", align 8
  %30 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %31 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.ngraph::PartialShape", align 8
  %34 = alloca [4 x %"class.ngraph::Dimension"], align 8
  %35 = alloca %"class.ngraph::Dimension", align 8
  %36 = alloca %"class.ngraph::Dimension", align 8
  %37 = alloca %"class.ngraph::Dimension", align 8
  %38 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %39 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4) %38)
  br i1 %39, label %40, label %43

40:                                               ; preds = %1
  %41 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  %42 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4) %41)
  br i1 %42, label %64, label %43

43:                                               ; preds = %40, %1
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %2) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %2)
  %44 = getelementptr inbounds i8, ptr %2, i64 16
  %45 = 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 %46 unwind label %57

46:                                               ; preds = %43
  %47 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %48 unwind label %57

48:                                               ; preds = %46
  %49 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA80_cJRKNS_7element4TypeERA7_KcS5_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 1 dereferenceable(80) @.str, ptr noundef nonnull align 4 dereferenceable(4) %45, ptr noundef nonnull align 1 dereferenceable(7) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %47)
          to label %50 unwind label %57

50:                                               ; preds = %48
  %51 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #8
  store ptr @.str.2, ptr %3, align 8, !tbaa !5
  %52 = getelementptr inbounds i8, ptr %3, i64 8
  store i32 68, ptr %52, align 8, !tbaa !11
  %53 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr @.str.3, ptr %53, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, ptr noundef nonnull align 8 dereferenceable(128) %2)
          to label %54 unwind label %.thread

54:                                               ; preds = %50
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %51, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %56 unwind label %.thread99

.thread99:                                        ; preds = %54
  %55 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #8
  br label %62

56:                                               ; preds = %54
  invoke void @__cxa_throw(ptr nonnull %51, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %303 unwind label %60

57:                                               ; preds = %48, %46, %43
  %58 = landingpad { ptr, i32 }
          cleanup
  br label %63

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

60:                                               ; preds = %56
  %61 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #8
  br label %63

62:                                               ; preds = %.thread99, %.thread
  %.pn98 = phi { ptr, i32 } [ %59, %.thread ], [ %55, %.thread99 ]
  call void @__cxa_free_exception(ptr %51) #8
  br label %63

63:                                               ; preds = %60, %62, %57
  %.pn.pn = phi { ptr, i32 } [ %.pn98, %62 ], [ %61, %60 ], [ %58, %57 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %2) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %2) #8
  br label %302

64:                                               ; preds = %40
  %65 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
  %66 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %65)
  br i1 %66, label %86, label %67

67:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %5) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5)
  %68 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %69 unwind label %79

69:                                               ; preds = %67
  %70 = getelementptr inbounds i8, ptr %5, i64 16
  %71 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJRKNS_7element4TypeEEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 1 dereferenceable(68) @.str.4, ptr noundef nonnull align 4 dereferenceable(4) %68)
          to label %72 unwind label %79

72:                                               ; preds = %69
  %73 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #8
  store ptr @.str.2, ptr %6, align 8, !tbaa !5
  %74 = getelementptr inbounds i8, ptr %6, i64 8
  store i32 73, ptr %74, align 8, !tbaa !11
  %75 = getelementptr inbounds i8, ptr %6, i64 16
  store ptr @.str.5, ptr %75, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(128) %5)
          to label %76 unwind label %.thread101

76:                                               ; preds = %72
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %73, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %78 unwind label %.thread105

.thread105:                                       ; preds = %76
  %77 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  br label %84

78:                                               ; preds = %76
  invoke void @__cxa_throw(ptr nonnull %73, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %303 unwind label %82

79:                                               ; preds = %69, %67
  %80 = landingpad { ptr, i32 }
          cleanup
  br label %85

.thread101:                                       ; preds = %72
  %81 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  br label %84

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

84:                                               ; preds = %.thread105, %.thread101
  %.pn71104 = phi { ptr, i32 } [ %81, %.thread101 ], [ %77, %.thread105 ]
  call void @__cxa_free_exception(ptr %73) #8
  br label %85

85:                                               ; preds = %82, %84, %79
  %.pn71.pn = phi { ptr, i32 } [ %.pn71104, %84 ], [ %83, %82 ], [ %80, %79 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %5) #8
  br label %302

86:                                               ; preds = %64
  %87 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #8
  %88 = tail call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %87)
  %89 = extractvalue { i64, i64 } %88, 0
  store i64 %89, ptr %8, align 8
  %90 = getelementptr inbounds i8, ptr %8, i64 8
  %91 = extractvalue { i64, i64 } %88, 1
  store i64 %91, ptr %90, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %9, i64 noundef 4)
  %92 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef nonnull align 8 dereferenceable(16) %9)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #8
  br i1 %92, label %110, label %93

93:                                               ; preds = %86
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %10) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %10)
  %94 = getelementptr inbounds i8, ptr %10, i64 16
  %95 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA47_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %94, ptr noundef nonnull align 1 dereferenceable(47) @.str.6, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %96 unwind label %103

96:                                               ; preds = %93
  %97 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #8
  store ptr @.str.2, ptr %11, align 8, !tbaa !5
  %98 = getelementptr inbounds i8, ptr %11, i64 8
  store i32 79, ptr %98, align 8, !tbaa !11
  %99 = getelementptr inbounds i8, ptr %11, i64 16
  store ptr @.str.7, ptr %99, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(128) %10)
          to label %100 unwind label %.thread107

100:                                              ; preds = %96
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %97, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %102 unwind label %.thread111

.thread111:                                       ; preds = %100
  %101 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #8
  br label %108

102:                                              ; preds = %100
  invoke void @__cxa_throw(ptr nonnull %97, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %303 unwind label %106

103:                                              ; preds = %93
  %104 = landingpad { ptr, i32 }
          cleanup
  br label %109

.thread107:                                       ; preds = %96
  %105 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #8
  br label %108

106:                                              ; preds = %102
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #8
  br label %109

108:                                              ; preds = %.thread111, %.thread107
  %.pn91110 = phi { ptr, i32 } [ %105, %.thread107 ], [ %101, %.thread111 ]
  call void @__cxa_free_exception(ptr %97) #8
  br label %109

109:                                              ; preds = %106, %108, %103
  %.pn91.pn = phi { ptr, i32 } [ %.pn91110, %108 ], [ %107, %106 ], [ %104, %103 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %10) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %10) #8
  br label %302

110:                                              ; preds = %86
  %111 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #8
  %112 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %111)
  %113 = extractvalue { i64, i64 } %112, 0
  store i64 %113, ptr %13, align 8
  %114 = getelementptr inbounds i8, ptr %13, i64 8
  %115 = extractvalue { i64, i64 } %112, 1
  store i64 %115, ptr %114, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %14, i64 noundef 2)
  %116 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(16) %14)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #8
  br i1 %116, label %134, label %117

117:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %15) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %15)
  %118 = getelementptr inbounds i8, ptr %15, i64 16
  %119 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA47_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %118, ptr noundef nonnull align 1 dereferenceable(47) @.str.8, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %120 unwind label %127

120:                                              ; preds = %117
  %121 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #8
  store ptr @.str.2, ptr %16, align 8, !tbaa !5
  %122 = getelementptr inbounds i8, ptr %16, i64 8
  store i32 85, ptr %122, align 8, !tbaa !11
  %123 = getelementptr inbounds i8, ptr %16, i64 16
  store ptr @.str.9, ptr %123, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %124 unwind label %.thread113

124:                                              ; preds = %120
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %121, ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %126 unwind label %.thread117

.thread117:                                       ; preds = %124
  %125 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  br label %132

126:                                              ; preds = %124
  invoke void @__cxa_throw(ptr nonnull %121, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %303 unwind label %130

127:                                              ; preds = %117
  %128 = landingpad { ptr, i32 }
          cleanup
  br label %133

.thread113:                                       ; preds = %120
  %129 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  br label %132

130:                                              ; preds = %126
  %131 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  br label %133

132:                                              ; preds = %.thread117, %.thread113
  %.pn87116 = phi { ptr, i32 } [ %129, %.thread113 ], [ %125, %.thread117 ]
  call void @__cxa_free_exception(ptr %121) #8
  br label %133

133:                                              ; preds = %130, %132, %127
  %.pn87.pn = phi { ptr, i32 } [ %.pn87116, %132 ], [ %131, %130 ], [ %128, %127 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %15) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %15) #8
  br label %302

134:                                              ; preds = %110
  %135 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #8
  %136 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %135)
  %137 = extractvalue { i64, i64 } %136, 0
  store i64 %137, ptr %18, align 8
  %138 = getelementptr inbounds i8, ptr %18, i64 8
  %139 = extractvalue { i64, i64 } %136, 1
  store i64 %139, ptr %138, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %19, i64 noundef 1)
  %140 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %18, ptr noundef nonnull align 8 dereferenceable(16) %19)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #8
  br i1 %140, label %158, label %141

141:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %20) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20)
  %142 = getelementptr inbounds i8, ptr %20, i64 16
  %143 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA56_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull align 1 dereferenceable(56) @.str.10, ptr noundef nonnull align 8 dereferenceable(32) %135)
          to label %144 unwind label %151

144:                                              ; preds = %141
  %145 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #8
  store ptr @.str.2, ptr %21, align 8, !tbaa !5
  %146 = getelementptr inbounds i8, ptr %21, i64 8
  store i32 91, ptr %146, align 8, !tbaa !11
  %147 = getelementptr inbounds i8, ptr %21, i64 16
  store ptr @.str.11, ptr %147, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(128) %20)
          to label %148 unwind label %.thread119

148:                                              ; preds = %144
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %145, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %150 unwind label %.thread123

.thread123:                                       ; preds = %148
  %149 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #8
  br label %156

150:                                              ; preds = %148
  invoke void @__cxa_throw(ptr nonnull %145, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %303 unwind label %154

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

.thread119:                                       ; preds = %144
  %153 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #8
  br label %156

154:                                              ; preds = %150
  %155 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #8
  br label %157

156:                                              ; preds = %.thread123, %.thread119
  %.pn83122 = phi { ptr, i32 } [ %153, %.thread119 ], [ %149, %.thread123 ]
  call void @__cxa_free_exception(ptr %145) #8
  br label %157

157:                                              ; preds = %154, %156, %151
  %.pn83.pn = phi { ptr, i32 } [ %.pn83122, %156 ], [ %155, %154 ], [ %152, %151 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %20) #8
  br label %302

158:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #8
  %159 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %111)
  %160 = extractvalue { i64, i64 } %159, 0
  store i64 %160, ptr %23, align 8
  %161 = getelementptr inbounds i8, ptr %23, i64 8
  %162 = extractvalue { i64, i64 } %159, 1
  store i64 %162, ptr %161, align 8
  %163 = call noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %23)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #8
  br i1 %163, label %164, label %217

164:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #8
  %165 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %111, i64 noundef 1)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 8 dereferenceable(16) %165, i64 16, i1 false), !tbaa.struct !13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %25, i64 noundef 4)
  %166 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 8 dereferenceable(16) %25)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #8
  br i1 %166, label %184, label %167

167:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %26) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %26)
  %168 = getelementptr inbounds i8, ptr %26, i64 16
  %169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJRA51_KcRKNS_9DimensionEEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %168, ptr noundef nonnull align 1 dereferenceable(68) @.str.12, ptr noundef nonnull align 1 dereferenceable(51) @.str.13, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %170 unwind label %177

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

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

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

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

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

.thread125:                                       ; preds = %170
  %179 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  br label %182

180:                                              ; preds = %176
  %181 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  br label %183

182:                                              ; preds = %.thread129, %.thread125
  %.pn79128 = phi { ptr, i32 } [ %179, %.thread125 ], [ %175, %.thread129 ]
  call void @__cxa_free_exception(ptr %171) #8
  br label %183

183:                                              ; preds = %180, %182, %177
  %.pn79.pn = phi { ptr, i32 } [ %.pn79128, %182 ], [ %181, %180 ], [ %178, %177 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %26) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %26) #8
  br label %216

184:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #8
  %185 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %135)
  %186 = extractvalue { i64, i64 } %185, 0
  store i64 %186, ptr %29, align 8
  %187 = getelementptr inbounds i8, ptr %29, i64 8
  %188 = extractvalue { i64, i64 } %185, 1
  store i64 %188, ptr %187, align 8
  %189 = call noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %29)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #8
  br i1 %189, label %190, label %215

190:                                              ; preds = %184
  %191 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %111, i64 noundef 0)
  %192 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %135, i64 noundef 0)
  %193 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %191, ptr noundef nonnull align 8 dereferenceable(16) %192)
  br i1 %193, label %215, label %194

194:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %30) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30)
  %195 = getelementptr inbounds i8, ptr %30, i64 16
  %196 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %111, i64 noundef 0)
          to label %197 unwind label %208

197:                                              ; preds = %194
  %198 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %135, i64 noundef 0)
          to label %199 unwind label %208

199:                                              ; preds = %197
  %200 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA72_cJRA34_KcRKNS_9DimensionERA7_S2_S7_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %195, ptr noundef nonnull align 1 dereferenceable(72) @.str.15, ptr noundef nonnull align 1 dereferenceable(34) @.str.16, ptr noundef nonnull align 8 dereferenceable(16) %196, ptr noundef nonnull align 1 dereferenceable(7) @.str.1, ptr noundef nonnull align 8 dereferenceable(16) %198)
          to label %201 unwind label %208

201:                                              ; preds = %199
  %202 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #8
  store ptr @.str.2, ptr %31, align 8, !tbaa !5
  %203 = getelementptr inbounds i8, ptr %31, i64 8
  store i32 111, ptr %203, align 8, !tbaa !11
  %204 = getelementptr inbounds i8, ptr %31, i64 16
  store ptr @.str.17, ptr %204, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(128) %30)
          to label %205 unwind label %.thread131

205:                                              ; preds = %201
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %202, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %207 unwind label %.thread135

.thread135:                                       ; preds = %205
  %206 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #8
  br label %213

207:                                              ; preds = %205
  invoke void @__cxa_throw(ptr nonnull %202, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %303 unwind label %211

208:                                              ; preds = %199, %197, %194
  %209 = landingpad { ptr, i32 }
          cleanup
  br label %214

.thread131:                                       ; preds = %201
  %210 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #8
  br label %213

211:                                              ; preds = %207
  %212 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #8
  br label %214

213:                                              ; preds = %.thread135, %.thread131
  %.pn74134 = phi { ptr, i32 } [ %210, %.thread131 ], [ %206, %.thread135 ]
  call void @__cxa_free_exception(ptr %202) #8
  br label %214

214:                                              ; preds = %211, %213, %208
  %.pn74.pn = phi { ptr, i32 } [ %.pn74134, %213 ], [ %212, %211 ], [ %209, %208 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %30) #8
  br label %216

215:                                              ; preds = %190, %184
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #8
  br label %217

216:                                              ; preds = %214, %183
  %.pn79.pn.pn = phi { ptr, i32 } [ %.pn79.pn, %183 ], [ %.pn74.pn, %214 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #8
  br label %302

217:                                              ; preds = %215, %158
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %34) #8
  %218 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %219 = extractvalue { i64, i64 } %218, 0
  store i64 %219, ptr %34, align 8
  %220 = getelementptr inbounds i8, ptr %34, i64 8
  %221 = extractvalue { i64, i64 } %218, 1
  store i64 %221, ptr %220, align 8
  %222 = getelementptr inbounds i8, ptr %34, i64 16
  %223 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %87, i64 noundef 1)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %222, ptr noundef nonnull align 8 dereferenceable(16) %223, i64 16, i1 false), !tbaa.struct !13
  %224 = getelementptr inbounds i8, ptr %34, i64 32
  %225 = getelementptr inbounds i8, ptr %0, i64 680
  %226 = load i32, ptr %225, align 8, !tbaa !16
  %227 = sext i32 %226 to i64
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %224, i64 noundef %227)
  %228 = getelementptr inbounds i8, ptr %34, i64 48
  %229 = getelementptr inbounds i8, ptr %0, i64 684
  %230 = load i32, ptr %229, align 4, !tbaa !70
  %231 = sext i32 %230 to i64
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %228, i64 noundef %231)
  call void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr nonnull %34, i64 4)
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %34) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #8
  %232 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %233 unwind label %249

233:                                              ; preds = %217
  %234 = extractvalue { i64, i64 } %232, 0
  store i64 %234, ptr %35, align 8
  %235 = getelementptr inbounds i8, ptr %35, i64 8
  %236 = extractvalue { i64, i64 } %232, 1
  store i64 %236, ptr %235, align 8
  %237 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %238 unwind label %249

238:                                              ; preds = %233
  br i1 %237, label %239, label %.critedge

239:                                              ; preds = %238
  %240 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %111, i64 noundef 0)
          to label %241 unwind label %249

241:                                              ; preds = %239
  %242 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %240)
          to label %243 unwind label %249

243:                                              ; preds = %241
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  br i1 %242, label %244, label %253

244:                                              ; preds = %243
  %245 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %111, i64 noundef 0)
          to label %246 unwind label %251

246:                                              ; preds = %244
  %247 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %33, i64 noundef 0)
          to label %248 unwind label %251

248:                                              ; preds = %246
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %247, ptr noundef nonnull align 8 dereferenceable(16) %245, i64 16, i1 false), !tbaa.struct !13
  br label %273

249:                                              ; preds = %241, %239, %233, %217
  %250 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  br label %301

251:                                              ; preds = %299, %298, %295, %293, %290, %276, %274, %273, %268, %266, %246, %244
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %301

.critedge:                                        ; preds = %238
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  br label %253

253:                                              ; preds = %.critedge, %243
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36) #8
  %254 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %135)
          to label %255 unwind label %271

255:                                              ; preds = %253
  %256 = extractvalue { i64, i64 } %254, 0
  store i64 %256, ptr %36, align 8
  %257 = getelementptr inbounds i8, ptr %36, i64 8
  %258 = extractvalue { i64, i64 } %254, 1
  store i64 %258, ptr %257, align 8
  %259 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %260 unwind label %271

260:                                              ; preds = %255
  br i1 %259, label %261, label %.critedge2

261:                                              ; preds = %260
  %262 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %135, i64 noundef 0)
          to label %263 unwind label %271

263:                                              ; preds = %261
  %264 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %262)
          to label %265 unwind label %271

265:                                              ; preds = %263
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #8
  br i1 %264, label %266, label %273

266:                                              ; preds = %265
  %267 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %135, i64 noundef 0)
          to label %268 unwind label %251

268:                                              ; preds = %266
  %269 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %33, i64 noundef 0)
          to label %270 unwind label %251

270:                                              ; preds = %268
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %269, ptr noundef nonnull align 8 dereferenceable(16) %267, i64 16, i1 false), !tbaa.struct !13
  br label %273

271:                                              ; preds = %263, %261, %255, %253
  %272 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #8
  br label %301

.critedge2:                                       ; preds = %260
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #8
  br label %273

273:                                              ; preds = %265, %270, %.critedge2, %248
  invoke void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %274 unwind label %251

274:                                              ; preds = %273
  %275 = 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 %276 unwind label %251

276:                                              ; preds = %274
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %275, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %277 unwind label %251

277:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #8
  %278 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %279 unwind label %291

279:                                              ; preds = %277
  %280 = extractvalue { i64, i64 } %278, 0
  store i64 %280, ptr %37, align 8
  %281 = getelementptr inbounds i8, ptr %37, i64 8
  %282 = extractvalue { i64, i64 } %278, 1
  store i64 %282, ptr %281, align 8
  %283 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %284 unwind label %291

284:                                              ; preds = %279
  br i1 %283, label %285, label %.critedge4

285:                                              ; preds = %284
  %286 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %87, i64 noundef 1)
          to label %287 unwind label %291

287:                                              ; preds = %285
  %288 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %286)
          to label %289 unwind label %291

289:                                              ; preds = %287
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  br i1 %288, label %290, label %293

290:                                              ; preds = %289
  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 %293 unwind label %251

291:                                              ; preds = %287, %285, %279, %277
  %292 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  br label %301

.critedge4:                                       ; preds = %284
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  br label %293

293:                                              ; preds = %290, %.critedge4, %289
  %294 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %33, i64 noundef 0)
          to label %295 unwind label %251

295:                                              ; preds = %293
  %296 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %294)
          to label %297 unwind label %251

297:                                              ; preds = %295
  br i1 %296, label %298, label %300

298:                                              ; preds = %297
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1, i1 noundef zeroext true)
          to label %299 unwind label %251

299:                                              ; preds = %298
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2, i1 noundef zeroext true)
          to label %300 unwind label %251

300:                                              ; preds = %299, %297
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  ret void

301:                                              ; preds = %291, %271, %251, %249
  %.pn77 = phi { ptr, i32 } [ %252, %251 ], [ %292, %291 ], [ %272, %271 ], [ %250, %249 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  br label %302

302:                                              ; preds = %109, %157, %216, %301, %133, %85, %63
  %.pn91.pn.pn.pn = phi { ptr, i32 } [ %.pn71.pn, %85 ], [ %.pn.pn, %63 ], [ %.pn91.pn, %109 ], [ %.pn87.pn, %133 ], [ %.pn83.pn, %157 ], [ %.pn79.pn.pn, %216 ], [ %.pn77, %301 ]
  resume { ptr, i32 } %.pn91.pn.pn.pn

303:                                              ; preds = %207, %176, %150, %126, %102, %78, %56
  unreachable
}

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

declare noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA80_cJRKNS_7element4TypeERA7_KcS5_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(80), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(7), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA47_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(47), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA56_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJRA51_KcRKNS_9DimensionEEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(68), ptr noundef nonnull align 1 dereferenceable(51), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA72_cJRA34_KcRKNS_9DimensionERA7_S2_S7_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(72), ptr noundef nonnull align 1 dereferenceable(34), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(7), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

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

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #2

declare void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) local_unnamed_addr #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 #2

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

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

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

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

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

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


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,SROAPass,SimplifyCFGPass,TailCallElimPass