; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/pad.ll (ZN6ngraph2op2v03Pad24validate_and_infer_typesEv)

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

%"class.ngraph::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::__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::PartialShape" = type { i8, %"class.std::vector.88" }
%"class.std::vector.88" = type { %"struct.std::_Vector_base.89" }
%"struct.std::_Vector_base.89" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::allocator.90" = type { i8 }
%"class.ngraph::op::v0::Pad" = type <{ %"class.ngraph::op::Op", %"class.ngraph::CoordinateDiff", %"class.ngraph::CoordinateDiff", %"class.ngraph::Shape", 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" }
%"class.ngraph::CoordinateDiff" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.74" }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str = external hidden unnamed_addr constant [57 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [86 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.5 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [69 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 nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v03Pad24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(756) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.ngraph::element::Type", align 4
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %7 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca i1, align 1
  %10 = alloca %"class.ngraph::PartialShape", align 8
  %11 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %12 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca i1, align 1
  %15 = alloca %"class.ngraph::PartialShape", 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 i64, 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 %"class.std::vector.88", align 8
  %28 = alloca %"class.ngraph::Dimension", align 8
  %29 = alloca %"class.std::allocator.90", align 1
  %30 = alloca %"class.ngraph::Dimension", align 8
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %34 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca i1, align 1
  %37 = alloca %"class.ngraph::Dimension", align 8
  %38 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %39 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca i1, align 1
  %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
  store ptr %0, ptr %2, align 8, !tbaa !5
  %47 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #8
  call void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3)
  br label %48

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

50:                                               ; preds = %48
  %51 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 1)
          to label %52 unwind label %70

52:                                               ; preds = %50
  %53 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %49, ptr noundef nonnull align 4 dereferenceable(4) %51)
          to label %54 unwind label %70

54:                                               ; preds = %52
  br i1 %53, label %96, label %55

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

56:                                               ; preds = %55
  %57 = getelementptr inbounds i8, ptr %6, i64 16
  %58 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 0)
          to label %59 unwind label %78

59:                                               ; preds = %56
  %60 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 1)
          to label %61 unwind label %78

61:                                               ; preds = %59
  %62 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA57_cJRKNS_7element4TypeERA22_KcS5_RA3_S6_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 1 dereferenceable(57) @.str, ptr noundef nonnull align 4 dereferenceable(4) %58, ptr noundef nonnull align 1 dereferenceable(22) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %60, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %63 unwind label %78

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

68:                                               ; preds = %63
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %64, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %69 unwind label %86

69:                                               ; preds = %68
  store i1 false, ptr %9, align 1
  invoke void @__cxa_throw(ptr %64, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %510 unwind label %86

70:                                               ; preds = %99, %52, %50, %48
  %71 = landingpad { ptr, i32 }
          cleanup
  %72 = extractvalue { ptr, i32 } %71, 0
  store ptr %72, ptr %4, align 8
  %73 = extractvalue { ptr, i32 } %71, 1
  store i32 %73, ptr %5, align 4
  br label %504

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

78:                                               ; preds = %61, %59, %56
  %79 = landingpad { ptr, i32 }
          cleanup
  %80 = extractvalue { ptr, i32 } %79, 0
  store ptr %80, ptr %4, align 8
  %81 = extractvalue { ptr, i32 } %79, 1
  store i32 %81, ptr %5, align 4
  br label %94

82:                                               ; preds = %63
  %83 = landingpad { ptr, i32 }
          cleanup
  %84 = extractvalue { ptr, i32 } %83, 0
  store ptr %84, ptr %4, align 8
  %85 = extractvalue { ptr, i32 } %83, 1
  store i32 %85, ptr %5, align 4
  br label %90

86:                                               ; preds = %69, %68
  %87 = landingpad { ptr, i32 }
          cleanup
  %88 = extractvalue { ptr, i32 } %87, 0
  store ptr %88, ptr %4, align 8
  %89 = extractvalue { ptr, i32 } %87, 1
  store i32 %89, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  br label %90

90:                                               ; preds = %86, %82
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #8
  %91 = load i1, ptr %9, align 1
  br i1 %91, label %92, label %93

92:                                               ; preds = %90
  call void @__cxa_free_exception(ptr %64) #8
  br label %93

93:                                               ; preds = %92, %90
  br label %94

94:                                               ; preds = %93, %78
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6) #8
  br label %95

95:                                               ; preds = %94, %74
  call void @llvm.lifetime.end.p0(i64 392, ptr %6) #8
  br label %504

96:                                               ; preds = %54
  br label %97

97:                                               ; preds = %96
  br label %98

98:                                               ; preds = %97
  br label %99

99:                                               ; preds = %98
  %100 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 1)
          to label %101 unwind label %70

101:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #8
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %102 unwind label %119

102:                                              ; preds = %101
  %103 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %104 unwind label %123

104:                                              ; preds = %102
  %105 = xor i1 %103, true
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  br i1 %105, label %106, label %150

106:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 392, ptr %11) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %11)
          to label %107 unwind label %128

107:                                              ; preds = %106
  %108 = getelementptr inbounds i8, ptr %11, i64 16
  %109 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 1)
          to label %110 unwind label %132

110:                                              ; preds = %107
  %111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA52_cJRKNS_12PartialShapeERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef nonnull align 1 dereferenceable(52) @.str.5, ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %112 unwind label %132

112:                                              ; preds = %110
  store i1 true, ptr %14, align 1
  %113 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #8
  %114 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %12, i32 0, i32 0
  store ptr @.str.3, ptr %114, align 8, !tbaa !9
  %115 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %12, i32 0, i32 1
  store i32 58, ptr %115, align 8, !tbaa !12
  %116 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %12, i32 0, i32 2
  store ptr @.str.6, ptr %116, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(128) %11)
          to label %117 unwind label %136

117:                                              ; preds = %112
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %113, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %118 unwind label %140

118:                                              ; preds = %117
  store i1 false, ptr %14, align 1
  invoke void @__cxa_throw(ptr %113, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %510 unwind label %140

119:                                              ; preds = %101
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %4, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %5, align 4
  br label %127

123:                                              ; preds = %102
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %4, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  br label %127

127:                                              ; preds = %123, %119
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  br label %504

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

132:                                              ; preds = %110, %107
  %133 = landingpad { ptr, i32 }
          cleanup
  %134 = extractvalue { ptr, i32 } %133, 0
  store ptr %134, ptr %4, align 8
  %135 = extractvalue { ptr, i32 } %133, 1
  store i32 %135, ptr %5, align 4
  br label %148

136:                                              ; preds = %112
  %137 = landingpad { ptr, i32 }
          cleanup
  %138 = extractvalue { ptr, i32 } %137, 0
  store ptr %138, ptr %4, align 8
  %139 = extractvalue { ptr, i32 } %137, 1
  store i32 %139, ptr %5, align 4
  br label %144

140:                                              ; preds = %118, %117
  %141 = landingpad { ptr, i32 }
          cleanup
  %142 = extractvalue { ptr, i32 } %141, 0
  store ptr %142, ptr %4, align 8
  %143 = extractvalue { ptr, i32 } %141, 1
  store i32 %143, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  br label %144

144:                                              ; preds = %140, %136
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #8
  %145 = load i1, ptr %14, align 1
  br i1 %145, label %146, label %147

146:                                              ; preds = %144
  call void @__cxa_free_exception(ptr %113) #8
  br label %147

147:                                              ; preds = %146, %144
  br label %148

148:                                              ; preds = %147, %132
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %11) #8
  br label %149

149:                                              ; preds = %148, %128
  call void @llvm.lifetime.end.p0(i64 392, ptr %11) #8
  br label %504

150:                                              ; preds = %104
  br label %151

151:                                              ; preds = %150
  br label %152

152:                                              ; preds = %151
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #8
  %153 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 0)
          to label %154 unwind label %175

154:                                              ; preds = %152
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %155 unwind label %175

155:                                              ; preds = %154
  br label %156

156:                                              ; preds = %155
  %157 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 1
  %158 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %157) #8
  %159 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 2
  %160 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %159) #8
  %161 = icmp eq i64 %158, %160
  br i1 %161, label %201, label %162

162:                                              ; preds = %156
  call void @llvm.lifetime.start.p0(i64 392, ptr %16) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16)
          to label %163 unwind label %179

163:                                              ; preds = %162
  %164 = getelementptr inbounds i8, ptr %16, i64 16
  %165 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 1
  %166 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 2
  %167 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA26_cJRNS_14CoordinateDiffERA22_KcS3_RA16_S4_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull align 1 dereferenceable(26) @.str.7, ptr noundef nonnull align 8 dereferenceable(24) %165, ptr noundef nonnull align 1 dereferenceable(22) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %166, ptr noundef nonnull align 1 dereferenceable(16) @.str.9)
          to label %168 unwind label %183

168:                                              ; preds = %163
  store i1 true, ptr %19, align 1
  %169 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  %170 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 0
  store ptr @.str.3, ptr %170, align 8, !tbaa !9
  %171 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 1
  store i32 68, ptr %171, align 8, !tbaa !12
  %172 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 2
  store ptr @.str.10, ptr %172, 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 %173 unwind label %187

173:                                              ; preds = %168
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %169, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %174 unwind label %191

174:                                              ; preds = %173
  store i1 false, ptr %19, align 1
  invoke void @__cxa_throw(ptr %169, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %510 unwind label %191

175:                                              ; preds = %154, %152
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %4, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %5, align 4
  br label %503

179:                                              ; preds = %162
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %4, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %5, align 4
  br label %200

183:                                              ; preds = %163
  %184 = landingpad { ptr, i32 }
          cleanup
  %185 = extractvalue { ptr, i32 } %184, 0
  store ptr %185, ptr %4, align 8
  %186 = extractvalue { ptr, i32 } %184, 1
  store i32 %186, ptr %5, align 4
  br label %199

187:                                              ; preds = %168
  %188 = landingpad { ptr, i32 }
          cleanup
  %189 = extractvalue { ptr, i32 } %188, 0
  store ptr %189, ptr %4, align 8
  %190 = extractvalue { ptr, i32 } %188, 1
  store i32 %190, ptr %5, align 4
  br label %195

191:                                              ; preds = %174, %173
  %192 = landingpad { ptr, i32 }
          cleanup
  %193 = extractvalue { ptr, i32 } %192, 0
  store ptr %193, ptr %4, align 8
  %194 = extractvalue { ptr, i32 } %192, 1
  store i32 %194, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  br label %195

195:                                              ; preds = %191, %187
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  %196 = load i1, ptr %19, align 1
  br i1 %196, label %197, label %198

197:                                              ; preds = %195
  call void @__cxa_free_exception(ptr %169) #8
  br label %198

198:                                              ; preds = %197, %195
  br label %199

199:                                              ; preds = %198, %183
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16) #8
  br label %200

200:                                              ; preds = %199, %179
  call void @llvm.lifetime.end.p0(i64 392, ptr %16) #8
  br label %502

201:                                              ; preds = %156
  br label %202

202:                                              ; preds = %201
  br label %203

203:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #8
  %204 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 1
  %205 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %204) #8
  store i64 %205, ptr %20, align 8, !tbaa !14
  br label %206

206:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #8
  %207 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %208 unwind label %232

208:                                              ; preds = %206
  %209 = getelementptr inbounds %"class.ngraph::Dimension", ptr %21, i32 0, i32 0
  %210 = getelementptr inbounds { i64, i64 }, ptr %209, i32 0, i32 0
  %211 = extractvalue { i64, i64 } %207, 0
  store i64 %211, ptr %210, align 8
  %212 = getelementptr inbounds { i64, i64 }, ptr %209, i32 0, i32 1
  %213 = extractvalue { i64, i64 } %207, 1
  store i64 %213, ptr %212, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #8
  %214 = load i64, ptr %20, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %22, i64 noundef %214)
          to label %215 unwind label %236

215:                                              ; preds = %208
  %216 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %217 unwind label %236

217:                                              ; preds = %215
  %218 = xor i1 %216, 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 %218, label %219, label %263

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

220:                                              ; preds = %219
  %221 = getelementptr inbounds i8, ptr %23, i64 16
  %222 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 1
  %223 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 2
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA71_cJRA31_KcRNS_14CoordinateDiffERA18_S2_S6_RA3_S2_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %221, ptr noundef nonnull align 1 dereferenceable(71) @.str.11, ptr noundef nonnull align 1 dereferenceable(31) @.str.12, ptr noundef nonnull align 8 dereferenceable(24) %222, ptr noundef nonnull align 1 dereferenceable(18) @.str.13, ptr noundef nonnull align 8 dereferenceable(24) %223, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %225 unwind label %245

225:                                              ; preds = %220
  store i1 true, ptr %26, align 1
  %226 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #8
  %227 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 0
  store ptr @.str.3, ptr %227, align 8, !tbaa !9
  %228 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 1
  store i32 79, ptr %228, align 8, !tbaa !12
  %229 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 2
  store ptr @.str.14, ptr %229, 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 %230 unwind label %249

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) %24, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %231 unwind label %253

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

232:                                              ; preds = %206
  %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 %240

236:                                              ; preds = %215, %208
  %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
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #8
  br label %240

240:                                              ; preds = %236, %232
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #8
  br label %501

241:                                              ; preds = %219
  %242 = landingpad { ptr, i32 }
          cleanup
  %243 = extractvalue { ptr, i32 } %242, 0
  store ptr %243, ptr %4, align 8
  %244 = extractvalue { ptr, i32 } %242, 1
  store i32 %244, ptr %5, align 4
  br label %262

245:                                              ; preds = %220
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %4, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %5, align 4
  br label %261

249:                                              ; preds = %225
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %4, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %5, align 4
  br label %257

253:                                              ; preds = %231, %230
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %4, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %257

257:                                              ; preds = %253, %249
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #8
  %258 = load i1, ptr %26, align 1
  br i1 %258, label %259, label %260

259:                                              ; preds = %257
  call void @__cxa_free_exception(ptr %226) #8
  br label %260

260:                                              ; preds = %259, %257
  br label %261

261:                                              ; preds = %260, %245
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23) #8
  br label %262

262:                                              ; preds = %261, %241
  call void @llvm.lifetime.end.p0(i64 392, ptr %23) #8
  br label %501

263:                                              ; preds = %217
  br label %264

264:                                              ; preds = %263
  br label %265

265:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 24, ptr %27) #8
  %266 = load i64, ptr %20, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #8
  %267 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %268 unwind label %290

268:                                              ; preds = %265
  %269 = getelementptr inbounds %"class.ngraph::Dimension", ptr %28, i32 0, i32 0
  %270 = getelementptr inbounds { i64, i64 }, ptr %269, i32 0, i32 0
  %271 = extractvalue { i64, i64 } %267, 0
  store i64 %271, ptr %270, align 8
  %272 = getelementptr inbounds { i64, i64 }, ptr %269, i32 0, i32 1
  %273 = extractvalue { i64, i64 } %267, 1
  store i64 %273, ptr %272, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %29) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2EmRKS1_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef %266, ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %274 unwind label %294

274:                                              ; preds = %268
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #8
  %275 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %276 unwind label %299

276:                                              ; preds = %274
  %277 = getelementptr inbounds %"class.ngraph::Dimension", ptr %30, i32 0, i32 0
  %278 = getelementptr inbounds { i64, i64 }, ptr %277, i32 0, i32 0
  %279 = extractvalue { i64, i64 } %275, 0
  store i64 %279, ptr %278, align 8
  %280 = getelementptr inbounds { i64, i64 }, ptr %277, i32 0, i32 1
  %281 = extractvalue { i64, i64 } %275, 1
  store i64 %281, ptr %280, align 8
  %282 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %283 unwind label %299

283:                                              ; preds = %276
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #8
  br i1 %282, label %284, label %487

284:                                              ; preds = %283
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  store i64 0, ptr %31, align 8, !tbaa !14
  br label %285

285:                                              ; preds = %482, %284
  %286 = load i64, ptr %31, align 8, !tbaa !14
  %287 = load i64, ptr %20, align 8, !tbaa !14
  %288 = icmp ult i64 %286, %287
  br i1 %288, label %303, label %289

289:                                              ; preds = %285
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %486

290:                                              ; preds = %265
  %291 = landingpad { ptr, i32 }
          cleanup
  %292 = extractvalue { ptr, i32 } %291, 0
  store ptr %292, ptr %4, align 8
  %293 = extractvalue { ptr, i32 } %291, 1
  store i32 %293, ptr %5, align 4
  br label %298

294:                                              ; preds = %268
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %4, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #8
  br label %298

298:                                              ; preds = %294, %290
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #8
  br label %500

299:                                              ; preds = %276, %274
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %4, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #8
  br label %499

303:                                              ; preds = %285
  %304 = load i64, ptr %31, align 8, !tbaa !14
  %305 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %15, i64 noundef %304)
          to label %306 unwind label %341

306:                                              ; preds = %303
  %307 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %305)
          to label %308 unwind label %341

308:                                              ; preds = %306
  br i1 %307, label %309, label %481

309:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #8
  %310 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 1
  %311 = load i64, ptr %31, align 8, !tbaa !14
  %312 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %310, i64 noundef %311) #8
  %313 = load i64, ptr %312, align 8, !tbaa !14
  %314 = load i64, ptr %31, align 8, !tbaa !14
  %315 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %15, i64 noundef %314)
          to label %316 unwind label %345

316:                                              ; preds = %309
  %317 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %315)
          to label %318 unwind label %345

318:                                              ; preds = %316
  %319 = add nsw i64 %313, %317
  %320 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 2
  %321 = load i64, ptr %31, align 8, !tbaa !14
  %322 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %320, i64 noundef %321) #8
  %323 = load i64, ptr %322, align 8, !tbaa !14
  %324 = add nsw i64 %319, %323
  store i64 %324, ptr %32, align 8, !tbaa !14
  br label %325

325:                                              ; preds = %318
  %326 = load i64, ptr %32, align 8, !tbaa !14
  %327 = icmp sge i64 %326, 0
  br i1 %327, label %371, label %328

328:                                              ; preds = %325
  call void @llvm.lifetime.start.p0(i64 392, ptr %33) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %33)
          to label %329 unwind label %349

329:                                              ; preds = %328
  %330 = getelementptr inbounds i8, ptr %33, i64 16
  %331 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 1
  %332 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 2
  %333 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA35_cJRmRA44_KcRNS_14CoordinateDiffERA3_S3_RA18_S3_S7_S9_EEERSoSC_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %330, ptr noundef nonnull align 1 dereferenceable(35) @.str.15, ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 1 dereferenceable(44) @.str.16, ptr noundef nonnull align 8 dereferenceable(24) %331, ptr noundef nonnull align 1 dereferenceable(3) @.str.17, ptr noundef nonnull align 1 dereferenceable(18) @.str.13, ptr noundef nonnull align 8 dereferenceable(24) %332, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %334 unwind label %353

334:                                              ; preds = %329
  store i1 true, ptr %36, align 1
  %335 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #8
  %336 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 0
  store ptr @.str.3, ptr %336, align 8, !tbaa !9
  %337 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 1
  store i32 100, ptr %337, align 8, !tbaa !12
  %338 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 2
  store ptr @.str.18, ptr %338, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(128) %33)
          to label %339 unwind label %357

339:                                              ; preds = %334
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %335, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %340 unwind label %361

340:                                              ; preds = %339
  store i1 false, ptr %36, align 1
  invoke void @__cxa_throw(ptr %335, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %510 unwind label %361

341:                                              ; preds = %306, %303
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %4, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %5, align 4
  br label %485

345:                                              ; preds = %439, %436, %388, %385, %316, %309
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %4, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %5, align 4
  br label %480

349:                                              ; preds = %328
  %350 = landingpad { ptr, i32 }
          cleanup
  %351 = extractvalue { ptr, i32 } %350, 0
  store ptr %351, ptr %4, align 8
  %352 = extractvalue { ptr, i32 } %350, 1
  store i32 %352, ptr %5, align 4
  br label %370

353:                                              ; preds = %329
  %354 = landingpad { ptr, i32 }
          cleanup
  %355 = extractvalue { ptr, i32 } %354, 0
  store ptr %355, ptr %4, align 8
  %356 = extractvalue { ptr, i32 } %354, 1
  store i32 %356, ptr %5, align 4
  br label %369

357:                                              ; preds = %334
  %358 = landingpad { ptr, i32 }
          cleanup
  %359 = extractvalue { ptr, i32 } %358, 0
  store ptr %359, ptr %4, align 8
  %360 = extractvalue { ptr, i32 } %358, 1
  store i32 %360, ptr %5, align 4
  br label %365

361:                                              ; preds = %340, %339
  %362 = landingpad { ptr, i32 }
          cleanup
  %363 = extractvalue { ptr, i32 } %362, 0
  store ptr %363, ptr %4, align 8
  %364 = extractvalue { ptr, i32 } %362, 1
  store i32 %364, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %365

365:                                              ; preds = %361, %357
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #8
  %366 = load i1, ptr %36, align 1
  br i1 %366, label %367, label %368

367:                                              ; preds = %365
  call void @__cxa_free_exception(ptr %335) #8
  br label %368

368:                                              ; preds = %367, %365
  br label %369

369:                                              ; preds = %368, %353
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %33) #8
  br label %370

370:                                              ; preds = %369, %349
  call void @llvm.lifetime.end.p0(i64 392, ptr %33) #8
  br label %480

371:                                              ; preds = %325
  br label %372

372:                                              ; preds = %371
  br label %373

373:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #8
  %374 = load i64, ptr %32, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %37, i64 noundef %374)
          to label %375 unwind label %403

375:                                              ; preds = %373
  %376 = load i64, ptr %31, align 8, !tbaa !14
  %377 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef %376) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %377, ptr align 8 %37, i64 16, i1 false), !tbaa.struct !16
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #8
  %378 = load i64, ptr %31, align 8, !tbaa !14
  %379 = icmp ugt i64 %378, 1
  br i1 %379, label %380, label %479

380:                                              ; preds = %375
  br label %381

381:                                              ; preds = %380
  %382 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 4
  %383 = load i32, ptr %382, align 8, !tbaa !17
  %384 = icmp ne i32 %383, 1
  br i1 %384, label %429, label %385

385:                                              ; preds = %381
  %386 = load i64, ptr %31, align 8, !tbaa !14
  %387 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %15, i64 noundef %386)
          to label %388 unwind label %345

388:                                              ; preds = %385
  %389 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %387)
          to label %390 unwind label %345

390:                                              ; preds = %388
  %391 = icmp sge i64 %389, 1
  br i1 %391, label %429, label %392

392:                                              ; preds = %390
  call void @llvm.lifetime.start.p0(i64 392, ptr %38) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38)
          to label %393 unwind label %407

393:                                              ; preds = %392
  %394 = getelementptr inbounds i8, ptr %38, i64 16
  %395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA85_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %394, ptr noundef nonnull align 1 dereferenceable(85) @.str.19)
          to label %396 unwind label %411

396:                                              ; preds = %393
  store i1 true, ptr %41, align 1
  %397 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %39) #8
  %398 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %39, i32 0, i32 0
  store ptr @.str.3, ptr %398, align 8, !tbaa !9
  %399 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %39, i32 0, i32 1
  store i32 108, ptr %399, align 8, !tbaa !12
  %400 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %39, i32 0, i32 2
  store ptr @.str.20, ptr %400, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(128) %38)
          to label %401 unwind label %415

401:                                              ; preds = %396
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %397, ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %402 unwind label %419

402:                                              ; preds = %401
  store i1 false, ptr %41, align 1
  invoke void @__cxa_throw(ptr %397, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %510 unwind label %419

403:                                              ; preds = %373
  %404 = landingpad { ptr, i32 }
          cleanup
  %405 = extractvalue { ptr, i32 } %404, 0
  store ptr %405, ptr %4, align 8
  %406 = extractvalue { ptr, i32 } %404, 1
  store i32 %406, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #8
  br label %480

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

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

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

419:                                              ; preds = %402, %401
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %4, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  br label %423

423:                                              ; preds = %419, %415
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  %424 = load i1, ptr %41, align 1
  br i1 %424, label %425, label %426

425:                                              ; preds = %423
  call void @__cxa_free_exception(ptr %397) #8
  br label %426

426:                                              ; preds = %425, %423
  br label %427

427:                                              ; preds = %426, %411
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38) #8
  br label %428

428:                                              ; preds = %427, %407
  call void @llvm.lifetime.end.p0(i64 392, ptr %38) #8
  br label %480

429:                                              ; preds = %390, %381
  br label %430

430:                                              ; preds = %429
  br label %431

431:                                              ; preds = %430
  br label %432

432:                                              ; preds = %431
  %433 = getelementptr inbounds %"class.ngraph::op::v0::Pad", ptr %47, i32 0, i32 4
  %434 = load i32, ptr %433, align 8, !tbaa !17
  %435 = icmp ne i32 %434, 2
  br i1 %435, label %476, label %436

436:                                              ; preds = %432
  %437 = load i64, ptr %31, align 8, !tbaa !14
  %438 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %15, i64 noundef %437)
          to label %439 unwind label %345

439:                                              ; preds = %436
  %440 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %438)
          to label %441 unwind label %345

441:                                              ; preds = %439
  %442 = icmp sge i64 %440, 2
  br i1 %442, label %476, label %443

443:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 392, ptr %42) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %42)
          to label %444 unwind label %454

444:                                              ; preds = %443
  %445 = getelementptr inbounds i8, ptr %42, i64 16
  %446 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA88_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %445, ptr noundef nonnull align 1 dereferenceable(88) @.str.21)
          to label %447 unwind label %458

447:                                              ; preds = %444
  store i1 true, ptr %45, align 1
  %448 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #8
  %449 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 0
  store ptr @.str.3, ptr %449, align 8, !tbaa !9
  %450 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 1
  store i32 113, ptr %450, align 8, !tbaa !12
  %451 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 2
  store ptr @.str.22, ptr %451, 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 %452 unwind label %462

452:                                              ; preds = %447
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %448, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %453 unwind label %466

453:                                              ; preds = %452
  store i1 false, ptr %45, align 1
  invoke void @__cxa_throw(ptr %448, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %510 unwind label %466

454:                                              ; preds = %443
  %455 = landingpad { ptr, i32 }
          cleanup
  %456 = extractvalue { ptr, i32 } %455, 0
  store ptr %456, ptr %4, align 8
  %457 = extractvalue { ptr, i32 } %455, 1
  store i32 %457, ptr %5, align 4
  br label %475

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

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

466:                                              ; preds = %453, %452
  %467 = landingpad { ptr, i32 }
          cleanup
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %4, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %470

470:                                              ; preds = %466, %462
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  %471 = load i1, ptr %45, align 1
  br i1 %471, label %472, label %473

472:                                              ; preds = %470
  call void @__cxa_free_exception(ptr %448) #8
  br label %473

473:                                              ; preds = %472, %470
  br label %474

474:                                              ; preds = %473, %458
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %42) #8
  br label %475

475:                                              ; preds = %474, %454
  call void @llvm.lifetime.end.p0(i64 392, ptr %42) #8
  br label %480

476:                                              ; preds = %441, %432
  br label %477

477:                                              ; preds = %476
  br label %478

478:                                              ; preds = %477
  br label %479

479:                                              ; preds = %478, %375
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  br label %481

480:                                              ; preds = %475, %428, %403, %370, %345
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  br label %485

481:                                              ; preds = %479, %308
  br label %482

482:                                              ; preds = %481
  %483 = load i64, ptr %31, align 8, !tbaa !14
  %484 = add i64 %483, 1
  store i64 %484, ptr %31, align 8, !tbaa !14
  br label %285, !llvm.loop !81

485:                                              ; preds = %480, %341
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %499

486:                                              ; preds = %289
  br label %487

487:                                              ; preds = %486, %283
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %488 unwind label %490

488:                                              ; preds = %487
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %47, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %489 unwind label %494

489:                                              ; preds = %488
  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 @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #8
  ret void

490:                                              ; preds = %487
  %491 = landingpad { ptr, i32 }
          cleanup
  %492 = extractvalue { ptr, i32 } %491, 0
  store ptr %492, ptr %4, align 8
  %493 = extractvalue { ptr, i32 } %491, 1
  store i32 %493, ptr %5, align 4
  br label %498

494:                                              ; preds = %488
  %495 = landingpad { ptr, i32 }
          cleanup
  %496 = extractvalue { ptr, i32 } %495, 0
  store ptr %496, ptr %4, align 8
  %497 = extractvalue { ptr, i32 } %495, 1
  store i32 %497, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %498

498:                                              ; preds = %494, %490
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %499

499:                                              ; preds = %498, %485, %299
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #8
  br label %500

500:                                              ; preds = %499, %298
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #8
  br label %501

501:                                              ; preds = %500, %262, %240
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  br label %502

502:                                              ; preds = %501, %200
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  br label %503

503:                                              ; preds = %502, %175
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #8
  br label %504

504:                                              ; preds = %503, %149, %127, %95, %70
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #8
  br label %505

505:                                              ; preds = %504
  %506 = load ptr, ptr %4, align 8
  %507 = load i32, ptr %5, align 4
  %508 = insertvalue { ptr, i32 } poison, ptr %506, 0
  %509 = insertvalue { ptr, i32 } %508, i32 %507, 1
  resume { ptr, i32 } %509

510:                                              ; preds = %453, %402, %340, %231, %174, %118, %69
  unreachable
}

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

declare noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #3

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

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

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

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA26_cJRNS_14CoordinateDiffERA22_KcS3_RA16_S4_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(26), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(22), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(16)) #4

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA71_cJRA31_KcRNS_14CoordinateDiffERA18_S2_S6_RA3_S2_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(71), ptr noundef nonnull align 1 dereferenceable(31), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(18), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(3)) #4

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

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

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

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

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

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

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

declare noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(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_streamIA35_cJRmRA44_KcRNS_14CoordinateDiffERA3_S3_RA18_S3_S7_S9_EEERSoSC_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(35), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(44), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 1 dereferenceable(18), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(3)) #4

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

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

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

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

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

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
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 = !{!15, !15, i64 0}
!15 = !{!"long", !7, i64 0}
!16 = !{i64 0, i64 8, !14, i64 8, i64 8, !14}
!17 = !{!18, !80, i64 752}
!18 = !{!"_ZTSN6ngraph2op2v03PadE", !19, i64 0, !70, i64 680, !70, i64 704, !75, i64 728, !80, i64 752}
!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, !15, 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, !15, i64 8, !27, i64 16, !15, 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, !15, 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, !15, 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, !15, i64 8, !27, i64 16, !15, 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, !15, 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, !15, 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, !15, 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, !15, i64 8, !27, i64 16, !15, 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 = !{!"_ZTSN6ngraph14CoordinateDiffE", !71, i64 0}
!71 = !{!"_ZTSSt6vectorIlSaIlEE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!75 = !{!"_ZTSN6ngraph5ShapeE", !76, i64 0}
!76 = !{!"_ZTSSt6vectorImSaImEE", !77, i64 0}
!77 = !{!"_ZTSSt12_Vector_baseImSaImEE", !78, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !79, i64 0}
!79 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!80 = !{!"_ZTSN6ngraph2op7PadModeE", !7, i64 0}
!81 = distinct !{!81, !82}
!82 = !{!"llvm.loop.mustprogress"}


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

%"class.ngraph::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::__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::PartialShape" = type { i8, %"class.std::vector.88" }
%"class.std::vector.88" = type { %"struct.std::_Vector_base.89" }
%"struct.std::_Vector_base.89" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::allocator.90" = type { i8 }

@.str = external hidden unnamed_addr constant [57 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [86 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.5 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [69 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 nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v03Pad24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(756) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::element::Type", align 4
  %3 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %4 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.ngraph::PartialShape", align 8
  %7 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %8 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.ngraph::PartialShape", align 8
  %11 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %12 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", 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 %"class.std::vector.88", align 8
  %20 = alloca %"class.ngraph::Dimension", align 8
  %21 = alloca %"class.std::allocator.90", align 1
  %22 = alloca %"class.ngraph::Dimension", align 8
  %23 = alloca i64, align 8
  %24 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %25 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.ngraph::Dimension", align 8
  %28 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %29 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %32 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.ngraph::PartialShape", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #8
  call void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2)
  %35 = 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 %36 unwind label %56

36:                                               ; preds = %1
  %37 = 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 %38 unwind label %56

38:                                               ; preds = %36
  %39 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 4 dereferenceable(4) %35, ptr noundef nonnull align 4 dereferenceable(4) %37)
          to label %40 unwind label %56

40:                                               ; preds = %38
  br i1 %39, label %68, label %41

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

42:                                               ; preds = %41
  %43 = getelementptr inbounds i8, ptr %3, i64 16
  %44 = 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 %45 unwind label %60

45:                                               ; preds = %42
  %46 = 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 %47 unwind label %60

47:                                               ; preds = %45
  %48 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA57_cJRKNS_7element4TypeERA22_KcS5_RA3_S6_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 1 dereferenceable(57) @.str, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 1 dereferenceable(22) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %49 unwind label %60

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

53:                                               ; preds = %49
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %50, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %55 unwind label %.thread108

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

55:                                               ; preds = %53
  invoke void @__cxa_throw(ptr nonnull %50, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %343 unwind label %63

56:                                               ; preds = %68, %38, %36, %1
  %57 = landingpad { ptr, i32 }
          cleanup
  br label %342

58:                                               ; preds = %41
  %59 = landingpad { ptr, i32 }
          cleanup
  br label %67

60:                                               ; preds = %47, %45, %42
  %61 = landingpad { ptr, i32 }
          cleanup
  br label %66

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

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

65:                                               ; preds = %.thread108, %.thread
  %.pn107 = phi { ptr, i32 } [ %62, %.thread ], [ %54, %.thread108 ]
  call void @__cxa_free_exception(ptr %50) #8
  br label %66

66:                                               ; preds = %63, %65, %60
  %.pn.pn = phi { ptr, i32 } [ %.pn107, %65 ], [ %64, %63 ], [ %61, %60 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3) #8
  br label %67

67:                                               ; preds = %66, %58
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %66 ], [ %59, %58 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %3) #8
  br label %342

68:                                               ; preds = %40
  %69 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %70 unwind label %56

70:                                               ; preds = %68
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #8
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %71 unwind label %87

71:                                               ; preds = %70
  %72 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %73 unwind label %89

73:                                               ; preds = %71
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #8
  br i1 %72, label %102, label %74

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

75:                                               ; preds = %74
  %76 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %77 unwind label %94

77:                                               ; preds = %75
  %78 = getelementptr inbounds i8, ptr %7, i64 16
  %79 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA52_cJRKNS_12PartialShapeERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef nonnull align 1 dereferenceable(52) @.str.5, ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %80 unwind label %94

80:                                               ; preds = %77
  %81 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #8
  store ptr @.str.3, ptr %8, align 8, !tbaa !5
  %82 = getelementptr inbounds i8, ptr %8, i64 8
  store i32 58, ptr %82, align 8, !tbaa !11
  %83 = getelementptr inbounds i8, ptr %8, i64 16
  store ptr @.str.6, ptr %83, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(128) %7)
          to label %84 unwind label %.thread110

84:                                               ; preds = %80
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %81, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %86 unwind label %.thread114

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

86:                                               ; preds = %84
  invoke void @__cxa_throw(ptr nonnull %81, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %343 unwind label %97

87:                                               ; preds = %70
  %88 = landingpad { ptr, i32 }
          cleanup
  br label %91

89:                                               ; preds = %71
  %90 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #8
  br label %91

91:                                               ; preds = %89, %87
  %.pn66 = phi { ptr, i32 } [ %90, %89 ], [ %88, %87 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #8
  br label %342

92:                                               ; preds = %74
  %93 = landingpad { ptr, i32 }
          cleanup
  br label %101

94:                                               ; preds = %77, %75
  %95 = landingpad { ptr, i32 }
          cleanup
  br label %100

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

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

99:                                               ; preds = %.thread114, %.thread110
  %.pn100113 = phi { ptr, i32 } [ %96, %.thread110 ], [ %85, %.thread114 ]
  call void @__cxa_free_exception(ptr %81) #8
  br label %100

100:                                              ; preds = %97, %99, %94
  %.pn100.pn = phi { ptr, i32 } [ %.pn100113, %99 ], [ %98, %97 ], [ %95, %94 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7) #8
  br label %101

101:                                              ; preds = %100, %92
  %.pn100.pn.pn = phi { ptr, i32 } [ %.pn100.pn, %100 ], [ %93, %92 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %7) #8
  br label %342

102:                                              ; preds = %73
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #8
  %103 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %104 unwind label %122

104:                                              ; preds = %102
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %105 unwind label %122

105:                                              ; preds = %104
  %106 = getelementptr inbounds i8, ptr %0, i64 680
  %107 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %106) #8
  %108 = getelementptr inbounds i8, ptr %0, i64 704
  %109 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %108) #8
  %110 = icmp eq i64 %107, %109
  br i1 %110, label %134, label %111

111:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %11) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %11)
          to label %112 unwind label %124

112:                                              ; preds = %111
  %113 = getelementptr inbounds i8, ptr %11, i64 16
  %114 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA26_cJRNS_14CoordinateDiffERA22_KcS3_RA16_S4_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %113, ptr noundef nonnull align 1 dereferenceable(26) @.str.7, ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef nonnull align 1 dereferenceable(22) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %108, ptr noundef nonnull align 1 dereferenceable(16) @.str.9)
          to label %115 unwind label %126

115:                                              ; preds = %112
  %116 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #8
  store ptr @.str.3, ptr %12, align 8, !tbaa !5
  %117 = getelementptr inbounds i8, ptr %12, i64 8
  store i32 68, ptr %117, align 8, !tbaa !11
  %118 = getelementptr inbounds i8, ptr %12, i64 16
  store ptr @.str.10, ptr %118, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(128) %11)
          to label %119 unwind label %.thread116

119:                                              ; preds = %115
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %116, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %121 unwind label %.thread120

.thread120:                                       ; preds = %119
  %120 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #8
  br label %131

121:                                              ; preds = %119
  invoke void @__cxa_throw(ptr nonnull %116, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %343 unwind label %129

122:                                              ; preds = %104, %102
  %123 = landingpad { ptr, i32 }
          cleanup
  br label %341

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

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

.thread116:                                       ; preds = %115
  %128 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #8
  br label %131

129:                                              ; preds = %121
  %130 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #8
  br label %132

131:                                              ; preds = %.thread120, %.thread116
  %.pn68119 = phi { ptr, i32 } [ %128, %.thread116 ], [ %120, %.thread120 ]
  call void @__cxa_free_exception(ptr %116) #8
  br label %132

132:                                              ; preds = %129, %131, %126
  %.pn68.pn = phi { ptr, i32 } [ %.pn68119, %131 ], [ %130, %129 ], [ %127, %126 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %11) #8
  br label %133

133:                                              ; preds = %132, %124
  %.pn68.pn.pn = phi { ptr, i32 } [ %.pn68.pn, %132 ], [ %125, %124 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %11) #8
  br label %340

134:                                              ; preds = %105
  %135 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %106) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #8
  %136 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %137 unwind label %155

137:                                              ; preds = %134
  %138 = extractvalue { i64, i64 } %136, 0
  store i64 %138, ptr %14, align 8
  %139 = getelementptr inbounds i8, ptr %14, i64 8
  %140 = extractvalue { i64, i64 } %136, 1
  store i64 %140, ptr %139, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %15, i64 noundef %135)
          to label %141 unwind label %157

141:                                              ; preds = %137
  %142 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %143 unwind label %157

143:                                              ; preds = %141
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  br i1 %142, label %170, label %144

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

145:                                              ; preds = %144
  %146 = getelementptr inbounds i8, ptr %16, i64 16
  %147 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA71_cJRA31_KcRNS_14CoordinateDiffERA18_S2_S6_RA3_S2_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %146, ptr noundef nonnull align 1 dereferenceable(71) @.str.11, ptr noundef nonnull align 1 dereferenceable(31) @.str.12, ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef nonnull align 1 dereferenceable(18) @.str.13, ptr noundef nonnull align 8 dereferenceable(24) %108, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %148 unwind label %162

148:                                              ; preds = %145
  %149 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #8
  store ptr @.str.3, ptr %17, align 8, !tbaa !5
  %150 = getelementptr inbounds i8, ptr %17, i64 8
  store i32 79, ptr %150, align 8, !tbaa !11
  %151 = getelementptr inbounds i8, ptr %17, i64 16
  store ptr @.str.14, ptr %151, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(128) %16)
          to label %152 unwind label %.thread122

152:                                              ; preds = %148
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %149, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %154 unwind label %.thread126

.thread126:                                       ; preds = %152
  %153 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  br label %167

154:                                              ; preds = %152
  invoke void @__cxa_throw(ptr nonnull %149, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %343 unwind label %165

155:                                              ; preds = %134
  %156 = landingpad { ptr, i32 }
          cleanup
  br label %159

157:                                              ; preds = %141, %137
  %158 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  br label %159

159:                                              ; preds = %157, %155
  %.pn72 = phi { ptr, i32 } [ %158, %157 ], [ %156, %155 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  br label %340

160:                                              ; preds = %144
  %161 = landingpad { ptr, i32 }
          cleanup
  br label %169

162:                                              ; preds = %145
  %163 = landingpad { ptr, i32 }
          cleanup
  br label %168

.thread122:                                       ; preds = %148
  %164 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  br label %167

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

167:                                              ; preds = %.thread126, %.thread122
  %.pn93125 = phi { ptr, i32 } [ %164, %.thread122 ], [ %153, %.thread126 ]
  call void @__cxa_free_exception(ptr %149) #8
  br label %168

168:                                              ; preds = %165, %167, %162
  %.pn93.pn = phi { ptr, i32 } [ %.pn93125, %167 ], [ %166, %165 ], [ %163, %162 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16) #8
  br label %169

169:                                              ; preds = %168, %160
  %.pn93.pn.pn = phi { ptr, i32 } [ %.pn93.pn, %168 ], [ %161, %160 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %16) #8
  br label %340

170:                                              ; preds = %143
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #8
  %171 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %172 = extractvalue { i64, i64 } %171, 0
  store i64 %172, ptr %20, align 8
  %173 = getelementptr inbounds i8, ptr %20, i64 8
  %174 = extractvalue { i64, i64 } %171, 1
  store i64 %174, ptr %173, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2EmRKS1_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %135, ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %175 unwind label %226

175:                                              ; preds = %170
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #8
  %176 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %177 unwind label %228

177:                                              ; preds = %175
  %178 = extractvalue { i64, i64 } %176, 0
  store i64 %178, ptr %22, align 8
  %179 = getelementptr inbounds i8, ptr %22, i64 8
  %180 = extractvalue { i64, i64 } %176, 1
  store i64 %180, ptr %179, align 8
  %181 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %182 unwind label %228

182:                                              ; preds = %177
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #8
  br i1 %181, label %183, label %330

183:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #8
  store i64 0, ptr %23, align 8, !tbaa !13
  %.not147 = icmp eq i64 %135, 0
  br i1 %.not147, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %183
  %184 = getelementptr inbounds i8, ptr %0, i64 752
  %185 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %10, i64 noundef 0)
          to label %186 unwind label %.loopexit.split-lp

186:                                              ; preds = %.lr.ph
  %187 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %185)
          to label %188 unwind label %.loopexit.split-lp

188:                                              ; preds = %186
  br i1 %187, label %189, label %204

189:                                              ; preds = %188
  %190 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef 0) #8
  %191 = load i64, ptr %190, align 8, !tbaa !13
  %192 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %10, i64 noundef 0)
          to label %193 unwind label %.loopexit.split-lp155

193:                                              ; preds = %189
  %194 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %192)
          to label %195 unwind label %.loopexit.split-lp155

195:                                              ; preds = %193
  %196 = add nsw i64 %194, %191
  %197 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef 0) #8
  %198 = load i64, ptr %197, align 8, !tbaa !13
  %199 = add nsw i64 %196, %198
  %200 = icmp sgt i64 %199, -1
  br i1 %200, label %201, label %.loopexit159

201:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %27, i64 noundef %199)
          to label %202 unwind label %.loopexit.split-lp161

202:                                              ; preds = %201
  %203 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef 0) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %203, ptr noundef nonnull align 8 dereferenceable(16) %27, i64 16, i1 false), !tbaa.struct !15
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  br label %204

204:                                              ; preds = %202, %188
  store i64 1, ptr %23, align 8, !tbaa !13
  %.not167 = icmp eq i64 %135, 1
  br i1 %.not167, label %._crit_edge, label %.peel.next

.peel.next:                                       ; preds = %204
  %205 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %10, i64 noundef 1)
          to label %206 unwind label %.loopexit.split-lp

206:                                              ; preds = %.peel.next
  %207 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %205)
          to label %208 unwind label %.loopexit.split-lp

208:                                              ; preds = %206
  br i1 %207, label %209, label %224

209:                                              ; preds = %208
  %210 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef 1) #8
  %211 = load i64, ptr %210, align 8, !tbaa !13
  %212 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %10, i64 noundef 1)
          to label %213 unwind label %.loopexit.split-lp155

213:                                              ; preds = %209
  %214 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %212)
          to label %215 unwind label %.loopexit.split-lp155

215:                                              ; preds = %213
  %216 = add nsw i64 %214, %211
  %217 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef 1) #8
  %218 = load i64, ptr %217, align 8, !tbaa !13
  %219 = add nsw i64 %216, %218
  %220 = icmp sgt i64 %219, -1
  br i1 %220, label %221, label %.loopexit159

221:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %27, i64 noundef %219)
          to label %222 unwind label %.loopexit.split-lp161

222:                                              ; preds = %221
  %223 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef 1) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %223, ptr noundef nonnull align 8 dereferenceable(16) %27, i64 16, i1 false), !tbaa.struct !15
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  br label %224

224:                                              ; preds = %222, %208
  store i64 2, ptr %23, align 8, !tbaa !13
  %225 = icmp ugt i64 %135, 2
  br i1 %225, label %.lr.ph.peel.newph, label %._crit_edge

._crit_edge:                                      ; preds = %204, %224, %326, %183
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  br label %330

226:                                              ; preds = %170
  %227 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  br label %339

228:                                              ; preds = %177, %175
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #8
  br label %338

.lr.ph.peel.newph:                                ; preds = %224, %326
  %230 = phi i64 [ %327, %326 ], [ 2, %224 ]
  %231 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %10, i64 noundef %230)
          to label %232 unwind label %.loopexit

232:                                              ; preds = %.lr.ph.peel.newph
  %233 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %231)
          to label %234 unwind label %.loopexit

234:                                              ; preds = %232
  br i1 %233, label %235, label %326

235:                                              ; preds = %234
  %236 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %230) #8
  %237 = load i64, ptr %236, align 8, !tbaa !13
  %238 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %10, i64 noundef %230)
          to label %239 unwind label %.loopexit154

239:                                              ; preds = %235
  %240 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %238)
          to label %241 unwind label %.loopexit154

241:                                              ; preds = %239
  %242 = add nsw i64 %240, %237
  %243 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %230) #8
  %244 = load i64, ptr %243, align 8, !tbaa !13
  %245 = add nsw i64 %242, %244
  %246 = icmp sgt i64 %245, -1
  br i1 %246, label %267, label %.loopexit159

.loopexit159:                                     ; preds = %241, %215, %195
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %24) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %247 unwind label %257

247:                                              ; preds = %.loopexit159
  %248 = getelementptr inbounds i8, ptr %24, i64 16
  %249 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA35_cJRmRA44_KcRNS_14CoordinateDiffERA3_S3_RA18_S3_S7_S9_EEERSoSC_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %248, ptr noundef nonnull align 1 dereferenceable(35) @.str.15, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 1 dereferenceable(44) @.str.16, ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef nonnull align 1 dereferenceable(3) @.str.17, ptr noundef nonnull align 1 dereferenceable(18) @.str.13, ptr noundef nonnull align 8 dereferenceable(24) %108, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %250 unwind label %259

250:                                              ; preds = %247
  %251 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #8
  store ptr @.str.3, ptr %25, align 8, !tbaa !5
  %252 = getelementptr inbounds i8, ptr %25, i64 8
  store i32 100, ptr %252, align 8, !tbaa !11
  %253 = getelementptr inbounds i8, ptr %25, i64 16
  store ptr @.str.18, ptr %253, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %254 unwind label %.thread128

254:                                              ; preds = %250
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %251, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %256 unwind label %.thread132

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

256:                                              ; preds = %254
  invoke void @__cxa_throw(ptr nonnull %251, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %343 unwind label %262

.loopexit:                                        ; preds = %.lr.ph.peel.newph, %232
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %329

.loopexit.split-lp:                               ; preds = %.lr.ph, %186, %.peel.next, %206
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %329

.loopexit154:                                     ; preds = %235, %239, %271, %273, %300, %302
  %lpad.loopexit156 = landingpad { ptr, i32 }
          cleanup
  br label %329

.loopexit.split-lp155:                            ; preds = %189, %193, %209, %213
  %lpad.loopexit.split-lp157 = landingpad { ptr, i32 }
          cleanup
  br label %329

257:                                              ; preds = %.loopexit159
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %266

259:                                              ; preds = %247
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %265

.thread128:                                       ; preds = %250
  %261 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #8
  br label %264

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

264:                                              ; preds = %.thread132, %.thread128
  %.pn76131 = phi { ptr, i32 } [ %261, %.thread128 ], [ %255, %.thread132 ]
  call void @__cxa_free_exception(ptr %251) #8
  br label %265

265:                                              ; preds = %262, %264, %259
  %.pn76.pn = phi { ptr, i32 } [ %.pn76131, %264 ], [ %263, %262 ], [ %260, %259 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24) #8
  br label %266

266:                                              ; preds = %265, %257
  %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %265 ], [ %258, %257 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %24) #8
  br label %329

267:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %27, i64 noundef %245)
          to label %268 unwind label %.loopexit160

268:                                              ; preds = %267
  %269 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %230) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %269, ptr noundef nonnull align 8 dereferenceable(16) %27, i64 16, i1 false), !tbaa.struct !15
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  %270 = load i32, ptr %184, align 8, !tbaa !16
  %.not = icmp eq i32 %270, 1
  br i1 %.not, label %271, label %298

271:                                              ; preds = %268
  %272 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %10, i64 noundef %230)
          to label %273 unwind label %.loopexit154

273:                                              ; preds = %271
  %274 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %272)
          to label %275 unwind label %.loopexit154

275:                                              ; preds = %273
  %276 = icmp sgt i64 %274, 0
  br i1 %276, label %thread-pre-split, label %.loopexit165

.loopexit165:                                     ; preds = %275
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %28) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %277 unwind label %288

277:                                              ; preds = %.loopexit165
  %278 = getelementptr inbounds i8, ptr %28, i64 16
  %279 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA85_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %278, ptr noundef nonnull align 1 dereferenceable(85) @.str.19)
          to label %280 unwind label %290

280:                                              ; preds = %277
  %281 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #8
  store ptr @.str.3, ptr %29, align 8, !tbaa !5
  %282 = getelementptr inbounds i8, ptr %29, i64 8
  store i32 108, ptr %282, align 8, !tbaa !11
  %283 = getelementptr inbounds i8, ptr %29, i64 16
  store ptr @.str.20, ptr %283, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %284 unwind label %.thread134

284:                                              ; preds = %280
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %281, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %286 unwind label %.thread138

.thread138:                                       ; preds = %284
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %295

286:                                              ; preds = %284
  invoke void @__cxa_throw(ptr nonnull %281, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %343 unwind label %293

.loopexit160:                                     ; preds = %267
  %lpad.loopexit162 = landingpad { ptr, i32 }
          cleanup
  br label %287

.loopexit.split-lp161:                            ; preds = %201, %221
  %lpad.loopexit.split-lp163 = landingpad { ptr, i32 }
          cleanup
  br label %287

287:                                              ; preds = %.loopexit.split-lp161, %.loopexit160
  %lpad.phi164 = phi { ptr, i32 } [ %lpad.loopexit162, %.loopexit160 ], [ %lpad.loopexit.split-lp163, %.loopexit.split-lp161 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  br label %329

288:                                              ; preds = %.loopexit165
  %289 = landingpad { ptr, i32 }
          cleanup
  br label %297

290:                                              ; preds = %277
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %296

.thread134:                                       ; preds = %280
  %292 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %295

293:                                              ; preds = %286
  %294 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %296

295:                                              ; preds = %.thread138, %.thread134
  %.pn80137 = phi { ptr, i32 } [ %292, %.thread134 ], [ %285, %.thread138 ]
  call void @__cxa_free_exception(ptr %281) #8
  br label %296

296:                                              ; preds = %293, %295, %290
  %.pn80.pn = phi { ptr, i32 } [ %.pn80137, %295 ], [ %294, %293 ], [ %291, %290 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28) #8
  br label %297

297:                                              ; preds = %296, %288
  %.pn80.pn.pn = phi { ptr, i32 } [ %.pn80.pn, %296 ], [ %289, %288 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %28) #8
  br label %329

thread-pre-split:                                 ; preds = %275
  %.pr = load i32, ptr %184, align 8, !tbaa !16
  br label %298

298:                                              ; preds = %thread-pre-split, %268
  %299 = phi i32 [ %.pr, %thread-pre-split ], [ %270, %268 ]
  %.not84 = icmp eq i32 %299, 2
  br i1 %.not84, label %300, label %326

300:                                              ; preds = %298
  %301 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %10, i64 noundef %230)
          to label %302 unwind label %.loopexit154

302:                                              ; preds = %300
  %303 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %301)
          to label %304 unwind label %.loopexit154

304:                                              ; preds = %302
  %305 = icmp sgt i64 %303, 1
  br i1 %305, label %326, label %.loopexit166

.loopexit166:                                     ; preds = %304
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %31) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %31)
          to label %306 unwind label %316

306:                                              ; preds = %.loopexit166
  %307 = getelementptr inbounds i8, ptr %31, i64 16
  %308 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA88_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %307, ptr noundef nonnull align 1 dereferenceable(88) @.str.21)
          to label %309 unwind label %318

309:                                              ; preds = %306
  %310 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #8
  store ptr @.str.3, ptr %32, align 8, !tbaa !5
  %311 = getelementptr inbounds i8, ptr %32, i64 8
  store i32 113, ptr %311, align 8, !tbaa !11
  %312 = getelementptr inbounds i8, ptr %32, i64 16
  store ptr @.str.22, ptr %312, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(128) %31)
          to label %313 unwind label %.thread140

313:                                              ; preds = %309
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %310, ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %315 unwind label %.thread144

.thread144:                                       ; preds = %313
  %314 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #8
  br label %323

315:                                              ; preds = %313
  invoke void @__cxa_throw(ptr nonnull %310, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %343 unwind label %321

316:                                              ; preds = %.loopexit166
  %317 = landingpad { ptr, i32 }
          cleanup
  br label %325

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

.thread140:                                       ; preds = %309
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #8
  br label %323

321:                                              ; preds = %315
  %322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #8
  br label %324

323:                                              ; preds = %.thread144, %.thread140
  %.pn85143 = phi { ptr, i32 } [ %320, %.thread140 ], [ %314, %.thread144 ]
  call void @__cxa_free_exception(ptr %310) #8
  br label %324

324:                                              ; preds = %321, %323, %318
  %.pn85.pn = phi { ptr, i32 } [ %.pn85143, %323 ], [ %322, %321 ], [ %319, %318 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %31) #8
  br label %325

325:                                              ; preds = %324, %316
  %.pn85.pn.pn = phi { ptr, i32 } [ %.pn85.pn, %324 ], [ %317, %316 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %31) #8
  br label %329

326:                                              ; preds = %304, %298, %234
  %327 = add nuw i64 %230, 1
  store i64 %327, ptr %23, align 8, !tbaa !13
  %328 = icmp ult i64 %327, %135
  br i1 %328, label %.lr.ph.peel.newph, label %._crit_edge, !llvm.loop !80

329:                                              ; preds = %.loopexit154, %.loopexit.split-lp155, %.loopexit, %.loopexit.split-lp, %266, %287, %297, %325
  %.pn85.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn85.pn.pn, %325 ], [ %.pn80.pn.pn, %297 ], [ %lpad.phi164, %287 ], [ %.pn76.pn.pn, %266 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ], [ %lpad.loopexit156, %.loopexit154 ], [ %lpad.loopexit.split-lp157, %.loopexit.split-lp155 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  br label %338

330:                                              ; preds = %._crit_edge, %182
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(24) %19)
          to label %331 unwind label %333

331:                                              ; preds = %330
  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) %2, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %332 unwind label %335

332:                                              ; preds = %331
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  ret void

333:                                              ; preds = %330
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %337

335:                                              ; preds = %331
  %336 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  br label %337

337:                                              ; preds = %335, %333
  %.pn74 = phi { ptr, i32 } [ %336, %335 ], [ %334, %333 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #8
  br label %338

338:                                              ; preds = %337, %329, %228
  %.pn85.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn85.pn.pn.pn.pn, %329 ], [ %.pn74, %337 ], [ %229, %228 ]
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  br label %339

339:                                              ; preds = %338, %226
  %.pn85.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn85.pn.pn.pn.pn.pn, %338 ], [ %227, %226 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  br label %340

340:                                              ; preds = %159, %169, %339, %133
  %.pn93.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn68.pn.pn, %133 ], [ %.pn93.pn.pn, %169 ], [ %.pn85.pn.pn.pn.pn.pn.pn, %339 ], [ %.pn72, %159 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  br label %341

341:                                              ; preds = %340, %122
  %.pn93.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn.pn.pn, %340 ], [ %123, %122 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  br label %342

342:                                              ; preds = %341, %101, %91, %67, %56
  %.pn100.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn, %101 ], [ %.pn93.pn.pn.pn.pn.pn, %341 ], [ %.pn66, %91 ], [ %57, %56 ], [ %.pn.pn.pn, %67 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  resume { ptr, i32 } %.pn100.pn.pn.pn

343:                                              ; preds = %315, %286, %256, %154, %121, %86, %55
  unreachable
}

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA26_cJRNS_14CoordinateDiffERA22_KcS3_RA16_S4_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(26), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(22), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(16)) local_unnamed_addr #4

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA71_cJRA31_KcRNS_14CoordinateDiffERA18_S2_S6_RA3_S2_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(71), ptr noundef nonnull align 1 dereferenceable(31), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(18), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(3)) local_unnamed_addr #4

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

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

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

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

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

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

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

declare noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(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_streamIA35_cJRmRA44_KcRNS_14CoordinateDiffERA3_S3_RA18_S3_S7_S9_EEERSoSC_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(35), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(44), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 1 dereferenceable(18), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(3)) local_unnamed_addr #4

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

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

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

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

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

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 #7 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
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 = !{!14, !14, i64 0}
!14 = !{!"long", !8, i64 0}
!15 = !{i64 0, i64 8, !13, i64 8, i64 8, !13}
!16 = !{!17, !79, i64 752}
!17 = !{!"_ZTSN6ngraph2op2v03PadE", !18, i64 0, !69, i64 680, !69, i64 704, !74, i64 728, !79, i64 752}
!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, !14, 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, !14, i64 8, !26, i64 16, !14, 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, !14, 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, !14, 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, !14, i64 8, !26, i64 16, !14, 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, !14, 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, !14, 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, !14, 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, !14, i64 8, !26, i64 16, !14, 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 = !{!"_ZTSN6ngraph14CoordinateDiffE", !70, i64 0}
!70 = !{!"_ZTSSt6vectorIlSaIlEE", !71, i64 0}
!71 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!74 = !{!"_ZTSN6ngraph5ShapeE", !75, i64 0}
!75 = !{!"_ZTSSt6vectorImSaImEE", !76, i64 0}
!76 = !{!"_ZTSSt12_Vector_baseImSaImEE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !78, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!79 = !{!"_ZTSN6ngraph2op7PadModeE", !8, i64 0}
!80 = distinct !{!80, !81, !82}
!81 = !{!"llvm.loop.mustprogress"}
!82 = !{!"llvm.loop.peeled.count", i32 2}


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