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

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.84", i64 }
%"class.std::shared_ptr.84" = type { %"class.std::__shared_ptr.85" }
%"class.std::__shared_ptr.85" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"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::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::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::v1::Pad" = type <{ %"class.ngraph::op::Op", 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::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [77 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.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
@.str.25 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [62 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) #5 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 #5 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16)) #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) #2 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)) #6

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op2v13Pad14get_pads_beginEv(ptr dead_on_unwind noalias writable sret(%"class.ngraph::CoordinateDiff") align 8, ptr noundef nonnull align 8 dereferenceable(684)) #5 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op2v13Pad12get_pads_endEv(ptr dead_on_unwind noalias writable sret(%"class.ngraph::CoordinateDiff") align 8, ptr noundef nonnull align 8 dereferenceable(684)) #5 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v13Pad24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(684) %0) unnamed_addr #5 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 ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca i8, align 1
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %13 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca i1, align 1
  %16 = alloca %"class.ngraph::PartialShape", align 8
  %17 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %18 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca i1, align 1
  %21 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %22 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca i1, align 1
  %25 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %26 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca i1, align 1
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca %"class.ngraph::Dimension", align 8
  %32 = alloca %"class.ngraph::Dimension", 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 ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca %"class.ngraph::Dimension", align 8
  %40 = alloca %"class.ngraph::Dimension", align 8
  %41 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %42 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca i1, align 1
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca %"class.ngraph::Dimension", align 8
  %48 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %49 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca i1, align 1
  %52 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %53 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca i1, align 1
  %56 = alloca ptr, align 8
  %57 = alloca %"class.ngraph::CoordinateDiff", align 8
  %58 = alloca ptr, align 8
  %59 = alloca %"class.ngraph::CoordinateDiff", align 8
  %60 = alloca %"class.std::shared_ptr.84", align 8
  %61 = alloca %"class.ngraph::Output", align 8
  %62 = alloca %"class.std::shared_ptr.84", align 8
  %63 = alloca %"class.ngraph::Output", align 8
  %64 = alloca i64, align 8
  %65 = alloca %"class.std::vector.88", align 8
  %66 = alloca %"class.ngraph::Dimension", align 8
  %67 = alloca %"class.std::allocator.90", align 1
  %68 = alloca i64, align 8
  %69 = alloca i64, align 8
  %70 = alloca %"class.ngraph::Dimension", align 8
  %71 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %72 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca i1, align 1
  %75 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %76 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca i1, align 1
  %79 = alloca %"class.ngraph::PartialShape", align 8
  %80 = alloca %"class.ngraph::PartialShape", align 8
  %81 = alloca %"class.ngraph::Dimension", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %82 = 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)
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #8
  %83 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 0)
          to label %84 unwind label %122

84:                                               ; preds = %1
  store ptr %83, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #8
  %85 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 1)
          to label %86 unwind label %126

86:                                               ; preds = %84
  store ptr %85, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #8
  %87 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 2)
          to label %88 unwind label %130

88:                                               ; preds = %86
  store ptr %87, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #8
  %89 = invoke noundef i64 @_ZNK6ngraph4Node14get_input_sizeEv(ptr noundef nonnull align 8 dereferenceable(680) %82)
          to label %90 unwind label %134

90:                                               ; preds = %88
  %91 = icmp eq i64 %89, 4
  %92 = zext i1 %91 to i8
  store i8 %92, ptr %9, align 1, !tbaa !9
  %93 = getelementptr inbounds %"class.ngraph::op::v1::Pad", ptr %82, i32 0, i32 1
  %94 = load i32, ptr %93, align 8, !tbaa !11
  %95 = icmp eq i32 %94, 0
  br i1 %95, label %96, label %225

96:                                               ; preds = %90
  %97 = load i8, ptr %9, align 1, !tbaa !9, !range !67, !noundef !68
  %98 = trunc i8 %97 to i1
  br i1 %98, label %99, label %225

99:                                               ; preds = %96
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  %100 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 3)
          to label %101 unwind label %138

101:                                              ; preds = %99
  store ptr %100, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #8
  %102 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 3)
          to label %103 unwind label %142

103:                                              ; preds = %101
  store ptr %102, ptr %11, align 8, !tbaa !5
  br label %104

104:                                              ; preds = %103
  %105 = load ptr, ptr %4, align 8, !tbaa !5
  %106 = load ptr, ptr %10, align 8, !tbaa !5
  %107 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %105, ptr noundef nonnull align 4 dereferenceable(4) %106)
          to label %108 unwind label %142

108:                                              ; preds = %104
  br i1 %107, label %168, label %109

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

110:                                              ; preds = %109
  %111 = getelementptr inbounds i8, ptr %12, i64 16
  %112 = load ptr, ptr %4, align 8, !tbaa !5
  %113 = load ptr, ptr %10, align 8, !tbaa !5
  %114 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA62_cJRKNS_7element4TypeERA25_KcS5_RA3_S6_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef nonnull align 1 dereferenceable(62) @.str.25, ptr noundef nonnull align 4 dereferenceable(4) %112, ptr noundef nonnull align 1 dereferenceable(25) @.str.26, ptr noundef nonnull align 4 dereferenceable(4) %113, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %115 unwind label %150

115:                                              ; preds = %110
  store i1 true, ptr %15, align 1
  %116 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #8
  %117 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 0
  store ptr @.str.3, ptr %117, align 8, !tbaa !69
  %118 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 1
  store i32 251, ptr %118, align 8, !tbaa !71
  %119 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 2
  store ptr @.str.27, ptr %119, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(128) %12)
          to label %120 unwind label %154

120:                                              ; 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) %13, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %121 unwind label %158

121:                                              ; preds = %120
  store i1 false, ptr %15, align 1
  invoke void @__cxa_throw(ptr %116, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %158

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

126:                                              ; preds = %84
  %127 = landingpad { ptr, i32 }
          cleanup
  %128 = extractvalue { ptr, i32 } %127, 0
  store ptr %128, ptr %5, align 8
  %129 = extractvalue { ptr, i32 } %127, 1
  store i32 %129, ptr %6, align 4
  br label %863

130:                                              ; preds = %86
  %131 = landingpad { ptr, i32 }
          cleanup
  %132 = extractvalue { ptr, i32 } %131, 0
  store ptr %132, ptr %5, align 8
  %133 = extractvalue { ptr, i32 } %131, 1
  store i32 %133, ptr %6, align 4
  br label %862

134:                                              ; preds = %267, %226, %88
  %135 = landingpad { ptr, i32 }
          cleanup
  %136 = extractvalue { ptr, i32 } %135, 0
  store ptr %136, ptr %5, align 8
  %137 = extractvalue { ptr, i32 } %135, 1
  store i32 %137, ptr %6, align 4
  br label %861

138:                                              ; preds = %99
  %139 = landingpad { ptr, i32 }
          cleanup
  %140 = extractvalue { ptr, i32 } %139, 0
  store ptr %140, ptr %5, align 8
  %141 = extractvalue { ptr, i32 } %139, 1
  store i32 %141, ptr %6, align 4
  br label %224

142:                                              ; preds = %104, %101
  %143 = landingpad { ptr, i32 }
          cleanup
  %144 = extractvalue { ptr, i32 } %143, 0
  store ptr %144, ptr %5, align 8
  %145 = extractvalue { ptr, i32 } %143, 1
  store i32 %145, ptr %6, align 4
  br label %223

146:                                              ; preds = %109
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %5, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %6, align 4
  br label %167

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

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

158:                                              ; preds = %121, %120
  %159 = landingpad { ptr, i32 }
          cleanup
  %160 = extractvalue { ptr, i32 } %159, 0
  store ptr %160, ptr %5, align 8
  %161 = extractvalue { ptr, i32 } %159, 1
  store i32 %161, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  br label %162

162:                                              ; preds = %158, %154
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #8
  %163 = load i1, ptr %15, align 1
  br i1 %163, label %164, label %165

164:                                              ; preds = %162
  call void @__cxa_free_exception(ptr %116) #8
  br label %165

165:                                              ; preds = %164, %162
  br label %166

166:                                              ; preds = %165, %150
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12) #8
  br label %167

167:                                              ; preds = %166, %146
  call void @llvm.lifetime.end.p0(i64 392, ptr %12) #8
  br label %223

168:                                              ; preds = %108
  br label %169

169:                                              ; preds = %168
  br label %170

170:                                              ; preds = %169
  br label %171

171:                                              ; preds = %170
  %172 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #8
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %173 unwind label %189

173:                                              ; preds = %171
  %174 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %175 unwind label %193

175:                                              ; preds = %173
  %176 = xor i1 %174, true
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #8
  br i1 %176, label %177, label %220

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

178:                                              ; preds = %177
  %179 = getelementptr inbounds i8, ptr %17, i64 16
  %180 = load ptr, ptr %11, align 8, !tbaa !5
  %181 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA52_cJRKNS_12PartialShapeERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %179, ptr noundef nonnull align 1 dereferenceable(52) @.str.5, ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %182 unwind label %202

182:                                              ; preds = %178
  store i1 true, ptr %20, align 1
  %183 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #8
  %184 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 0
  store ptr @.str.3, ptr %184, align 8, !tbaa !69
  %185 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 1
  store i32 257, ptr %185, align 8, !tbaa !71
  %186 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 2
  store ptr @.str.28, ptr %186, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(128) %17)
          to label %187 unwind label %206

187:                                              ; preds = %182
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %183, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %188 unwind label %210

188:                                              ; preds = %187
  store i1 false, ptr %20, align 1
  invoke void @__cxa_throw(ptr %183, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %210

189:                                              ; preds = %171
  %190 = landingpad { ptr, i32 }
          cleanup
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %5, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %6, align 4
  br label %197

193:                                              ; preds = %173
  %194 = landingpad { ptr, i32 }
          cleanup
  %195 = extractvalue { ptr, i32 } %194, 0
  store ptr %195, ptr %5, align 8
  %196 = extractvalue { ptr, i32 } %194, 1
  store i32 %196, ptr %6, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  br label %197

197:                                              ; preds = %193, %189
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #8
  br label %223

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

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

206:                                              ; preds = %182
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %5, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %6, align 4
  br label %214

210:                                              ; preds = %188, %187
  %211 = landingpad { ptr, i32 }
          cleanup
  %212 = extractvalue { ptr, i32 } %211, 0
  store ptr %212, ptr %5, align 8
  %213 = extractvalue { ptr, i32 } %211, 1
  store i32 %213, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  br label %214

214:                                              ; preds = %210, %206
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #8
  %215 = load i1, ptr %20, align 1
  br i1 %215, label %216, label %217

216:                                              ; preds = %214
  call void @__cxa_free_exception(ptr %183) #8
  br label %217

217:                                              ; preds = %216, %214
  br label %218

218:                                              ; preds = %217, %202
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17) #8
  br label %219

219:                                              ; preds = %218, %198
  call void @llvm.lifetime.end.p0(i64 392, ptr %17) #8
  br label %223

220:                                              ; preds = %175
  br label %221

221:                                              ; preds = %220
  br label %222

222:                                              ; preds = %221
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  br label %225

223:                                              ; preds = %219, %197, %167, %142
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  br label %224

224:                                              ; preds = %223, %138
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  br label %861

225:                                              ; preds = %222, %96, %90
  br label %226

226:                                              ; preds = %225
  %227 = load ptr, ptr %7, align 8, !tbaa !5
  %228 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %227)
          to label %229 unwind label %134

229:                                              ; preds = %226
  br i1 %228, label %264, label %230

230:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 392, ptr %21) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %21)
          to label %231 unwind label %242

231:                                              ; preds = %230
  %232 = getelementptr inbounds i8, ptr %21, i64 16
  %233 = load ptr, ptr %7, align 8, !tbaa !5
  %234 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA48_cJRKNS_7element4TypeERA3_KcEEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef nonnull align 1 dereferenceable(48) @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %233, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %235 unwind label %246

235:                                              ; preds = %231
  store i1 true, ptr %24, align 1
  %236 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %22) #8
  %237 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %22, i32 0, i32 0
  store ptr @.str.3, ptr %237, align 8, !tbaa !69
  %238 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %22, i32 0, i32 1
  store i32 264, ptr %238, align 8, !tbaa !71
  %239 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %22, i32 0, i32 2
  store ptr @.str.30, ptr %239, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(128) %21)
          to label %240 unwind label %250

240:                                              ; preds = %235
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %236, ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %241 unwind label %254

241:                                              ; preds = %240
  store i1 false, ptr %24, align 1
  invoke void @__cxa_throw(ptr %236, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %254

242:                                              ; preds = %230
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %5, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %6, align 4
  br label %263

246:                                              ; preds = %231
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %5, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %6, align 4
  br label %262

250:                                              ; preds = %235
  %251 = landingpad { ptr, i32 }
          cleanup
  %252 = extractvalue { ptr, i32 } %251, 0
  store ptr %252, ptr %5, align 8
  %253 = extractvalue { ptr, i32 } %251, 1
  store i32 %253, ptr %6, align 4
  br label %258

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

258:                                              ; preds = %254, %250
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  %259 = load i1, ptr %24, align 1
  br i1 %259, label %260, label %261

260:                                              ; preds = %258
  call void @__cxa_free_exception(ptr %236) #8
  br label %261

261:                                              ; preds = %260, %258
  br label %262

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

263:                                              ; preds = %262, %242
  call void @llvm.lifetime.end.p0(i64 392, ptr %21) #8
  br label %861

264:                                              ; preds = %229
  br label %265

265:                                              ; preds = %264
  br label %266

266:                                              ; preds = %265
  br label %267

267:                                              ; preds = %266
  %268 = load ptr, ptr %8, align 8, !tbaa !5
  %269 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %268)
          to label %270 unwind label %134

270:                                              ; preds = %267
  br i1 %269, label %305, label %271

271:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 392, ptr %25) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %25)
          to label %272 unwind label %283

272:                                              ; preds = %271
  %273 = getelementptr inbounds i8, ptr %25, i64 16
  %274 = load ptr, ptr %8, align 8, !tbaa !5
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA46_cJRKNS_7element4TypeERA3_KcEEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %273, ptr noundef nonnull align 1 dereferenceable(46) @.str.31, ptr noundef nonnull align 4 dereferenceable(4) %274, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %276 unwind label %287

276:                                              ; preds = %272
  store i1 true, ptr %28, align 1
  %277 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #8
  %278 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %26, i32 0, i32 0
  store ptr @.str.3, ptr %278, align 8, !tbaa !69
  %279 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %26, i32 0, i32 1
  store i32 270, ptr %279, align 8, !tbaa !71
  %280 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %26, i32 0, i32 2
  store ptr @.str.32, ptr %280, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(128) %25)
          to label %281 unwind label %291

281:                                              ; preds = %276
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %277, ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %282 unwind label %295

282:                                              ; preds = %281
  store i1 false, ptr %28, align 1
  invoke void @__cxa_throw(ptr %277, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %295

283:                                              ; preds = %271
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %5, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %6, align 4
  br label %304

287:                                              ; preds = %272
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %5, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %6, align 4
  br label %303

291:                                              ; preds = %276
  %292 = landingpad { ptr, i32 }
          cleanup
  %293 = extractvalue { ptr, i32 } %292, 0
  store ptr %293, ptr %5, align 8
  %294 = extractvalue { ptr, i32 } %292, 1
  store i32 %294, ptr %6, align 4
  br label %299

295:                                              ; preds = %282, %281
  %296 = landingpad { ptr, i32 }
          cleanup
  %297 = extractvalue { ptr, i32 } %296, 0
  store ptr %297, ptr %5, align 8
  %298 = extractvalue { ptr, i32 } %296, 1
  store i32 %298, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  br label %299

299:                                              ; preds = %295, %291
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  %300 = load i1, ptr %28, align 1
  br i1 %300, label %301, label %302

301:                                              ; preds = %299
  call void @__cxa_free_exception(ptr %277) #8
  br label %302

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

303:                                              ; preds = %302, %287
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %25) #8
  br label %304

304:                                              ; preds = %303, %283
  call void @llvm.lifetime.end.p0(i64 392, ptr %25) #8
  br label %861

305:                                              ; preds = %270
  br label %306

306:                                              ; preds = %305
  br label %307

307:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  %308 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 1)
          to label %309 unwind label %336

309:                                              ; preds = %307
  store ptr %308, ptr %29, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #8
  %310 = load ptr, ptr %29, align 8, !tbaa !5
  %311 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %310)
          to label %312 unwind label %340

312:                                              ; preds = %309
  %313 = getelementptr inbounds %"class.ngraph::Dimension", ptr %31, i32 0, i32 0
  %314 = getelementptr inbounds { i64, i64 }, ptr %313, i32 0, i32 0
  %315 = extractvalue { i64, i64 } %311, 0
  store i64 %315, ptr %314, align 8
  %316 = getelementptr inbounds { i64, i64 }, ptr %313, i32 0, i32 1
  %317 = extractvalue { i64, i64 } %311, 1
  store i64 %317, ptr %316, align 8
  store ptr %31, ptr %30, align 8, !tbaa !5
  br label %318

318:                                              ; preds = %312
  %319 = load ptr, ptr %30, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef 1)
          to label %320 unwind label %344

320:                                              ; preds = %318
  %321 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %319, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %322 unwind label %344

322:                                              ; preds = %320
  %323 = xor i1 %321, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #8
  br i1 %323, label %324, label %370

324:                                              ; preds = %322
  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 %325 unwind label %348

325:                                              ; preds = %324
  %326 = getelementptr inbounds i8, ptr %33, i64 16
  %327 = load ptr, ptr %30, align 8, !tbaa !5
  %328 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA43_cJRKNS_9DimensionERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %326, ptr noundef nonnull align 1 dereferenceable(43) @.str.33, ptr noundef nonnull align 8 dereferenceable(16) %327, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %329 unwind label %352

329:                                              ; preds = %325
  store i1 true, ptr %36, align 1
  %330 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #8
  %331 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 0
  store ptr @.str.3, ptr %331, align 8, !tbaa !69
  %332 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 1
  store i32 279, ptr %332, align 8, !tbaa !71
  %333 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 2
  store ptr @.str.34, ptr %333, align 8, !tbaa !72
  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 %334 unwind label %356

334:                                              ; preds = %329
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %330, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %335 unwind label %360

335:                                              ; preds = %334
  store i1 false, ptr %36, align 1
  invoke void @__cxa_throw(ptr %330, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %360

336:                                              ; preds = %307
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %5, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %6, align 4
  br label %860

340:                                              ; preds = %309
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %5, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %6, align 4
  br label %859

344:                                              ; preds = %320, %318
  %345 = landingpad { ptr, i32 }
          cleanup
  %346 = extractvalue { ptr, i32 } %345, 0
  store ptr %346, ptr %5, align 8
  %347 = extractvalue { ptr, i32 } %345, 1
  store i32 %347, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #8
  br label %858

348:                                              ; preds = %324
  %349 = landingpad { ptr, i32 }
          cleanup
  %350 = extractvalue { ptr, i32 } %349, 0
  store ptr %350, ptr %5, align 8
  %351 = extractvalue { ptr, i32 } %349, 1
  store i32 %351, ptr %6, align 4
  br label %369

352:                                              ; preds = %325
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %5, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %6, align 4
  br label %368

356:                                              ; preds = %329
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %5, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %6, align 4
  br label %364

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

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

366:                                              ; preds = %364
  call void @__cxa_free_exception(ptr %330) #8
  br label %367

367:                                              ; preds = %366, %364
  br label %368

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

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

370:                                              ; preds = %322
  br label %371

371:                                              ; preds = %370
  br label %372

372:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %373 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 2)
          to label %374 unwind label %401

374:                                              ; preds = %372
  store ptr %373, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #8
  %375 = load ptr, ptr %37, align 8, !tbaa !5
  %376 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %375)
          to label %377 unwind label %405

377:                                              ; preds = %374
  %378 = getelementptr inbounds %"class.ngraph::Dimension", ptr %39, i32 0, i32 0
  %379 = getelementptr inbounds { i64, i64 }, ptr %378, i32 0, i32 0
  %380 = extractvalue { i64, i64 } %376, 0
  store i64 %380, ptr %379, align 8
  %381 = getelementptr inbounds { i64, i64 }, ptr %378, i32 0, i32 1
  %382 = extractvalue { i64, i64 } %376, 1
  store i64 %382, ptr %381, align 8
  store ptr %39, ptr %38, align 8, !tbaa !5
  br label %383

383:                                              ; preds = %377
  %384 = load ptr, ptr %38, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %40, i64 noundef 1)
          to label %385 unwind label %409

385:                                              ; preds = %383
  %386 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %384, ptr noundef nonnull align 8 dereferenceable(16) %40)
          to label %387 unwind label %409

387:                                              ; preds = %385
  %388 = xor i1 %386, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #8
  br i1 %388, label %389, label %435

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

390:                                              ; preds = %389
  %391 = getelementptr inbounds i8, ptr %41, i64 16
  %392 = load ptr, ptr %38, align 8, !tbaa !5
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRKNS_9DimensionERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %391, ptr noundef nonnull align 1 dereferenceable(41) @.str.35, ptr noundef nonnull align 8 dereferenceable(16) %392, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %394 unwind label %417

394:                                              ; preds = %390
  store i1 true, ptr %44, align 1
  %395 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %42) #8
  %396 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %42, i32 0, i32 0
  store ptr @.str.3, ptr %396, align 8, !tbaa !69
  %397 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %42, i32 0, i32 1
  store i32 287, ptr %397, align 8, !tbaa !71
  %398 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %42, i32 0, i32 2
  store ptr @.str.36, ptr %398, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(128) %41)
          to label %399 unwind label %421

399:                                              ; preds = %394
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %395, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %400 unwind label %425

400:                                              ; preds = %399
  store i1 false, ptr %44, align 1
  invoke void @__cxa_throw(ptr %395, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %425

401:                                              ; preds = %372
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %5, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %6, align 4
  br label %857

405:                                              ; preds = %374
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %5, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %6, align 4
  br label %856

409:                                              ; preds = %385, %383
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %5, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #8
  br label %855

413:                                              ; preds = %389
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %5, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %6, align 4
  br label %434

417:                                              ; preds = %390
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %5, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %6, align 4
  br label %433

421:                                              ; preds = %394
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %5, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %6, align 4
  br label %429

425:                                              ; preds = %400, %399
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %5, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %429

429:                                              ; preds = %425, %421
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #8
  %430 = load i1, ptr %44, align 1
  br i1 %430, label %431, label %432

431:                                              ; preds = %429
  call void @__cxa_free_exception(ptr %395) #8
  br label %432

432:                                              ; preds = %431, %429
  br label %433

433:                                              ; preds = %432, %417
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %41) #8
  br label %434

434:                                              ; preds = %433, %413
  call void @llvm.lifetime.end.p0(i64 392, ptr %41) #8
  br label %855

435:                                              ; preds = %387
  br label %436

436:                                              ; preds = %435
  br label %437

437:                                              ; preds = %436
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #8
  %438 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 0)
          to label %439 unwind label %480

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

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

450:                                              ; preds = %442
  br i1 %449, label %451, label %517

451:                                              ; preds = %450
  %452 = load ptr, ptr %29, align 8, !tbaa !5
  %453 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %452)
          to label %454 unwind label %488

454:                                              ; preds = %451
  br i1 %453, label %455, label %517

455:                                              ; preds = %454
  br label %456

456:                                              ; preds = %455
  %457 = load ptr, ptr %29, align 8, !tbaa !5
  %458 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %457, i64 noundef 0)
          to label %459 unwind label %488

459:                                              ; preds = %456
  %460 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %458)
          to label %461 unwind label %488

461:                                              ; preds = %459
  %462 = load ptr, ptr %46, align 8, !tbaa !5
  %463 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %462)
          to label %464 unwind label %488

464:                                              ; preds = %461
  %465 = icmp sle i64 %460, %463
  br i1 %465, label %514, label %466

466:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 392, ptr %48) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %48)
          to label %467 unwind label %492

467:                                              ; preds = %466
  %468 = getelementptr inbounds i8, ptr %48, i64 16
  %469 = load ptr, ptr %29, align 8, !tbaa !5
  %470 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %469, i64 noundef 0)
          to label %471 unwind label %496

471:                                              ; preds = %467
  %472 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA85_cJRKNS_9DimensionERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %468, ptr noundef nonnull align 1 dereferenceable(85) @.str.37, ptr noundef nonnull align 8 dereferenceable(16) %470, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %473 unwind label %496

473:                                              ; preds = %471
  store i1 true, ptr %51, align 1
  %474 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %49) #8
  %475 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %49, i32 0, i32 0
  store ptr @.str.3, ptr %475, align 8, !tbaa !69
  %476 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %49, i32 0, i32 1
  store i32 298, ptr %476, align 8, !tbaa !71
  %477 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %49, i32 0, i32 2
  store ptr @.str.38, ptr %477, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(128) %48)
          to label %478 unwind label %500

478:                                              ; preds = %473
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %474, ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %479 unwind label %504

479:                                              ; preds = %478
  store i1 false, ptr %51, align 1
  invoke void @__cxa_throw(ptr %474, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %504

480:                                              ; preds = %437
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %5, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %6, align 4
  br label %854

484:                                              ; preds = %439
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %5, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %6, align 4
  br label %853

488:                                              ; preds = %531, %529, %526, %521, %517, %461, %459, %456, %451, %442
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %5, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %6, align 4
  br label %852

492:                                              ; preds = %466
  %493 = landingpad { ptr, i32 }
          cleanup
  %494 = extractvalue { ptr, i32 } %493, 0
  store ptr %494, ptr %5, align 8
  %495 = extractvalue { ptr, i32 } %493, 1
  store i32 %495, ptr %6, align 4
  br label %513

496:                                              ; preds = %471, %467
  %497 = landingpad { ptr, i32 }
          cleanup
  %498 = extractvalue { ptr, i32 } %497, 0
  store ptr %498, ptr %5, align 8
  %499 = extractvalue { ptr, i32 } %497, 1
  store i32 %499, ptr %6, align 4
  br label %512

500:                                              ; preds = %473
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %5, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %6, align 4
  br label %508

504:                                              ; preds = %479, %478
  %505 = landingpad { ptr, i32 }
          cleanup
  %506 = extractvalue { ptr, i32 } %505, 0
  store ptr %506, ptr %5, align 8
  %507 = extractvalue { ptr, i32 } %505, 1
  store i32 %507, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %508

508:                                              ; preds = %504, %500
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #8
  %509 = load i1, ptr %51, align 1
  br i1 %509, label %510, label %511

510:                                              ; preds = %508
  call void @__cxa_free_exception(ptr %474) #8
  br label %511

511:                                              ; preds = %510, %508
  br label %512

512:                                              ; preds = %511, %496
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %48) #8
  br label %513

513:                                              ; preds = %512, %492
  call void @llvm.lifetime.end.p0(i64 392, ptr %48) #8
  br label %852

514:                                              ; preds = %464
  br label %515

515:                                              ; preds = %514
  br label %516

516:                                              ; preds = %515
  br label %517

517:                                              ; preds = %516, %454, %450
  %518 = load ptr, ptr %46, align 8, !tbaa !5
  %519 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %518)
          to label %520 unwind label %488

520:                                              ; preds = %517
  br i1 %519, label %521, label %575

521:                                              ; preds = %520
  %522 = load ptr, ptr %37, align 8, !tbaa !5
  %523 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %522)
          to label %524 unwind label %488

524:                                              ; preds = %521
  br i1 %523, label %525, label %575

525:                                              ; preds = %524
  br label %526

526:                                              ; preds = %525
  %527 = load ptr, ptr %37, align 8, !tbaa !5
  %528 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %527, i64 noundef 0)
          to label %529 unwind label %488

529:                                              ; preds = %526
  %530 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %528)
          to label %531 unwind label %488

531:                                              ; preds = %529
  %532 = load ptr, ptr %46, align 8, !tbaa !5
  %533 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %532)
          to label %534 unwind label %488

534:                                              ; preds = %531
  %535 = icmp sle i64 %530, %533
  br i1 %535, label %572, label %536

536:                                              ; preds = %534
  call void @llvm.lifetime.start.p0(i64 392, ptr %52) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %52)
          to label %537 unwind label %550

537:                                              ; preds = %536
  %538 = getelementptr inbounds i8, ptr %52, i64 16
  %539 = load ptr, ptr %37, align 8, !tbaa !5
  %540 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %539, i64 noundef 0)
          to label %541 unwind label %554

541:                                              ; preds = %537
  %542 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRKNS_9DimensionERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %538, ptr noundef nonnull align 1 dereferenceable(81) @.str.39, ptr noundef nonnull align 8 dereferenceable(16) %540, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %543 unwind label %554

543:                                              ; preds = %541
  store i1 true, ptr %55, align 1
  %544 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %53) #8
  %545 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %53, i32 0, i32 0
  store ptr @.str.3, ptr %545, align 8, !tbaa !69
  %546 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %53, i32 0, i32 1
  store i32 307, ptr %546, align 8, !tbaa !71
  %547 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %53, i32 0, i32 2
  store ptr @.str.40, ptr %547, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(128) %52)
          to label %548 unwind label %558

548:                                              ; preds = %543
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %544, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %549 unwind label %562

549:                                              ; preds = %548
  store i1 false, ptr %55, align 1
  invoke void @__cxa_throw(ptr %544, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %562

550:                                              ; preds = %536
  %551 = landingpad { ptr, i32 }
          cleanup
  %552 = extractvalue { ptr, i32 } %551, 0
  store ptr %552, ptr %5, align 8
  %553 = extractvalue { ptr, i32 } %551, 1
  store i32 %553, ptr %6, align 4
  br label %571

554:                                              ; preds = %541, %537
  %555 = landingpad { ptr, i32 }
          cleanup
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %5, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %6, align 4
  br label %570

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

562:                                              ; preds = %549, %548
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %5, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  br label %566

566:                                              ; preds = %562, %558
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #8
  %567 = load i1, ptr %55, align 1
  br i1 %567, label %568, label %569

568:                                              ; preds = %566
  call void @__cxa_free_exception(ptr %544) #8
  br label %569

569:                                              ; preds = %568, %566
  br label %570

570:                                              ; preds = %569, %554
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %52) #8
  br label %571

571:                                              ; preds = %570, %550
  call void @llvm.lifetime.end.p0(i64 392, ptr %52) #8
  br label %852

572:                                              ; preds = %534
  br label %573

573:                                              ; preds = %572
  br label %574

574:                                              ; preds = %573
  br label %575

575:                                              ; preds = %574, %524, %520
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %57) #8
  invoke void @_ZNK6ngraph2op2v13Pad14get_pads_beginEv(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %57, ptr noundef nonnull align 8 dereferenceable(684) %82)
          to label %576 unwind label %616

576:                                              ; preds = %575
  store ptr %57, ptr %56, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %59) #8
  invoke void @_ZNK6ngraph2op2v13Pad12get_pads_endEv(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %59, ptr noundef nonnull align 8 dereferenceable(684) %82)
          to label %577 unwind label %620

577:                                              ; preds = %576
  store ptr %59, ptr %58, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %61) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %61, ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 1)
          to label %578 unwind label %624

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

579:                                              ; preds = %578
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %63) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %63, ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 2)
          to label %580 unwind label %633

580:                                              ; preds = %579
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.84") align 8 %62, ptr noundef nonnull align 8 dereferenceable(24) %63)
          to label %581 unwind label %637

581:                                              ; preds = %580
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #8
  %582 = load ptr, ptr %46, align 8, !tbaa !5
  %583 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %582)
          to label %584 unwind label %642

584:                                              ; preds = %581
  br i1 %583, label %585, label %821

585:                                              ; preds = %584
  %586 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %60) #8
  %587 = load ptr, ptr %586, align 8, !tbaa !73
  %588 = getelementptr inbounds ptr, ptr %587, i64 20
  %589 = load ptr, ptr %588, align 8
  %590 = invoke noundef zeroext i1 %589(ptr noundef nonnull align 8 dereferenceable(680) %586)
          to label %591 unwind label %642

591:                                              ; preds = %585
  br i1 %590, label %592, label %821

592:                                              ; preds = %591
  %593 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  %594 = load ptr, ptr %593, align 8, !tbaa !73
  %595 = getelementptr inbounds ptr, ptr %594, i64 20
  %596 = load ptr, ptr %595, align 8
  %597 = invoke noundef zeroext i1 %596(ptr noundef nonnull align 8 dereferenceable(680) %593)
          to label %598 unwind label %642

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

599:                                              ; preds = %598
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #8
  %600 = load ptr, ptr %56, align 8, !tbaa !5
  %601 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %600) #8
  store i64 %601, ptr %64, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #8
  %602 = load i64, ptr %64, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #8
  %603 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %604 unwind label %646

604:                                              ; preds = %599
  %605 = getelementptr inbounds %"class.ngraph::Dimension", ptr %66, i32 0, i32 0
  %606 = getelementptr inbounds { i64, i64 }, ptr %605, i32 0, i32 0
  %607 = extractvalue { i64, i64 } %603, 0
  store i64 %607, ptr %606, align 8
  %608 = getelementptr inbounds { i64, i64 }, ptr %605, i32 0, i32 1
  %609 = extractvalue { i64, i64 } %603, 1
  store i64 %609, ptr %608, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2EmRKS1_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %602, ptr noundef nonnull align 8 dereferenceable(16) %66, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %610 unwind label %650

610:                                              ; preds = %604
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #8
  store i64 0, ptr %68, align 8, !tbaa !75
  br label %611

611:                                              ; preds = %797, %610
  %612 = load i64, ptr %68, align 8, !tbaa !75
  %613 = load i64, ptr %64, align 8, !tbaa !75
  %614 = icmp ult i64 %612, %613
  br i1 %614, label %655, label %615

615:                                              ; preds = %611
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  br label %801

616:                                              ; preds = %575
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %5, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %6, align 4
  br label %851

620:                                              ; preds = %576
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %5, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %6, align 4
  br label %850

624:                                              ; preds = %577
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %5, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %6, align 4
  br label %632

628:                                              ; preds = %578
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %5, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %6, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #8
  br label %632

632:                                              ; preds = %628, %624
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #8
  br label %849

633:                                              ; preds = %579
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %5, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %6, align 4
  br label %641

637:                                              ; preds = %580
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %5, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %6, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  br label %641

641:                                              ; preds = %637, %633
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #8
  br label %848

642:                                              ; preds = %821, %592, %585, %581
  %643 = landingpad { ptr, i32 }
          cleanup
  %644 = extractvalue { ptr, i32 } %643, 0
  store ptr %644, ptr %5, align 8
  %645 = extractvalue { ptr, i32 } %643, 1
  store i32 %645, ptr %6, align 4
  br label %847

646:                                              ; preds = %599
  %647 = landingpad { ptr, i32 }
          cleanup
  %648 = extractvalue { ptr, i32 } %647, 0
  store ptr %648, ptr %5, align 8
  %649 = extractvalue { ptr, i32 } %647, 1
  store i32 %649, ptr %6, align 4
  br label %654

650:                                              ; preds = %604
  %651 = landingpad { ptr, i32 }
          cleanup
  %652 = extractvalue { ptr, i32 } %651, 0
  store ptr %652, ptr %5, align 8
  %653 = extractvalue { ptr, i32 } %651, 1
  store i32 %653, ptr %6, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #8
  br label %654

654:                                              ; preds = %650, %646
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #8
  br label %820

655:                                              ; preds = %611
  %656 = load ptr, ptr %45, align 8, !tbaa !5
  %657 = load i64, ptr %68, align 8, !tbaa !75
  %658 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %656, i64 noundef %657)
          to label %659 unwind label %709

659:                                              ; preds = %655
  %660 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %658)
          to label %661 unwind label %709

661:                                              ; preds = %659
  br i1 %660, label %662, label %796

662:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #8
  %663 = load ptr, ptr %56, align 8, !tbaa !5
  %664 = load i64, ptr %68, align 8, !tbaa !75
  %665 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %663, i64 noundef %664) #8
  %666 = load i64, ptr %665, align 8, !tbaa !75
  %667 = load ptr, ptr %45, align 8, !tbaa !5
  %668 = load i64, ptr %68, align 8, !tbaa !75
  %669 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %667, i64 noundef %668)
          to label %670 unwind label %713

670:                                              ; preds = %662
  %671 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %669)
          to label %672 unwind label %713

672:                                              ; preds = %670
  %673 = add nsw i64 %666, %671
  %674 = load ptr, ptr %58, align 8, !tbaa !5
  %675 = load i64, ptr %68, align 8, !tbaa !75
  %676 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %674, i64 noundef %675) #8
  %677 = load i64, ptr %676, align 8, !tbaa !75
  %678 = add nsw i64 %673, %677
  store i64 %678, ptr %69, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #8
  %679 = load i64, ptr %69, align 8, !tbaa !75
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %70, i64 noundef %679)
          to label %680 unwind label %717

680:                                              ; preds = %672
  %681 = load i64, ptr %68, align 8, !tbaa !75
  %682 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %681) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %682, ptr align 8 %70, i64 16, i1 false), !tbaa.struct !76
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #8
  %683 = load i64, ptr %68, align 8, !tbaa !75
  %684 = icmp ugt i64 %683, 1
  br i1 %684, label %685, label %794

685:                                              ; preds = %680
  br label %686

686:                                              ; preds = %685
  %687 = getelementptr inbounds %"class.ngraph::op::v1::Pad", ptr %82, i32 0, i32 1
  %688 = load i32, ptr %687, align 8, !tbaa !11
  %689 = icmp ne i32 %688, 1
  br i1 %689, label %743, label %690

690:                                              ; preds = %686
  %691 = load ptr, ptr %45, align 8, !tbaa !5
  %692 = load i64, ptr %68, align 8, !tbaa !75
  %693 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %691, i64 noundef %692)
          to label %694 unwind label %713

694:                                              ; preds = %690
  %695 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %693)
          to label %696 unwind label %713

696:                                              ; preds = %694
  %697 = icmp sge i64 %695, 1
  br i1 %697, label %743, label %698

698:                                              ; preds = %696
  call void @llvm.lifetime.start.p0(i64 392, ptr %71) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %71)
          to label %699 unwind label %721

699:                                              ; preds = %698
  %700 = getelementptr inbounds i8, ptr %71, i64 16
  %701 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA85_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %700, ptr noundef nonnull align 1 dereferenceable(85) @.str.19)
          to label %702 unwind label %725

702:                                              ; preds = %699
  store i1 true, ptr %74, align 1
  %703 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %72) #8
  %704 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %72, i32 0, i32 0
  store ptr @.str.3, ptr %704, align 8, !tbaa !69
  %705 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %72, i32 0, i32 1
  store i32 332, ptr %705, align 8, !tbaa !71
  %706 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %72, i32 0, i32 2
  store ptr @.str.20, ptr %706, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(128) %71)
          to label %707 unwind label %729

707:                                              ; preds = %702
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %703, ptr noundef nonnull align 8 dereferenceable(24) %72, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %708 unwind label %733

708:                                              ; preds = %707
  store i1 false, ptr %74, align 1
  invoke void @__cxa_throw(ptr %703, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %733

709:                                              ; preds = %659, %655
  %710 = landingpad { ptr, i32 }
          cleanup
  %711 = extractvalue { ptr, i32 } %710, 0
  store ptr %711, ptr %5, align 8
  %712 = extractvalue { ptr, i32 } %710, 1
  store i32 %712, ptr %6, align 4
  br label %800

713:                                              ; preds = %754, %750, %694, %690, %670, %662
  %714 = landingpad { ptr, i32 }
          cleanup
  %715 = extractvalue { ptr, i32 } %714, 0
  store ptr %715, ptr %5, align 8
  %716 = extractvalue { ptr, i32 } %714, 1
  store i32 %716, ptr %6, align 4
  br label %795

717:                                              ; preds = %672
  %718 = landingpad { ptr, i32 }
          cleanup
  %719 = extractvalue { ptr, i32 } %718, 0
  store ptr %719, ptr %5, align 8
  %720 = extractvalue { ptr, i32 } %718, 1
  store i32 %720, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #8
  br label %795

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

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

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

733:                                              ; preds = %708, %707
  %734 = landingpad { ptr, i32 }
          cleanup
  %735 = extractvalue { ptr, i32 } %734, 0
  store ptr %735, ptr %5, align 8
  %736 = extractvalue { ptr, i32 } %734, 1
  store i32 %736, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  br label %737

737:                                              ; preds = %733, %729
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #8
  %738 = load i1, ptr %74, align 1
  br i1 %738, label %739, label %740

739:                                              ; preds = %737
  call void @__cxa_free_exception(ptr %703) #8
  br label %740

740:                                              ; preds = %739, %737
  br label %741

741:                                              ; preds = %740, %725
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %71) #8
  br label %742

742:                                              ; preds = %741, %721
  call void @llvm.lifetime.end.p0(i64 392, ptr %71) #8
  br label %795

743:                                              ; preds = %696, %686
  br label %744

744:                                              ; preds = %743
  br label %745

745:                                              ; preds = %744
  br label %746

746:                                              ; preds = %745
  %747 = getelementptr inbounds %"class.ngraph::op::v1::Pad", ptr %82, i32 0, i32 1
  %748 = load i32, ptr %747, align 8, !tbaa !11
  %749 = icmp ne i32 %748, 2
  br i1 %749, label %791, label %750

750:                                              ; preds = %746
  %751 = load ptr, ptr %45, align 8, !tbaa !5
  %752 = load i64, ptr %68, align 8, !tbaa !75
  %753 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %751, i64 noundef %752)
          to label %754 unwind label %713

754:                                              ; preds = %750
  %755 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %753)
          to label %756 unwind label %713

756:                                              ; preds = %754
  %757 = icmp sge i64 %755, 2
  br i1 %757, label %791, label %758

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

759:                                              ; preds = %758
  %760 = getelementptr inbounds i8, ptr %75, i64 16
  %761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA88_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %760, ptr noundef nonnull align 1 dereferenceable(88) @.str.21)
          to label %762 unwind label %773

762:                                              ; preds = %759
  store i1 true, ptr %78, align 1
  %763 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %76) #8
  %764 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %76, i32 0, i32 0
  store ptr @.str.3, ptr %764, align 8, !tbaa !69
  %765 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %76, i32 0, i32 1
  store i32 337, ptr %765, align 8, !tbaa !71
  %766 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %76, i32 0, i32 2
  store ptr @.str.22, ptr %766, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(128) %75)
          to label %767 unwind label %777

767:                                              ; preds = %762
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %763, ptr noundef nonnull align 8 dereferenceable(24) %76, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %768 unwind label %781

768:                                              ; preds = %767
  store i1 false, ptr %78, align 1
  invoke void @__cxa_throw(ptr %763, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %870 unwind label %781

769:                                              ; preds = %758
  %770 = landingpad { ptr, i32 }
          cleanup
  %771 = extractvalue { ptr, i32 } %770, 0
  store ptr %771, ptr %5, align 8
  %772 = extractvalue { ptr, i32 } %770, 1
  store i32 %772, ptr %6, align 4
  br label %790

773:                                              ; preds = %759
  %774 = landingpad { ptr, i32 }
          cleanup
  %775 = extractvalue { ptr, i32 } %774, 0
  store ptr %775, ptr %5, align 8
  %776 = extractvalue { ptr, i32 } %774, 1
  store i32 %776, ptr %6, align 4
  br label %789

777:                                              ; preds = %762
  %778 = landingpad { ptr, i32 }
          cleanup
  %779 = extractvalue { ptr, i32 } %778, 0
  store ptr %779, ptr %5, align 8
  %780 = extractvalue { ptr, i32 } %778, 1
  store i32 %780, ptr %6, align 4
  br label %785

781:                                              ; preds = %768, %767
  %782 = landingpad { ptr, i32 }
          cleanup
  %783 = extractvalue { ptr, i32 } %782, 0
  store ptr %783, ptr %5, align 8
  %784 = extractvalue { ptr, i32 } %782, 1
  store i32 %784, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  br label %785

785:                                              ; preds = %781, %777
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #8
  %786 = load i1, ptr %78, align 1
  br i1 %786, label %787, label %788

787:                                              ; preds = %785
  call void @__cxa_free_exception(ptr %763) #8
  br label %788

788:                                              ; preds = %787, %785
  br label %789

789:                                              ; preds = %788, %773
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %75) #8
  br label %790

790:                                              ; preds = %789, %769
  call void @llvm.lifetime.end.p0(i64 392, ptr %75) #8
  br label %795

791:                                              ; preds = %756, %746
  br label %792

792:                                              ; preds = %791
  br label %793

793:                                              ; preds = %792
  br label %794

794:                                              ; preds = %793, %680
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  br label %796

795:                                              ; preds = %790, %742, %717, %713
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  br label %800

796:                                              ; preds = %794, %661
  br label %797

797:                                              ; preds = %796
  %798 = load i64, ptr %68, align 8, !tbaa !75
  %799 = add i64 %798, 1
  store i64 %799, ptr %68, align 8, !tbaa !75
  br label %611, !llvm.loop !77

800:                                              ; preds = %795, %709
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  br label %819

801:                                              ; preds = %615
  %802 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 0)
          to label %803 unwind label %806

803:                                              ; preds = %801
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %804 unwind label %810

804:                                              ; preds = %803
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %802, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %805 unwind label %814

805:                                              ; preds = %804
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #8
  br label %846

806:                                              ; preds = %801
  %807 = landingpad { ptr, i32 }
          cleanup
  %808 = extractvalue { ptr, i32 } %807, 0
  store ptr %808, ptr %5, align 8
  %809 = extractvalue { ptr, i32 } %807, 1
  store i32 %809, ptr %6, align 4
  br label %819

810:                                              ; preds = %803
  %811 = landingpad { ptr, i32 }
          cleanup
  %812 = extractvalue { ptr, i32 } %811, 0
  store ptr %812, ptr %5, align 8
  %813 = extractvalue { ptr, i32 } %811, 1
  store i32 %813, ptr %6, align 4
  br label %818

814:                                              ; preds = %804
  %815 = landingpad { ptr, i32 }
          cleanup
  %816 = extractvalue { ptr, i32 } %815, 0
  store ptr %816, ptr %5, align 8
  %817 = extractvalue { ptr, i32 } %815, 1
  store i32 %817, ptr %6, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  br label %818

818:                                              ; preds = %814, %810
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  br label %819

819:                                              ; preds = %818, %806, %800
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #8
  br label %820

820:                                              ; preds = %819, %654
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #8
  br label %847

821:                                              ; preds = %598, %591, %584
  %822 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 0)
          to label %823 unwind label %642

823:                                              ; preds = %821
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #8
  %824 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %825 unwind label %837

825:                                              ; preds = %823
  %826 = getelementptr inbounds %"class.ngraph::Dimension", ptr %81, i32 0, i32 0
  %827 = getelementptr inbounds { i64, i64 }, ptr %826, i32 0, i32 0
  %828 = extractvalue { i64, i64 } %824, 0
  store i64 %828, ptr %827, align 8
  %829 = getelementptr inbounds { i64, i64 }, ptr %826, i32 0, i32 1
  %830 = extractvalue { i64, i64 } %824, 1
  store i64 %830, ptr %829, align 8
  %831 = getelementptr inbounds { i64, i64 }, ptr %81, i32 0, i32 0
  %832 = load i64, ptr %831, align 8
  %833 = getelementptr inbounds { i64, i64 }, ptr %81, i32 0, i32 1
  %834 = load i64, ptr %833, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %80, i64 %832, i64 %834)
          to label %835 unwind label %837

835:                                              ; preds = %825
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %82, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %822, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %836 unwind label %841

836:                                              ; preds = %835
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  br label %846

837:                                              ; preds = %825, %823
  %838 = landingpad { ptr, i32 }
          cleanup
  %839 = extractvalue { ptr, i32 } %838, 0
  store ptr %839, ptr %5, align 8
  %840 = extractvalue { ptr, i32 } %838, 1
  store i32 %840, ptr %6, align 4
  br label %845

841:                                              ; preds = %835
  %842 = landingpad { ptr, i32 }
          cleanup
  %843 = extractvalue { ptr, i32 } %842, 0
  store ptr %843, ptr %5, align 8
  %844 = extractvalue { ptr, i32 } %842, 1
  store i32 %844, ptr %6, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  br label %845

845:                                              ; preds = %841, %837
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  br label %847

846:                                              ; preds = %836, %805
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %60) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #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

847:                                              ; preds = %845, %820, %642
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  br label %848

848:                                              ; preds = %847, %641
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %60) #8
  br label %849

849:                                              ; preds = %848, %632
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #8
  br label %850

850:                                              ; preds = %849, %620
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #8
  br label %851

851:                                              ; preds = %850, %616
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  br label %852

852:                                              ; preds = %851, %571, %513, %488
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  br label %853

853:                                              ; preds = %852, %484
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  br label %854

854:                                              ; preds = %853, %480
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  br label %855

855:                                              ; preds = %854, %434, %409
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #8
  br label %856

856:                                              ; preds = %855, %405
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  br label %857

857:                                              ; preds = %856, %401
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  br label %858

858:                                              ; preds = %857, %369, %344
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  br label %859

859:                                              ; preds = %858, %340
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  br label %860

860:                                              ; preds = %859, %336
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  br label %861

861:                                              ; preds = %860, %304, %263, %224, %134
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #8
  br label %862

862:                                              ; preds = %861, %130
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #8
  br label %863

863:                                              ; preds = %862, %126
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  br label %864

864:                                              ; preds = %863, %122
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #8
  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 %865

865:                                              ; preds = %864
  %866 = load ptr, ptr %5, align 8
  %867 = load i32, ptr %6, align 4
  %868 = insertvalue { ptr, i32 } poison, ptr %866, 0
  %869 = insertvalue { ptr, i32 } %868, i32 %867, 1
  resume { ptr, i32 } %869

870:                                              ; preds = %768, %708, %549, %479, %400, %335, %282, %241, %188, %121
  unreachable
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA62_cJRKNS_7element4TypeERA25_KcS5_RA3_S6_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(62), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(25), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(3)) #6

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

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

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

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

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

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

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

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

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

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { 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, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !66, i64 680}
!12 = !{!"_ZTSN6ngraph2op2v13PadE", !13, i64 0, !66, i64 680}
!13 = !{!"_ZTSN6ngraph2op2OpE", !14, i64 0}
!14 = !{!"_ZTSN6ngraph4NodeE", !15, i64 8, !19, i64 24, !19, i64 80, !25, i64 136, !29, i64 160, !33, i64 184, !21, i64 216, !33, i64 224, !33, i64 256, !35, i64 288, !37, i64 344, !45, i64 392, !50, i64 472, !55, i64 552, !57, i64 608, !58, i64 616, !61, i64 632}
!15 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !16, i64 0}
!16 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !17, i64 0}
!17 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !18, i64 8}
!18 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!19 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !20, i64 0}
!20 = !{!"_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, !21, i64 8, !22, i64 16, !21, i64 24, !23, i64 32, !6, i64 48}
!21 = !{!"long", !7, i64 0}
!22 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!23 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !24, i64 0, !21, i64 8}
!24 = !{!"float", !7, i64 0}
!25 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !26, i64 0}
!26 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!29 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!33 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !34, i64 0, !21, i64 8, !7, i64 16}
!34 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!35 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !36, i64 0}
!36 = !{!"_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, !21, i64 8, !22, i64 16, !21, i64 24, !23, i64 32, !6, i64 48}
!37 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !40, i64 0, !42, i64 8}
!40 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !41, i64 0}
!41 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!42 = !{!"_ZTSSt15_Rb_tree_header", !43, i64 0, !21, i64 32}
!43 = !{!"_ZTSSt18_Rb_tree_node_base", !44, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!44 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!45 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !46, i64 0}
!46 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !47, i64 0}
!47 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !48, i64 0}
!48 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !21, i64 8, !49, i64 16, !49, i64 48}
!49 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!50 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !52, i64 0}
!52 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !53, i64 0}
!53 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !21, i64 8, !54, i64 16, !54, i64 48}
!54 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!55 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !56, i64 0}
!56 = !{!"_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, !21, i64 8, !22, i64 16, !21, i64 24, !23, i64 32, !6, i64 48}
!57 = !{!"int", !7, i64 0}
!58 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !59, i64 0}
!59 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !60, i64 8}
!60 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!61 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !62, i64 0}
!62 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !63, i64 0}
!63 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !64, i64 0, !42, i64 8}
!64 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !65, i64 0}
!65 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!66 = !{!"_ZTSN6ngraph2op7PadModeE", !7, i64 0}
!67 = !{i8 0, i8 2}
!68 = !{}
!69 = !{!70, !6, i64 0}
!70 = !{!"_ZTSN6ngraph12CheckLocInfoE", !6, i64 0, !57, i64 8, !6, i64 16}
!71 = !{!70, !57, i64 8}
!72 = !{!70, !6, i64 16}
!73 = !{!74, !74, i64 0}
!74 = !{!"vtable pointer", !8, i64 0}
!75 = !{!21, !21, i64 0}
!76 = !{i64 0, i64 8, !75, i64 8, i64 8, !75}
!77 = distinct !{!77, !78}
!78 = !{!"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.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.84", i64 }
%"class.std::shared_ptr.84" = type { %"class.std::__shared_ptr.85" }
%"class.std::__shared_ptr.85" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"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::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::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.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [77 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.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
@.str.25 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [62 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #5 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 #5 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

declare noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16)) 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 #2 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 #6

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op2v13Pad14get_pads_beginEv(ptr dead_on_unwind noalias writable sret(%"class.ngraph::CoordinateDiff") align 8, ptr noundef nonnull align 8 dereferenceable(684)) local_unnamed_addr #5 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op2v13Pad12get_pads_endEv(ptr dead_on_unwind noalias writable sret(%"class.ngraph::CoordinateDiff") align 8, ptr noundef nonnull align 8 dereferenceable(684)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v13Pad24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(684) %0) unnamed_addr #5 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.std::__cxx11::basic_stringstream", align 8
  %11 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %14 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.ngraph::Dimension", align 8
  %17 = alloca %"class.ngraph::Dimension", align 8
  %18 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %19 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", 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 %"class.ngraph::Dimension", align 8
  %27 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %28 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %31 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.ngraph::CoordinateDiff", align 8
  %34 = alloca %"class.ngraph::CoordinateDiff", align 8
  %35 = alloca %"class.std::shared_ptr.84", align 8
  %36 = alloca %"class.ngraph::Output", align 8
  %37 = alloca %"class.std::shared_ptr.84", align 8
  %38 = alloca %"class.ngraph::Output", align 8
  %39 = alloca %"class.std::vector.88", align 8
  %40 = alloca %"class.ngraph::Dimension", align 8
  %41 = alloca %"class.std::allocator.90", align 1
  %42 = alloca %"class.ngraph::Dimension", align 8
  %43 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %44 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %47 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.ngraph::PartialShape", align 8
  %50 = 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)
  %51 = 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 %52 unwind label %81

52:                                               ; preds = %1
  %53 = 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 %54 unwind label %83

54:                                               ; preds = %52
  %55 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %56 unwind label %85

56:                                               ; preds = %54
  %57 = invoke noundef i64 @_ZNK6ngraph4Node14get_input_sizeEv(ptr noundef nonnull align 8 dereferenceable(680) %0)
          to label %58 unwind label %87

58:                                               ; preds = %56
  %59 = getelementptr inbounds i8, ptr %0, i64 680
  %60 = load i32, ptr %59, align 8, !tbaa !5
  %61 = icmp eq i32 %60, 0
  %62 = icmp eq i64 %57, 4
  %or.cond = and i1 %62, %61
  br i1 %or.cond, label %63, label %133

63:                                               ; preds = %58
  %64 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
          to label %65 unwind label %89

65:                                               ; preds = %63
  %66 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
          to label %67 unwind label %91

67:                                               ; preds = %65
  %68 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 4 dereferenceable(4) %64)
          to label %69 unwind label %91

69:                                               ; preds = %67
  br i1 %68, label %103, label %70

70:                                               ; preds = %69
  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 %71 unwind label %93

71:                                               ; preds = %70
  %72 = getelementptr inbounds i8, ptr %3, i64 16
  %73 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA62_cJRKNS_7element4TypeERA25_KcS5_RA3_S6_EEERSoSB_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 1 dereferenceable(62) @.str.25, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 1 dereferenceable(25) @.str.26, ptr noundef nonnull align 4 dereferenceable(4) %64, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %74 unwind label %95

74:                                               ; preds = %71
  %75 = 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 !64
  %76 = getelementptr inbounds i8, ptr %4, i64 8
  store i32 251, ptr %76, align 8, !tbaa !66
  %77 = getelementptr inbounds i8, ptr %4, i64 16
  store ptr @.str.27, ptr %77, align 8, !tbaa !67
  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 %78 unwind label %.thread

78:                                               ; preds = %74
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %75, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %80 unwind label %.thread220

.thread220:                                       ; preds = %78
  %79 = 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 %100

80:                                               ; preds = %78
  invoke void @__cxa_throw(ptr nonnull %75, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %98

81:                                               ; preds = %1
  %82 = landingpad { ptr, i32 }
          cleanup
  br label %535

83:                                               ; preds = %52
  %84 = landingpad { ptr, i32 }
          cleanup
  br label %535

85:                                               ; preds = %54
  %86 = landingpad { ptr, i32 }
          cleanup
  br label %535

87:                                               ; preds = %157, %133, %56
  %88 = landingpad { ptr, i32 }
          cleanup
  br label %535

89:                                               ; preds = %63
  %90 = landingpad { ptr, i32 }
          cleanup
  br label %535

91:                                               ; preds = %67, %65
  %92 = landingpad { ptr, i32 }
          cleanup
  br label %535

93:                                               ; preds = %70
  %94 = landingpad { ptr, i32 }
          cleanup
  br label %102

95:                                               ; preds = %71
  %96 = landingpad { ptr, i32 }
          cleanup
  br label %101

.thread:                                          ; preds = %74
  %97 = 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 %100

98:                                               ; preds = %80
  %99 = 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 %101

100:                                              ; preds = %.thread220, %.thread
  %.pn219 = phi { ptr, i32 } [ %97, %.thread ], [ %79, %.thread220 ]
  call void @__cxa_free_exception(ptr %75) #8
  br label %101

101:                                              ; preds = %98, %100, %95
  %.pn.pn = phi { ptr, i32 } [ %.pn219, %100 ], [ %99, %98 ], [ %96, %95 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3) #8
  br label %102

102:                                              ; preds = %101, %93
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %101 ], [ %94, %93 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %3) #8
  br label %535

103:                                              ; preds = %69
  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 %104 unwind label %118

104:                                              ; preds = %103
  %105 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %106 unwind label %120

106:                                              ; preds = %104
  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 %105, label %133, label %107

107:                                              ; preds = %106
  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 %108 unwind label %123

108:                                              ; preds = %107
  %109 = getelementptr inbounds i8, ptr %7, i64 16
  %110 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA52_cJRKNS_12PartialShapeERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef nonnull align 1 dereferenceable(52) @.str.5, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %111 unwind label %125

111:                                              ; preds = %108
  %112 = 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 !64
  %113 = getelementptr inbounds i8, ptr %8, i64 8
  store i32 257, ptr %113, align 8, !tbaa !66
  %114 = getelementptr inbounds i8, ptr %8, i64 16
  store ptr @.str.28, ptr %114, align 8, !tbaa !67
  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 %115 unwind label %.thread222

115:                                              ; preds = %111
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %112, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %117 unwind label %.thread226

.thread226:                                       ; preds = %115
  %116 = 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 %130

117:                                              ; preds = %115
  invoke void @__cxa_throw(ptr nonnull %112, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %128

118:                                              ; preds = %103
  %119 = landingpad { ptr, i32 }
          cleanup
  br label %122

120:                                              ; preds = %104
  %121 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #8
  br label %122

122:                                              ; preds = %120, %118
  %.pn144 = phi { ptr, i32 } [ %121, %120 ], [ %119, %118 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #8
  br label %535

123:                                              ; preds = %107
  %124 = landingpad { ptr, i32 }
          cleanup
  br label %132

125:                                              ; preds = %108
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %131

.thread222:                                       ; preds = %111
  %127 = 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 %130

128:                                              ; preds = %117
  %129 = 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 %131

130:                                              ; preds = %.thread226, %.thread222
  %.pn207225 = phi { ptr, i32 } [ %127, %.thread222 ], [ %116, %.thread226 ]
  call void @__cxa_free_exception(ptr %112) #8
  br label %131

131:                                              ; preds = %128, %130, %125
  %.pn207.pn = phi { ptr, i32 } [ %.pn207225, %130 ], [ %129, %128 ], [ %126, %125 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7) #8
  br label %132

132:                                              ; preds = %131, %123
  %.pn207.pn.pn = phi { ptr, i32 } [ %.pn207.pn, %131 ], [ %124, %123 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %7) #8
  br label %535

133:                                              ; preds = %106, %58
  %134 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %53)
          to label %135 unwind label %87

135:                                              ; preds = %133
  br i1 %134, label %157, label %136

136:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %10) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %10)
          to label %137 unwind label %147

137:                                              ; preds = %136
  %138 = getelementptr inbounds i8, ptr %10, i64 16
  %139 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA48_cJRKNS_7element4TypeERA3_KcEEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %138, ptr noundef nonnull align 1 dereferenceable(48) @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %53, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %140 unwind label %149

140:                                              ; preds = %137
  %141 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #8
  store ptr @.str.3, ptr %11, align 8, !tbaa !64
  %142 = getelementptr inbounds i8, ptr %11, i64 8
  store i32 264, ptr %142, align 8, !tbaa !66
  %143 = getelementptr inbounds i8, ptr %11, i64 16
  store ptr @.str.30, ptr %143, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(128) %10)
          to label %144 unwind label %.thread228

144:                                              ; preds = %140
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %141, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %146 unwind label %.thread232

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

146:                                              ; preds = %144
  invoke void @__cxa_throw(ptr nonnull %141, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %152

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

149:                                              ; preds = %137
  %150 = landingpad { ptr, i32 }
          cleanup
  br label %155

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

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

154:                                              ; preds = %.thread232, %.thread228
  %.pn146231 = phi { ptr, i32 } [ %151, %.thread228 ], [ %145, %.thread232 ]
  call void @__cxa_free_exception(ptr %141) #8
  br label %155

155:                                              ; preds = %152, %154, %149
  %.pn146.pn = phi { ptr, i32 } [ %.pn146231, %154 ], [ %153, %152 ], [ %150, %149 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %10) #8
  br label %156

156:                                              ; preds = %155, %147
  %.pn146.pn.pn = phi { ptr, i32 } [ %.pn146.pn, %155 ], [ %148, %147 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %10) #8
  br label %535

157:                                              ; preds = %135
  %158 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %159 unwind label %87

159:                                              ; preds = %157
  br i1 %158, label %181, label %160

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

161:                                              ; preds = %160
  %162 = getelementptr inbounds i8, ptr %13, i64 16
  %163 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA46_cJRKNS_7element4TypeERA3_KcEEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef nonnull align 1 dereferenceable(46) @.str.31, ptr noundef nonnull align 4 dereferenceable(4) %55, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %164 unwind label %173

164:                                              ; preds = %161
  %165 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #8
  store ptr @.str.3, ptr %14, align 8, !tbaa !64
  %166 = getelementptr inbounds i8, ptr %14, i64 8
  store i32 270, ptr %166, align 8, !tbaa !66
  %167 = getelementptr inbounds i8, ptr %14, i64 16
  store ptr @.str.32, ptr %167, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(128) %13)
          to label %168 unwind label %.thread234

168:                                              ; preds = %164
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %165, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %170 unwind label %.thread238

.thread238:                                       ; preds = %168
  %169 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #8
  br label %178

170:                                              ; preds = %168
  invoke void @__cxa_throw(ptr nonnull %165, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %176

171:                                              ; preds = %160
  %172 = landingpad { ptr, i32 }
          cleanup
  br label %180

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

.thread234:                                       ; preds = %164
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #8
  br label %178

176:                                              ; preds = %170
  %177 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #8
  br label %179

178:                                              ; preds = %.thread238, %.thread234
  %.pn150237 = phi { ptr, i32 } [ %175, %.thread234 ], [ %169, %.thread238 ]
  call void @__cxa_free_exception(ptr %165) #8
  br label %179

179:                                              ; preds = %176, %178, %173
  %.pn150.pn = phi { ptr, i32 } [ %.pn150237, %178 ], [ %177, %176 ], [ %174, %173 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #8
  br label %180

180:                                              ; preds = %179, %171
  %.pn150.pn.pn = phi { ptr, i32 } [ %.pn150.pn, %179 ], [ %172, %171 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %13) #8
  br label %535

181:                                              ; preds = %159
  %182 = 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 %183 unwind label %203

183:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #8
  %184 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %185 unwind label %205

185:                                              ; preds = %183
  %186 = extractvalue { i64, i64 } %184, 0
  store i64 %186, ptr %16, align 8
  %187 = getelementptr inbounds i8, ptr %16, i64 8
  %188 = extractvalue { i64, i64 } %184, 1
  store i64 %188, ptr %187, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %17, i64 noundef 1)
          to label %189 unwind label %207

189:                                              ; preds = %185
  %190 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %191 unwind label %207

191:                                              ; preds = %189
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  br i1 %190, label %219, label %192

192:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %18) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %18)
          to label %193 unwind label %209

193:                                              ; preds = %192
  %194 = getelementptr inbounds i8, ptr %18, i64 16
  %195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA43_cJRKNS_9DimensionERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %194, ptr noundef nonnull align 1 dereferenceable(43) @.str.33, ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %196 unwind label %211

196:                                              ; preds = %193
  %197 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #8
  store ptr @.str.3, ptr %19, align 8, !tbaa !64
  %198 = getelementptr inbounds i8, ptr %19, i64 8
  store i32 279, ptr %198, align 8, !tbaa !66
  %199 = getelementptr inbounds i8, ptr %19, i64 16
  store ptr @.str.34, ptr %199, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(128) %18)
          to label %200 unwind label %.thread240

200:                                              ; preds = %196
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %197, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %202 unwind label %.thread244

.thread244:                                       ; preds = %200
  %201 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  br label %216

202:                                              ; preds = %200
  invoke void @__cxa_throw(ptr nonnull %197, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %214

203:                                              ; preds = %181
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %535

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

207:                                              ; preds = %189, %185
  %208 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  br label %534

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

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

.thread240:                                       ; preds = %196
  %213 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  br label %216

214:                                              ; preds = %202
  %215 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  br label %217

216:                                              ; preds = %.thread244, %.thread240
  %.pn200243 = phi { ptr, i32 } [ %213, %.thread240 ], [ %201, %.thread244 ]
  call void @__cxa_free_exception(ptr %197) #8
  br label %217

217:                                              ; preds = %214, %216, %211
  %.pn200.pn = phi { ptr, i32 } [ %.pn200243, %216 ], [ %215, %214 ], [ %212, %211 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %18) #8
  br label %218

218:                                              ; preds = %217, %209
  %.pn200.pn.pn = phi { ptr, i32 } [ %.pn200.pn, %217 ], [ %210, %209 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %18) #8
  br label %534

219:                                              ; preds = %191
  %220 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %221 unwind label %241

221:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #8
  %222 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %220)
          to label %223 unwind label %243

223:                                              ; preds = %221
  %224 = extractvalue { i64, i64 } %222, 0
  store i64 %224, ptr %21, align 8
  %225 = getelementptr inbounds i8, ptr %21, i64 8
  %226 = extractvalue { i64, i64 } %222, 1
  store i64 %226, ptr %225, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %22, i64 noundef 1)
          to label %227 unwind label %245

227:                                              ; preds = %223
  %228 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %229 unwind label %245

229:                                              ; preds = %227
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #8
  br i1 %228, label %257, label %230

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

231:                                              ; preds = %230
  %232 = getelementptr inbounds i8, ptr %23, i64 16
  %233 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRKNS_9DimensionERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef nonnull align 1 dereferenceable(41) @.str.35, ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %234 unwind label %249

234:                                              ; preds = %231
  %235 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #8
  store ptr @.str.3, ptr %24, align 8, !tbaa !64
  %236 = getelementptr inbounds i8, ptr %24, i64 8
  store i32 287, ptr %236, align 8, !tbaa !66
  %237 = getelementptr inbounds i8, ptr %24, i64 16
  store ptr @.str.36, ptr %237, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(128) %23)
          to label %238 unwind label %.thread246

238:                                              ; preds = %234
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %235, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %240 unwind label %.thread250

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

240:                                              ; preds = %238
  invoke void @__cxa_throw(ptr nonnull %235, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %252

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

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

245:                                              ; preds = %227, %223
  %246 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #8
  br label %533

247:                                              ; preds = %230
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %256

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

.thread246:                                       ; preds = %234
  %251 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  br label %254

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

254:                                              ; preds = %.thread250, %.thread246
  %.pn193249 = phi { ptr, i32 } [ %251, %.thread246 ], [ %239, %.thread250 ]
  call void @__cxa_free_exception(ptr %235) #8
  br label %255

255:                                              ; preds = %252, %254, %249
  %.pn193.pn = phi { ptr, i32 } [ %.pn193249, %254 ], [ %253, %252 ], [ %250, %249 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23) #8
  br label %256

256:                                              ; preds = %255, %247
  %.pn193.pn.pn = phi { ptr, i32 } [ %.pn193.pn, %255 ], [ %248, %247 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %23) #8
  br label %533

257:                                              ; preds = %229
  %258 = 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 %259 unwind label %290

259:                                              ; preds = %257
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #8
  %260 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %258)
          to label %261 unwind label %292

261:                                              ; preds = %259
  %262 = extractvalue { i64, i64 } %260, 0
  store i64 %262, ptr %26, align 8
  %263 = getelementptr inbounds i8, ptr %26, i64 8
  %264 = extractvalue { i64, i64 } %260, 1
  store i64 %264, ptr %263, align 8
  %265 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %266 unwind label %294

266:                                              ; preds = %261
  br i1 %265, label %267, label %306

267:                                              ; preds = %266
  %268 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %269 unwind label %294

269:                                              ; preds = %267
  br i1 %268, label %270, label %306

270:                                              ; preds = %269
  %271 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %182, i64 noundef 0)
          to label %272 unwind label %294

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

274:                                              ; preds = %272
  %275 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %276 unwind label %294

276:                                              ; preds = %274
  %.not = icmp sgt i64 %273, %275
  br i1 %.not, label %277, label %306

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

278:                                              ; preds = %277
  %279 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %182, i64 noundef 0)
          to label %280 unwind label %298

280:                                              ; preds = %278
  %281 = getelementptr inbounds i8, ptr %27, i64 16
  %282 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA85_cJRKNS_9DimensionERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %281, ptr noundef nonnull align 1 dereferenceable(85) @.str.37, ptr noundef nonnull align 8 dereferenceable(16) %279, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %283 unwind label %298

283:                                              ; preds = %280
  %284 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #8
  store ptr @.str.3, ptr %28, align 8, !tbaa !64
  %285 = getelementptr inbounds i8, ptr %28, i64 8
  store i32 298, ptr %285, align 8, !tbaa !66
  %286 = getelementptr inbounds i8, ptr %28, i64 16
  store ptr @.str.38, ptr %286, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(128) %27)
          to label %287 unwind label %.thread252

287:                                              ; preds = %283
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %284, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %289 unwind label %.thread256

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

289:                                              ; preds = %287
  invoke void @__cxa_throw(ptr nonnull %284, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %301

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

292:                                              ; preds = %259
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %533

294:                                              ; preds = %316, %314, %312, %309, %306, %274, %272, %270, %267, %261
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %532

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

298:                                              ; preds = %280, %278
  %299 = landingpad { ptr, i32 }
          cleanup
  br label %304

.thread252:                                       ; preds = %283
  %300 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  br label %303

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

303:                                              ; preds = %.thread256, %.thread252
  %.pn154255 = phi { ptr, i32 } [ %300, %.thread252 ], [ %288, %.thread256 ]
  call void @__cxa_free_exception(ptr %284) #8
  br label %304

304:                                              ; preds = %301, %303, %298
  %.pn154.pn = phi { ptr, i32 } [ %.pn154255, %303 ], [ %302, %301 ], [ %299, %298 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %27) #8
  br label %305

305:                                              ; preds = %304, %296
  %.pn154.pn.pn = phi { ptr, i32 } [ %.pn154.pn, %304 ], [ %297, %296 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %27) #8
  br label %532

306:                                              ; preds = %276, %269, %266
  %307 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %308 unwind label %294

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

309:                                              ; preds = %308
  %310 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %220)
          to label %311 unwind label %294

311:                                              ; preds = %309
  br i1 %310, label %312, label %342

312:                                              ; preds = %311
  %313 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %220, i64 noundef 0)
          to label %314 unwind label %294

314:                                              ; preds = %312
  %315 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %313)
          to label %316 unwind label %294

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

318:                                              ; preds = %316
  %.not158 = icmp sgt i64 %315, %317
  br i1 %.not158, label %319, label %342

319:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %30) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30)
          to label %320 unwind label %332

320:                                              ; preds = %319
  %321 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %220, i64 noundef 0)
          to label %322 unwind label %334

322:                                              ; preds = %320
  %323 = getelementptr inbounds i8, ptr %30, i64 16
  %324 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRKNS_9DimensionERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %323, ptr noundef nonnull align 1 dereferenceable(81) @.str.39, ptr noundef nonnull align 8 dereferenceable(16) %321, ptr noundef nonnull align 1 dereferenceable(3) @.str.2)
          to label %325 unwind label %334

325:                                              ; preds = %322
  %326 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #8
  store ptr @.str.3, ptr %31, align 8, !tbaa !64
  %327 = getelementptr inbounds i8, ptr %31, i64 8
  store i32 307, ptr %327, align 8, !tbaa !66
  %328 = getelementptr inbounds i8, ptr %31, i64 16
  store ptr @.str.40, ptr %328, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(128) %30)
          to label %329 unwind label %.thread258

329:                                              ; preds = %325
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %326, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %331 unwind label %.thread262

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

331:                                              ; preds = %329
  invoke void @__cxa_throw(ptr nonnull %326, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %337

332:                                              ; preds = %319
  %333 = landingpad { ptr, i32 }
          cleanup
  br label %341

334:                                              ; preds = %322, %320
  %335 = landingpad { ptr, i32 }
          cleanup
  br label %340

.thread258:                                       ; preds = %325
  %336 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #8
  br label %339

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

339:                                              ; preds = %.thread262, %.thread258
  %.pn159261 = phi { ptr, i32 } [ %336, %.thread258 ], [ %330, %.thread262 ]
  call void @__cxa_free_exception(ptr %326) #8
  br label %340

340:                                              ; preds = %337, %339, %334
  %.pn159.pn = phi { ptr, i32 } [ %.pn159261, %339 ], [ %338, %337 ], [ %335, %334 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30) #8
  br label %341

341:                                              ; preds = %340, %332
  %.pn159.pn.pn = phi { ptr, i32 } [ %.pn159.pn, %340 ], [ %333, %332 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %30) #8
  br label %532

342:                                              ; preds = %318, %311, %308
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %33) #8
  invoke void @_ZNK6ngraph2op2v13Pad14get_pads_beginEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %33, ptr noundef nonnull align 8 dereferenceable(684) %0)
          to label %343 unwind label %409

343:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #8
  invoke void @_ZNK6ngraph2op2v13Pad12get_pads_endEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %34, ptr noundef nonnull align 8 dereferenceable(684) %0)
          to label %344 unwind label %411

344:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %36, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %345 unwind label %413

345:                                              ; preds = %344
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.84") align 8 %35, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %346 unwind label %415

346:                                              ; preds = %345
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %38, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %347 unwind label %418

347:                                              ; preds = %346
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.84") align 8 %37, ptr noundef nonnull align 8 dereferenceable(24) %38)
          to label %348 unwind label %420

348:                                              ; preds = %347
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #8
  %349 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %350 unwind label %423

350:                                              ; preds = %348
  br i1 %349, label %351, label %514

351:                                              ; preds = %350
  %352 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %35) #8
  %353 = load ptr, ptr %352, align 8, !tbaa !68
  %354 = getelementptr inbounds i8, ptr %353, i64 160
  %355 = load ptr, ptr %354, align 8
  %356 = invoke noundef zeroext i1 %355(ptr noundef nonnull align 8 dereferenceable(680) %352)
          to label %357 unwind label %423

357:                                              ; preds = %351
  br i1 %356, label %358, label %514

358:                                              ; preds = %357
  %359 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %37) #8
  %360 = load ptr, ptr %359, align 8, !tbaa !68
  %361 = getelementptr inbounds i8, ptr %360, i64 160
  %362 = load ptr, ptr %361, align 8
  %363 = invoke noundef zeroext i1 %362(ptr noundef nonnull align 8 dereferenceable(680) %359)
          to label %364 unwind label %423

364:                                              ; preds = %358
  br i1 %363, label %365, label %514

365:                                              ; preds = %364
  %366 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #8
  %367 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %368 = extractvalue { i64, i64 } %367, 0
  store i64 %368, ptr %40, align 8
  %369 = getelementptr inbounds i8, ptr %40, i64 8
  %370 = extractvalue { i64, i64 } %367, 1
  store i64 %370, ptr %369, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2EmRKS1_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %39, i64 noundef %366, ptr noundef nonnull align 8 dereferenceable(16) %40, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %371 unwind label %425

371:                                              ; preds = %365
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #8
  %.not277 = icmp eq i64 %366, 0
  br i1 %.not277, label %._crit_edge, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %371
  %372 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %258, i64 noundef 0)
          to label %373 unwind label %.loopexit.split-lp

373:                                              ; preds = %.lr.ph.preheader
  %374 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %372)
          to label %375 unwind label %.loopexit.split-lp

375:                                              ; preds = %373
  br i1 %374, label %376, label %389

376:                                              ; preds = %375
  %377 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef 0) #8
  %378 = load i64, ptr %377, align 8, !tbaa !70
  %379 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %258, i64 noundef 0)
          to label %380 unwind label %.loopexit.split-lp287

380:                                              ; preds = %376
  %381 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %379)
          to label %382 unwind label %.loopexit.split-lp287

382:                                              ; preds = %380
  %383 = add nsw i64 %381, %378
  %384 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef 0) #8
  %385 = load i64, ptr %384, align 8, !tbaa !70
  %386 = add nsw i64 %383, %385
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %42, i64 noundef %386)
          to label %387 unwind label %.loopexit.split-lp292

387:                                              ; preds = %382
  %388 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %39, i64 noundef 0) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %388, ptr noundef nonnull align 8 dereferenceable(16) %42, i64 16, i1 false), !tbaa.struct !71
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  br label %389

389:                                              ; preds = %387, %375
  %exitcond.peel.not = icmp eq i64 %366, 1
  br i1 %exitcond.peel.not, label %._crit_edge, label %.lr.ph.peel.next

.lr.ph.peel.next:                                 ; preds = %389
  %390 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %258, i64 noundef 1)
          to label %391 unwind label %.loopexit.split-lp

391:                                              ; preds = %.lr.ph.peel.next
  %392 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %390)
          to label %393 unwind label %.loopexit.split-lp

393:                                              ; preds = %391
  br i1 %392, label %394, label %407

394:                                              ; preds = %393
  %395 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef 1) #8
  %396 = load i64, ptr %395, align 8, !tbaa !70
  %397 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %258, i64 noundef 1)
          to label %398 unwind label %.loopexit.split-lp287

398:                                              ; preds = %394
  %399 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %397)
          to label %400 unwind label %.loopexit.split-lp287

400:                                              ; preds = %398
  %401 = add nsw i64 %399, %396
  %402 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef 1) #8
  %403 = load i64, ptr %402, align 8, !tbaa !70
  %404 = add nsw i64 %401, %403
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %42, i64 noundef %404)
          to label %405 unwind label %.loopexit.split-lp292

405:                                              ; preds = %400
  %406 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %39, i64 noundef 1) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %406, ptr noundef nonnull align 8 dereferenceable(16) %42, i64 16, i1 false), !tbaa.struct !71
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  br label %407

407:                                              ; preds = %405, %393
  %exitcond.peel284.not = icmp eq i64 %366, 2
  br i1 %exitcond.peel284.not, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %500, %389, %407, %371
  %408 = 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 %502 unwind label %505

409:                                              ; preds = %342
  %410 = landingpad { ptr, i32 }
          cleanup
  br label %532

411:                                              ; preds = %343
  %412 = landingpad { ptr, i32 }
          cleanup
  br label %531

413:                                              ; preds = %344
  %414 = landingpad { ptr, i32 }
          cleanup
  br label %417

415:                                              ; preds = %345
  %416 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  br label %417

417:                                              ; preds = %415, %413
  %.pn163 = phi { ptr, i32 } [ %416, %415 ], [ %414, %413 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  br label %530

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

420:                                              ; preds = %347
  %421 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  br label %422

422:                                              ; preds = %420, %418
  %.pn165 = phi { ptr, i32 } [ %421, %420 ], [ %419, %418 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #8
  br label %529

423:                                              ; preds = %514, %358, %351, %348
  %424 = landingpad { ptr, i32 }
          cleanup
  br label %528

425:                                              ; preds = %365
  %426 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #8
  br label %513

.lr.ph:                                           ; preds = %407, %500
  %.0126276 = phi i64 [ %501, %500 ], [ 2, %407 ]
  %427 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %258, i64 noundef %.0126276)
          to label %428 unwind label %.loopexit

428:                                              ; preds = %.lr.ph
  %429 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %427)
          to label %430 unwind label %.loopexit

430:                                              ; preds = %428
  br i1 %429, label %431, label %500

431:                                              ; preds = %430
  %432 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef %.0126276) #8
  %433 = load i64, ptr %432, align 8, !tbaa !70
  %434 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %258, i64 noundef %.0126276)
          to label %435 unwind label %.loopexit286

435:                                              ; preds = %431
  %436 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %434)
          to label %437 unwind label %.loopexit286

437:                                              ; preds = %435
  %438 = add nsw i64 %436, %433
  %439 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef %.0126276) #8
  %440 = load i64, ptr %439, align 8, !tbaa !70
  %441 = add nsw i64 %438, %440
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %42, i64 noundef %441)
          to label %442 unwind label %.loopexit291

442:                                              ; preds = %437
  %443 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %39, i64 noundef %.0126276) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %443, ptr noundef nonnull align 8 dereferenceable(16) %42, i64 16, i1 false), !tbaa.struct !71
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  %444 = load i32, ptr %59, align 8, !tbaa !5
  %.not171 = icmp eq i32 %444, 1
  br i1 %.not171, label %445, label %472

445:                                              ; preds = %442
  %446 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %258, i64 noundef %.0126276)
          to label %447 unwind label %.loopexit286

447:                                              ; preds = %445
  %448 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %446)
          to label %449 unwind label %.loopexit286

449:                                              ; preds = %447
  %450 = icmp sgt i64 %448, 0
  br i1 %450, label %thread-pre-split, label %.loopexit296

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

451:                                              ; preds = %.loopexit296
  %452 = getelementptr inbounds i8, ptr %43, i64 16
  %453 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA85_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %452, ptr noundef nonnull align 1 dereferenceable(85) @.str.19)
          to label %454 unwind label %464

454:                                              ; preds = %451
  %455 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #8
  store ptr @.str.3, ptr %44, align 8, !tbaa !64
  %456 = getelementptr inbounds i8, ptr %44, i64 8
  store i32 332, ptr %456, align 8, !tbaa !66
  %457 = getelementptr inbounds i8, ptr %44, i64 16
  store ptr @.str.20, ptr %457, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %458 unwind label %.thread264

458:                                              ; preds = %454
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %455, ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %460 unwind label %.thread268

.thread268:                                       ; preds = %458
  %459 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #8
  br label %469

460:                                              ; preds = %458
  invoke void @__cxa_throw(ptr nonnull %455, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %467

.loopexit:                                        ; preds = %.lr.ph, %428
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %512

.loopexit.split-lp:                               ; preds = %.lr.ph.preheader, %373, %.lr.ph.peel.next, %391
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %512

.loopexit286:                                     ; preds = %431, %435, %445, %447, %474, %476
  %lpad.loopexit288 = landingpad { ptr, i32 }
          cleanup
  br label %512

.loopexit.split-lp287:                            ; preds = %376, %380, %394, %398
  %lpad.loopexit.split-lp289 = landingpad { ptr, i32 }
          cleanup
  br label %512

.loopexit291:                                     ; preds = %437
  %lpad.loopexit293 = landingpad { ptr, i32 }
          cleanup
  br label %461

.loopexit.split-lp292:                            ; preds = %382, %400
  %lpad.loopexit.split-lp294 = landingpad { ptr, i32 }
          cleanup
  br label %461

461:                                              ; preds = %.loopexit.split-lp292, %.loopexit291
  %lpad.phi295 = phi { ptr, i32 } [ %lpad.loopexit293, %.loopexit291 ], [ %lpad.loopexit.split-lp294, %.loopexit.split-lp292 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  br label %512

462:                                              ; preds = %.loopexit296
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %471

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

.thread264:                                       ; preds = %454
  %466 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #8
  br label %469

467:                                              ; preds = %460
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #8
  br label %470

469:                                              ; preds = %.thread268, %.thread264
  %.pn172267 = phi { ptr, i32 } [ %466, %.thread264 ], [ %459, %.thread268 ]
  call void @__cxa_free_exception(ptr %455) #8
  br label %470

470:                                              ; preds = %467, %469, %464
  %.pn172.pn = phi { ptr, i32 } [ %.pn172267, %469 ], [ %468, %467 ], [ %465, %464 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43) #8
  br label %471

471:                                              ; preds = %470, %462
  %.pn172.pn.pn = phi { ptr, i32 } [ %.pn172.pn, %470 ], [ %463, %462 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %43) #8
  br label %512

thread-pre-split:                                 ; preds = %449
  %.pr = load i32, ptr %59, align 8, !tbaa !5
  br label %472

472:                                              ; preds = %thread-pre-split, %442
  %473 = phi i32 [ %.pr, %thread-pre-split ], [ %444, %442 ]
  %.not176 = icmp eq i32 %473, 2
  br i1 %.not176, label %474, label %500

474:                                              ; preds = %472
  %475 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %258, i64 noundef %.0126276)
          to label %476 unwind label %.loopexit286

476:                                              ; preds = %474
  %477 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %475)
          to label %478 unwind label %.loopexit286

478:                                              ; preds = %476
  %479 = icmp sgt i64 %477, 1
  br i1 %479, label %500, label %.loopexit297

.loopexit297:                                     ; preds = %478
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %46) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %46)
          to label %480 unwind label %490

480:                                              ; preds = %.loopexit297
  %481 = getelementptr inbounds i8, ptr %46, i64 16
  %482 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA88_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %481, ptr noundef nonnull align 1 dereferenceable(88) @.str.21)
          to label %483 unwind label %492

483:                                              ; preds = %480
  %484 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %47) #8
  store ptr @.str.3, ptr %47, align 8, !tbaa !64
  %485 = getelementptr inbounds i8, ptr %47, i64 8
  store i32 337, ptr %485, align 8, !tbaa !66
  %486 = getelementptr inbounds i8, ptr %47, i64 16
  store ptr @.str.22, ptr %486, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(128) %46)
          to label %487 unwind label %.thread270

487:                                              ; preds = %483
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %484, ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %489 unwind label %.thread274

.thread274:                                       ; preds = %487
  %488 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #8
  br label %497

489:                                              ; preds = %487
  invoke void @__cxa_throw(ptr nonnull %484, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %536 unwind label %495

490:                                              ; preds = %.loopexit297
  %491 = landingpad { ptr, i32 }
          cleanup
  br label %499

492:                                              ; preds = %480
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %498

.thread270:                                       ; preds = %483
  %494 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #8
  br label %497

495:                                              ; preds = %489
  %496 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #8
  br label %498

497:                                              ; preds = %.thread274, %.thread270
  %.pn177273 = phi { ptr, i32 } [ %494, %.thread270 ], [ %488, %.thread274 ]
  call void @__cxa_free_exception(ptr %484) #8
  br label %498

498:                                              ; preds = %495, %497, %492
  %.pn177.pn = phi { ptr, i32 } [ %.pn177273, %497 ], [ %496, %495 ], [ %493, %492 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %46) #8
  br label %499

499:                                              ; preds = %498, %490
  %.pn177.pn.pn = phi { ptr, i32 } [ %.pn177.pn, %498 ], [ %491, %490 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %46) #8
  br label %512

500:                                              ; preds = %478, %472, %430
  %501 = add nuw i64 %.0126276, 1
  %exitcond.not = icmp eq i64 %501, %366
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !72

502:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(24) %39)
          to label %503 unwind label %507

503:                                              ; preds = %502
  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) %408, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %504 unwind label %509

504:                                              ; preds = %503
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #8
  br label %527

505:                                              ; preds = %._crit_edge
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %512

507:                                              ; preds = %502
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %511

509:                                              ; preds = %503
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %511

511:                                              ; preds = %509, %507
  %.pn169 = phi { ptr, i32 } [ %510, %509 ], [ %508, %507 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  br label %512

512:                                              ; preds = %.loopexit286, %.loopexit.split-lp287, %.loopexit, %.loopexit.split-lp, %499, %471, %461, %511, %505
  %.pn177.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn169, %511 ], [ %506, %505 ], [ %.pn177.pn.pn, %499 ], [ %.pn172.pn.pn, %471 ], [ %lpad.phi295, %461 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ], [ %lpad.loopexit288, %.loopexit286 ], [ %lpad.loopexit.split-lp289, %.loopexit.split-lp287 ]
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  br label %513

513:                                              ; preds = %512, %425
  %.pn177.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn.pn.pn.pn, %512 ], [ %426, %425 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #8
  br label %528

514:                                              ; preds = %364, %357, %350
  %515 = 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 %516 unwind label %423

516:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #8
  %517 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %518 = extractvalue { i64, i64 } %517, 0
  %519 = extractvalue { i64, i64 } %517, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %50, i64 %518, i64 %519)
          to label %520 unwind label %522

520:                                              ; preds = %516
  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) %515, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %521 unwind label %524

521:                                              ; preds = %520
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  br label %527

522:                                              ; preds = %516
  %523 = landingpad { ptr, i32 }
          cleanup
  br label %526

524:                                              ; preds = %520
  %525 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %526

526:                                              ; preds = %524, %522
  %.pn167 = phi { ptr, i32 } [ %525, %524 ], [ %523, %522 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  br label %528

527:                                              ; preds = %521, %504
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #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

528:                                              ; preds = %526, %513, %423
  %.pn177.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn.pn.pn.pn.pn, %513 ], [ %.pn167, %526 ], [ %424, %423 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #8
  br label %529

529:                                              ; preds = %528, %422
  %.pn177.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn.pn.pn.pn.pn.pn, %528 ], [ %.pn165, %422 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #8
  br label %530

530:                                              ; preds = %529, %417
  %.pn177.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn.pn.pn.pn.pn.pn.pn, %529 ], [ %.pn163, %417 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  br label %531

531:                                              ; preds = %530, %411
  %.pn177.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn.pn.pn.pn.pn.pn.pn.pn, %530 ], [ %412, %411 ]
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #8
  br label %532

532:                                              ; preds = %409, %531, %341, %305, %294
  %.pn177.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn, %341 ], [ %295, %294 ], [ %.pn154.pn.pn, %305 ], [ %.pn177.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %531 ], [ %410, %409 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  br label %533

533:                                              ; preds = %290, %532, %292, %256, %245
  %.pn193.pn.pn.pn = phi { ptr, i32 } [ %.pn193.pn.pn, %256 ], [ %246, %245 ], [ %291, %290 ], [ %.pn177.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %532 ], [ %293, %292 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  br label %534

534:                                              ; preds = %241, %533, %243, %218, %207
  %.pn200.pn.pn.pn = phi { ptr, i32 } [ %.pn200.pn.pn, %218 ], [ %208, %207 ], [ %242, %241 ], [ %.pn193.pn.pn.pn, %533 ], [ %244, %243 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #8
  br label %535

535:                                              ; preds = %83, %87, %156, %180, %91, %102, %122, %132, %89, %205, %534, %203, %85, %81
  %.pn207.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %82, %81 ], [ %84, %83 ], [ %86, %85 ], [ %.pn150.pn.pn, %180 ], [ %88, %87 ], [ %.pn146.pn.pn, %156 ], [ %90, %89 ], [ %.pn207.pn.pn, %132 ], [ %.pn144, %122 ], [ %.pn.pn.pn, %102 ], [ %92, %91 ], [ %204, %203 ], [ %.pn200.pn.pn.pn, %534 ], [ %206, %205 ]
  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 } %.pn207.pn.pn.pn.pn.pn.pn.pn.pn

536:                                              ; preds = %489, %460, %331, %289, %240, %202, %170, %146, %117, %80
  unreachable
}

declare noundef i64 @_ZNK6ngraph4Node14get_input_sizeEv(ptr noundef nonnull align 8 dereferenceable(680)) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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