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

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

%"class.ngraph::Strides" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::CoordinateDiff" = type { %"class.std::vector.74" }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.69" }
%"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::PartialShape" = type { i8, %"class.std::vector.126" }
%"class.std::vector.126" = type { %"struct.std::_Vector_base.127" }
%"struct.std::_Vector_base.127" = 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::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.__gnu_cxx::__normal_iterator.131" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.155" = type { ptr }
%"class.std::allocator.128" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.156" = type { ptr }
%"class.ngraph::op::v1::ConvolutionBackpropData" = type { %"class.ngraph::op::Op", %"class.ngraph::Strides", %"class.ngraph::Strides", %"class.ngraph::CoordinateDiff", %"class.ngraph::CoordinateDiff", i32, %"class.ngraph::CoordinateDiff" }
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.5", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.13", %"class.std::set", %"class.std::deque", %"class.std::deque.39", %"class.std::unordered_map", i32, %"class.std::shared_ptr", %"class.std::map" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_set.13" = type { %"class.std::_Hashtable.14" }
%"class.std::_Hashtable.14" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@.str.5 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [85 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.14 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [40 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: nounwind
declare void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

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

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

; Function Attrs: 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) #4

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

declare void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #1

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

declare void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #1

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRNS_7element4TypeERA25_KcS4_RA3_S5_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(81), 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 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 #1

declare void @__cxa_throw(ptr, ptr, ptr)

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32)) #5 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)) #3

; 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 @_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 @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v123ConvolutionBackpropData24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(808) %0) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.ngraph::PartialShape", align 8
  %4 = alloca %"class.ngraph::element::Type", align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca %"class.ngraph::element::Type", align 4
  %9 = alloca i8, align 1
  %10 = alloca %"class.ngraph::PartialShape", align 8
  %11 = alloca %"class.ngraph::element::Type", align 4
  %12 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %13 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca i1, align 1
  %16 = alloca %"class.ngraph::Dimension", align 8
  %17 = alloca %"class.ngraph::Dimension", align 8
  %18 = alloca %"class.ngraph::CoordinateDiff", align 8
  %19 = alloca %"class.ngraph::CoordinateDiff", align 8
  %20 = alloca %"class.ngraph::CoordinateDiff", align 8
  %21 = alloca %"class.ngraph::Strides", align 8
  %22 = alloca %"class.ngraph::Strides", align 8
  %23 = alloca i64, align 8
  %24 = alloca %"class.ngraph::Dimension", align 8
  %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 %"class.std::__cxx11::basic_stringstream", align 8
  %30 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca i1, align 1
  %33 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %34 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca i1, align 1
  %37 = alloca %"class.ngraph::PartialShape", align 8
  %38 = alloca %"class.ngraph::Shape", align 8
  %39 = alloca %"class.ngraph::Shape", align 8
  %40 = alloca %"class.ngraph::Shape", align 8
  %41 = alloca i64, align 8
  %42 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %43 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca i1, align 1
  %46 = alloca %"class.ngraph::Shape", align 8
  %47 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %48 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %49 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %50 = alloca %"class.ngraph::Shape", align 8
  %51 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %52 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %53 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %54 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %55 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %56 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %57 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %58 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %59 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %60 = alloca %"class.ngraph::PartialShape", align 8
  %61 = alloca i64, align 8
  %62 = alloca i64, align 8
  %63 = alloca %"class.ngraph::Dimension", align 8
  %64 = alloca %"class.std::vector.126", align 8
  %65 = alloca %"class.std::vector.126", align 8
  %66 = alloca %"class.std::vector.126", align 8
  %67 = alloca %"class.std::vector.126", align 8
  %68 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %69 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %70 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %71 = alloca %"class.std::allocator.128", align 1
  %72 = alloca %"class.std::vector.126", align 8
  %73 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %74 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %75 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %76 = alloca %"class.std::allocator.128", align 1
  %77 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %78 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %79 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %80 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %81 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %82 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %83 = alloca %"class.ngraph::PartialShape", align 8
  %84 = alloca %"class.ngraph::PartialShape", align 8
  %85 = alloca %"class.ngraph::Dimension", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %86 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %3) #8
  %87 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %86, i64 noundef 0)
  call void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %87)
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #8
  %88 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %86, i64 noundef 0)
          to label %89 unwind label %114

89:                                               ; preds = %1
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %88, i64 4, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #8
  %90 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %86, i64 noundef 1)
          to label %91 unwind label %118

91:                                               ; preds = %89
  store ptr %90, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #8
  %92 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %86, i64 noundef 1)
          to label %93 unwind label %122

93:                                               ; preds = %91
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %92, i64 4, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #8
  %94 = invoke noundef i64 @_ZNK6ngraph4Node14get_input_sizeEv(ptr noundef nonnull align 8 dereferenceable(680) %86)
          to label %95 unwind label %126

95:                                               ; preds = %93
  %96 = icmp eq i64 %94, 3
  %97 = zext i1 %96 to i8
  store i8 %97, ptr %9, align 1, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #8
  invoke void @_ZNK6ngraph2op2v123ConvolutionBackpropData16get_output_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %10, ptr noundef nonnull align 8 dereferenceable(808) %86)
          to label %98 unwind label %130

98:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #8
  invoke void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %99 unwind label %134

99:                                               ; preds = %98
  br label %100

100:                                              ; preds = %99
  %101 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %102 unwind label %138

102:                                              ; preds = %100
  br i1 %101, label %164, label %103

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

104:                                              ; preds = %103
  %105 = getelementptr inbounds i8, ptr %12, i64 16
  %106 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRNS_7element4TypeERA25_KcS4_RA3_S5_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %105, ptr noundef nonnull align 1 dereferenceable(81) @.str.5, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 1 dereferenceable(25) @.str.6, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 1 dereferenceable(3) @.str.7)
          to label %107 unwind label %146

107:                                              ; preds = %104
  store i1 true, ptr %15, align 1
  %108 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #8
  %109 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 0
  store ptr @.str.8, ptr %109, align 8, !tbaa !14
  %110 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 1
  store i32 324, ptr %110, align 8, !tbaa !17
  %111 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 2
  store ptr @.str.14, ptr %111, align 8, !tbaa !18
  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 %112 unwind label %150

112:                                              ; preds = %107
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %108, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %113 unwind label %154

113:                                              ; preds = %112
  store i1 false, ptr %15, align 1
  invoke void @__cxa_throw(ptr %108, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %775 unwind label %154

114:                                              ; preds = %1
  %115 = landingpad { ptr, i32 }
          cleanup
  %116 = extractvalue { ptr, i32 } %115, 0
  store ptr %116, ptr %5, align 8
  %117 = extractvalue { ptr, i32 } %115, 1
  store i32 %117, ptr %6, align 4
  br label %769

118:                                              ; preds = %89
  %119 = landingpad { ptr, i32 }
          cleanup
  %120 = extractvalue { ptr, i32 } %119, 0
  store ptr %120, ptr %5, align 8
  %121 = extractvalue { ptr, i32 } %119, 1
  store i32 %121, ptr %6, align 4
  br label %768

122:                                              ; preds = %91
  %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 %767

126:                                              ; preds = %93
  %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 %766

130:                                              ; preds = %95
  %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 %765

134:                                              ; preds = %98
  %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 %764

138:                                              ; preds = %100
  %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 %763

142:                                              ; preds = %103
  %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 %163

146:                                              ; preds = %104
  %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 %162

150:                                              ; preds = %107
  %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 %158

154:                                              ; preds = %113, %112
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  br label %158

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

160:                                              ; preds = %158
  call void @__cxa_free_exception(ptr %108) #8
  br label %161

161:                                              ; preds = %160, %158
  br label %162

162:                                              ; preds = %161, %146
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12) #8
  br label %163

163:                                              ; preds = %162, %142
  call void @llvm.lifetime.end.p0(i64 392, ptr %12) #8
  br label %763

164:                                              ; preds = %102
  br label %165

165:                                              ; preds = %164
  br label %166

166:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #8
  %167 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %168 unwind label %198

168:                                              ; preds = %166
  %169 = getelementptr inbounds %"class.ngraph::Dimension", ptr %16, i32 0, i32 0
  %170 = getelementptr inbounds { i64, i64 }, ptr %169, i32 0, i32 0
  %171 = extractvalue { i64, i64 } %167, 0
  store i64 %171, ptr %170, align 8
  %172 = getelementptr inbounds { i64, i64 }, ptr %169, i32 0, i32 1
  %173 = extractvalue { i64, i64 } %167, 1
  store i64 %173, ptr %172, align 8
  %174 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %175 unwind label %198

175:                                              ; preds = %168
  br i1 %174, label %176, label %187

176:                                              ; preds = %175
  %177 = load ptr, ptr %7, align 8, !tbaa !5
  %178 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %177)
          to label %179 unwind label %202

179:                                              ; preds = %176
  %180 = getelementptr inbounds %"class.ngraph::Dimension", ptr %17, i32 0, i32 0
  %181 = getelementptr inbounds { i64, i64 }, ptr %180, i32 0, i32 0
  %182 = extractvalue { i64, i64 } %178, 0
  store i64 %182, ptr %181, align 8
  %183 = getelementptr inbounds { i64, i64 }, ptr %180, i32 0, i32 1
  %184 = extractvalue { i64, i64 } %178, 1
  store i64 %184, ptr %183, align 8
  %185 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %186 unwind label %202

186:                                              ; preds = %179
  br label %187

187:                                              ; preds = %186, %175
  %188 = phi i1 [ false, %175 ], [ %185, %186 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #8
  br i1 %188, label %189, label %402

189:                                              ; preds = %187
  %190 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 3
  %191 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %190) #8
  %192 = icmp eq i64 %191, 0
  br i1 %192, label %193, label %211

193:                                              ; preds = %189
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #8
  %194 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %18, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %194)
          to label %195 unwind label %207

195:                                              ; preds = %193
  %196 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 3
  %197 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %196, ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #8
  br label %211

198:                                              ; preds = %168, %166
  %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 %206

202:                                              ; preds = %179, %176
  %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
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #8
  br label %206

206:                                              ; preds = %202, %198
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #8
  br label %763

207:                                              ; preds = %193
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %5, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #8
  br label %763

211:                                              ; preds = %195, %189
  %212 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 4
  %213 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %212) #8
  %214 = icmp eq i64 %213, 0
  br i1 %214, label %215, label %224

215:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 24, ptr %19) #8
  %216 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %19, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %216)
          to label %217 unwind label %220

217:                                              ; preds = %215
  %218 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 4
  %219 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %218, ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #8
  br label %224

220:                                              ; preds = %215
  %221 = landingpad { ptr, i32 }
          cleanup
  %222 = extractvalue { ptr, i32 } %221, 0
  store ptr %222, ptr %5, align 8
  %223 = extractvalue { ptr, i32 } %221, 1
  store i32 %223, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #8
  br label %763

224:                                              ; preds = %217, %211
  %225 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 6
  %226 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %227 = icmp eq i64 %226, 0
  br i1 %227, label %228, label %237

228:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #8
  %229 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %20, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %229)
          to label %230 unwind label %233

230:                                              ; preds = %228
  %231 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 6
  %232 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %231, ptr noundef nonnull align 8 dereferenceable(24) %20) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #8
  br label %237

233:                                              ; preds = %228
  %234 = landingpad { ptr, i32 }
          cleanup
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %5, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #8
  br label %763

237:                                              ; preds = %230, %224
  %238 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 1
  %239 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %238) #8
  %240 = icmp eq i64 %239, 0
  br i1 %240, label %241, label %250

241:                                              ; preds = %237
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #8
  %242 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8 %21, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %242)
          to label %243 unwind label %246

243:                                              ; preds = %241
  %244 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 1
  %245 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %244, ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  br label %250

246:                                              ; preds = %241
  %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
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  br label %763

250:                                              ; preds = %243, %237
  %251 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 2
  %252 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %251) #8
  %253 = icmp eq i64 %252, 0
  br i1 %253, label %254, label %263

254:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 24, ptr %22) #8
  %255 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8 %22, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %255)
          to label %256 unwind label %259

256:                                              ; preds = %254
  %257 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 2
  %258 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %257, ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  br label %263

259:                                              ; preds = %254
  %260 = landingpad { ptr, i32 }
          cleanup
  %261 = extractvalue { ptr, i32 } %260, 0
  store ptr %261, ptr %5, align 8
  %262 = extractvalue { ptr, i32 } %260, 1
  store i32 %262, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  br label %763

263:                                              ; preds = %256, %250
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #8
  %264 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %265 unwind label %290

265:                                              ; preds = %263
  %266 = getelementptr inbounds %"class.ngraph::Dimension", ptr %24, i32 0, i32 0
  %267 = getelementptr inbounds { i64, i64 }, ptr %266, i32 0, i32 0
  %268 = extractvalue { i64, i64 } %264, 0
  store i64 %268, ptr %267, align 8
  %269 = getelementptr inbounds { i64, i64 }, ptr %266, i32 0, i32 1
  %270 = extractvalue { i64, i64 } %264, 1
  store i64 %270, ptr %269, align 8
  %271 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %272 unwind label %290

272:                                              ; preds = %265
  %273 = sub nsw i64 %271, 2
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  store i64 %273, ptr %23, align 8, !tbaa !19
  br label %274

274:                                              ; preds = %272
  %275 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 1
  %276 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %275) #8
  %277 = load i64, ptr %23, align 8, !tbaa !19
  %278 = icmp eq i64 %276, %277
  br i1 %278, label %316, label %279

279:                                              ; preds = %274
  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 %280 unwind label %294

280:                                              ; preds = %279
  %281 = getelementptr inbounds i8, ptr %25, i64 16
  %282 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA61_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %281, ptr noundef nonnull align 1 dereferenceable(61) @.str.15)
          to label %283 unwind label %298

283:                                              ; preds = %280
  store i1 true, ptr %28, align 1
  %284 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #8
  %285 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %26, i32 0, i32 0
  store ptr @.str.8, ptr %285, align 8, !tbaa !14
  %286 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %26, i32 0, i32 1
  store i32 353, ptr %286, align 8, !tbaa !17
  %287 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %26, i32 0, i32 2
  store ptr @.str.16, ptr %287, align 8, !tbaa !18
  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 %288 unwind label %302

288:                                              ; 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) %26, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %289 unwind label %306

289:                                              ; preds = %288
  store i1 false, ptr %28, align 1
  invoke void @__cxa_throw(ptr %284, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %775 unwind label %306

290:                                              ; preds = %265, %263
  %291 = landingpad { ptr, i32 }
          cleanup
  %292 = extractvalue { ptr, i32 } %291, 0
  store ptr %292, ptr %5, align 8
  %293 = extractvalue { ptr, i32 } %291, 1
  store i32 %293, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  br label %401

294:                                              ; preds = %279
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %5, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %6, align 4
  br label %315

298:                                              ; preds = %280
  %299 = landingpad { ptr, i32 }
          cleanup
  %300 = extractvalue { ptr, i32 } %299, 0
  store ptr %300, ptr %5, align 8
  %301 = extractvalue { ptr, i32 } %299, 1
  store i32 %301, ptr %6, align 4
  br label %314

302:                                              ; preds = %283
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %5, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %6, align 4
  br label %310

306:                                              ; preds = %289, %288
  %307 = landingpad { ptr, i32 }
          cleanup
  %308 = extractvalue { ptr, i32 } %307, 0
  store ptr %308, ptr %5, align 8
  %309 = extractvalue { ptr, i32 } %307, 1
  store i32 %309, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  br label %310

310:                                              ; preds = %306, %302
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  %311 = load i1, ptr %28, align 1
  br i1 %311, label %312, label %313

312:                                              ; preds = %310
  call void @__cxa_free_exception(ptr %284) #8
  br label %313

313:                                              ; preds = %312, %310
  br label %314

314:                                              ; preds = %313, %298
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %25) #8
  br label %315

315:                                              ; preds = %314, %294
  call void @llvm.lifetime.end.p0(i64 392, ptr %25) #8
  br label %401

316:                                              ; preds = %274
  br label %317

317:                                              ; preds = %316
  br label %318

318:                                              ; preds = %317
  br label %319

319:                                              ; preds = %318
  %320 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 2
  %321 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %320) #8
  %322 = load i64, ptr %23, align 8, !tbaa !19
  %323 = icmp eq i64 %321, %322
  br i1 %323, label %357, label %324

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

325:                                              ; preds = %324
  %326 = getelementptr inbounds i8, ptr %29, i64 16
  %327 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %326, ptr noundef nonnull align 1 dereferenceable(63) @.str.17)
          to label %328 unwind label %339

328:                                              ; preds = %325
  store i1 true, ptr %32, align 1
  %329 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %30) #8
  %330 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %30, i32 0, i32 0
  store ptr @.str.8, ptr %330, align 8, !tbaa !14
  %331 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %30, i32 0, i32 1
  store i32 357, ptr %331, align 8, !tbaa !17
  %332 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %30, i32 0, i32 2
  store ptr @.str.18, ptr %332, align 8, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(128) %29)
          to label %333 unwind label %343

333:                                              ; preds = %328
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %329, ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %334 unwind label %347

334:                                              ; preds = %333
  store i1 false, ptr %32, align 1
  invoke void @__cxa_throw(ptr %329, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %775 unwind label %347

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

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

343:                                              ; preds = %328
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %5, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %6, align 4
  br label %351

347:                                              ; preds = %334, %333
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %5, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  br label %351

351:                                              ; preds = %347, %343
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #8
  %352 = load i1, ptr %32, align 1
  br i1 %352, label %353, label %354

353:                                              ; preds = %351
  call void @__cxa_free_exception(ptr %329) #8
  br label %354

354:                                              ; preds = %353, %351
  br label %355

355:                                              ; preds = %354, %339
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %29) #8
  br label %356

356:                                              ; preds = %355, %335
  call void @llvm.lifetime.end.p0(i64 392, ptr %29) #8
  br label %401

357:                                              ; preds = %319
  br label %358

358:                                              ; preds = %357
  br label %359

359:                                              ; preds = %358
  br label %360

360:                                              ; preds = %359
  %361 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 6
  %362 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %361) #8
  %363 = load i64, ptr %23, align 8, !tbaa !19
  %364 = icmp eq i64 %362, %363
  br i1 %364, label %398, label %365

365:                                              ; preds = %360
  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 %366 unwind label %376

366:                                              ; preds = %365
  %367 = getelementptr inbounds i8, ptr %33, i64 16
  %368 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %367, ptr noundef nonnull align 1 dereferenceable(68) @.str.19)
          to label %369 unwind label %380

369:                                              ; preds = %366
  store i1 true, ptr %36, align 1
  %370 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #8
  %371 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 0
  store ptr @.str.8, ptr %371, align 8, !tbaa !14
  %372 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 1
  store i32 362, ptr %372, align 8, !tbaa !17
  %373 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %34, i32 0, i32 2
  store ptr @.str.20, ptr %373, align 8, !tbaa !18
  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 %374 unwind label %384

374:                                              ; preds = %369
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %370, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %375 unwind label %388

375:                                              ; preds = %374
  store i1 false, ptr %36, align 1
  invoke void @__cxa_throw(ptr %370, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %775 unwind label %388

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

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

384:                                              ; preds = %369
  %385 = landingpad { ptr, i32 }
          cleanup
  %386 = extractvalue { ptr, i32 } %385, 0
  store ptr %386, ptr %5, align 8
  %387 = extractvalue { ptr, i32 } %385, 1
  store i32 %387, ptr %6, align 4
  br label %392

388:                                              ; preds = %375, %374
  %389 = landingpad { ptr, i32 }
          cleanup
  %390 = extractvalue { ptr, i32 } %389, 0
  store ptr %390, ptr %5, align 8
  %391 = extractvalue { ptr, i32 } %389, 1
  store i32 %391, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %392

392:                                              ; preds = %388, %384
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #8
  %393 = load i1, ptr %36, align 1
  br i1 %393, label %394, label %395

394:                                              ; preds = %392
  call void @__cxa_free_exception(ptr %370) #8
  br label %395

395:                                              ; preds = %394, %392
  br label %396

396:                                              ; preds = %395, %380
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %33) #8
  br label %397

397:                                              ; preds = %396, %376
  call void @llvm.lifetime.end.p0(i64 392, ptr %33) #8
  br label %401

398:                                              ; preds = %360
  br label %399

399:                                              ; preds = %398
  br label %400

400:                                              ; preds = %399
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  br label %402

401:                                              ; preds = %397, %356, %315, %290
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  br label %763

402:                                              ; preds = %400, %187
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #8
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %403 unwind label %438

403:                                              ; preds = %402
  %404 = load i8, ptr %9, align 1, !tbaa !12, !range !21, !noundef !22
  %405 = trunc i8 %404 to i1
  br i1 %405, label %406, label %582

406:                                              ; preds = %403
  %407 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %408 unwind label %442

408:                                              ; preds = %406
  br i1 %407, label %409, label %580

409:                                              ; preds = %408
  %410 = load ptr, ptr %7, align 8, !tbaa !5
  %411 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %410)
          to label %412 unwind label %442

412:                                              ; preds = %409
  br i1 %411, label %413, label %580

413:                                              ; preds = %412
  %414 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %415 unwind label %442

415:                                              ; preds = %413
  br i1 %414, label %416, label %580

416:                                              ; preds = %415
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #8
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %417 unwind label %446

417:                                              ; preds = %416
  call void @llvm.lifetime.start.p0(i64 24, ptr %39) #8
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %418 unwind label %450

418:                                              ; preds = %417
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #8
  %419 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %419)
          to label %420 unwind label %454

420:                                              ; preds = %418
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #8
  %421 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  %422 = sub i64 %421, 2
  store i64 %422, ptr %41, align 8, !tbaa !19
  br label %423

423:                                              ; preds = %420
  %424 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  %425 = load i64, ptr %41, align 8, !tbaa !19
  %426 = icmp eq i64 %424, %425
  br i1 %426, label %480, label %427

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

428:                                              ; preds = %427
  %429 = getelementptr inbounds i8, ptr %42, i64 16
  %430 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA70_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %429, ptr noundef nonnull align 1 dereferenceable(70) @.str.21)
          to label %431 unwind label %462

431:                                              ; preds = %428
  store i1 true, ptr %45, align 1
  %432 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #8
  %433 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 0
  store ptr @.str.8, ptr %433, align 8, !tbaa !14
  %434 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 1
  store i32 378, ptr %434, align 8, !tbaa !17
  %435 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 2
  store ptr @.str.22, ptr %435, align 8, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(128) %42)
          to label %436 unwind label %466

436:                                              ; preds = %431
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %432, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %437 unwind label %470

437:                                              ; preds = %436
  store i1 false, ptr %45, align 1
  invoke void @__cxa_throw(ptr %432, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %775 unwind label %470

438:                                              ; preds = %402
  %439 = landingpad { ptr, i32 }
          cleanup
  %440 = extractvalue { ptr, i32 } %439, 0
  store ptr %440, ptr %5, align 8
  %441 = extractvalue { ptr, i32 } %439, 1
  store i32 %441, ptr %6, align 4
  br label %762

442:                                              ; preds = %759, %758, %757, %580, %413, %409, %406
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %5, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %6, align 4
  br label %761

446:                                              ; preds = %416
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %5, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %6, align 4
  br label %579

450:                                              ; preds = %417
  %451 = landingpad { ptr, i32 }
          cleanup
  %452 = extractvalue { ptr, i32 } %451, 0
  store ptr %452, ptr %5, align 8
  %453 = extractvalue { ptr, i32 } %451, 1
  store i32 %453, ptr %6, align 4
  br label %578

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

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

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

466:                                              ; preds = %431
  %467 = landingpad { ptr, i32 }
          cleanup
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %5, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %6, align 4
  br label %474

470:                                              ; preds = %437, %436
  %471 = landingpad { ptr, i32 }
          cleanup
  %472 = extractvalue { ptr, i32 } %471, 0
  store ptr %472, ptr %5, align 8
  %473 = extractvalue { ptr, i32 } %471, 1
  store i32 %473, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %474

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

476:                                              ; preds = %474
  call void @__cxa_free_exception(ptr %432) #8
  br label %477

477:                                              ; preds = %476, %474
  br label %478

478:                                              ; preds = %477, %462
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %42) #8
  br label %479

479:                                              ; preds = %478, %458
  call void @llvm.lifetime.end.p0(i64 392, ptr %42) #8
  br label %576

480:                                              ; preds = %423
  br label %481

481:                                              ; preds = %480
  br label %482

482:                                              ; preds = %481
  %483 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 5
  %484 = load i32, ptr %483, align 8, !tbaa !23
  %485 = icmp eq i32 %484, 2
  br i1 %485, label %490, label %486

486:                                              ; preds = %482
  %487 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 5
  %488 = load i32, ptr %487, align 8, !tbaa !23
  %489 = icmp eq i32 %488, 1
  br i1 %489, label %490, label %543

490:                                              ; preds = %486, %482
  call void @llvm.lifetime.start.p0(i64 24, ptr %46) #8
  %491 = call ptr @_ZNKSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  %492 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %48, i32 0, i32 0
  store ptr %491, ptr %492, align 8
  %493 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %48, i32 0, i32 0
  %494 = load ptr, ptr %493, align 8
  %495 = invoke ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEET_S8_NSt15iterator_traitsIS8_E15difference_typeE(ptr %494, i64 noundef 2)
          to label %496 unwind label %529

496:                                              ; preds = %490
  %497 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %47, i32 0, i32 0
  store ptr %495, ptr %497, align 8
  %498 = invoke ptr @_ZSt3endIN6ngraph5ShapeEEDTcldtfp_3endEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %39)
          to label %499 unwind label %529

499:                                              ; preds = %496
  %500 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %49, i32 0, i32 0
  store ptr %498, ptr %500, align 8
  %501 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %47, i32 0, i32 0
  %502 = load ptr, ptr %501, align 8
  %503 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %49, i32 0, i32 0
  %504 = load ptr, ptr %503, align 8
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEEET_SA_(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr %502, ptr %504)
          to label %505 unwind label %529

505:                                              ; preds = %499
  call void @llvm.lifetime.start.p0(i64 24, ptr %50) #8
  %506 = call ptr @_ZNKSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  %507 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %52, i32 0, i32 0
  store ptr %506, ptr %507, align 8
  %508 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %52, i32 0, i32 0
  %509 = load ptr, ptr %508, align 8
  %510 = invoke ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEET_S8_NSt15iterator_traitsIS8_E15difference_typeE(ptr %509, i64 noundef 2)
          to label %511 unwind label %533

511:                                              ; preds = %505
  %512 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %51, i32 0, i32 0
  store ptr %510, ptr %512, align 8
  %513 = invoke ptr @_ZSt3endIN6ngraph5ShapeEEDTcldtfp_3endEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %40)
          to label %514 unwind label %533

514:                                              ; preds = %511
  %515 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %53, i32 0, i32 0
  store ptr %513, ptr %515, align 8
  %516 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %51, i32 0, i32 0
  %517 = load ptr, ptr %516, align 8
  %518 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %53, i32 0, i32 0
  %519 = load ptr, ptr %518, align 8
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEEET_SA_(ptr noundef nonnull align 8 dereferenceable(24) %50, ptr %517, ptr %519)
          to label %520 unwind label %533

520:                                              ; preds = %514
  %521 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 1
  %522 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 2
  %523 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 5
  %524 = load i32, ptr %523, align 8, !tbaa !23
  %525 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 6
  %526 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 3
  %527 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 4
  invoke void @_ZN6ngraph6opset132infer_conv_backprop_auto_paddingERKNS_5ShapeES3_S3_RKNS_7StridesES6_NS_2op7PadTypeERKNS_14CoordinateDiffERS9_SC_(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %521, ptr noundef nonnull align 8 dereferenceable(24) %522, i32 noundef %524, ptr noundef nonnull align 8 dereferenceable(24) %525, ptr noundef nonnull align 8 dereferenceable(24) %526, ptr noundef nonnull align 8 dereferenceable(24) %527)
          to label %528 unwind label %537

528:                                              ; preds = %520
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #8
  br label %543

529:                                              ; preds = %499, %496, %490
  %530 = landingpad { ptr, i32 }
          cleanup
  %531 = extractvalue { ptr, i32 } %530, 0
  store ptr %531, ptr %5, align 8
  %532 = extractvalue { ptr, i32 } %530, 1
  store i32 %532, ptr %6, align 4
  br label %542

533:                                              ; preds = %514, %511, %505
  %534 = landingpad { ptr, i32 }
          cleanup
  %535 = extractvalue { ptr, i32 } %534, 0
  store ptr %535, ptr %5, align 8
  %536 = extractvalue { ptr, i32 } %534, 1
  store i32 %536, ptr %6, align 4
  br label %541

537:                                              ; preds = %520
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %5, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %6, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  br label %541

541:                                              ; preds = %537, %533
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #8
  br label %542

542:                                              ; preds = %541, %529
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #8
  br label %576

543:                                              ; preds = %528, %486
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #8
  %544 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  %545 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %55, i32 0, i32 0
  store ptr %544, ptr %545, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 8 dereferenceable(8) %55) #8
  %546 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %40, i64 noundef 1)
          to label %547 unwind label %564

547:                                              ; preds = %543
  %548 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %54, i32 0, i32 0
  %549 = load ptr, ptr %548, align 8
  %550 = invoke ptr @_ZNSt6vectorImSaImEE6insertEN9__gnu_cxx17__normal_iteratorIPKmS1_EERS4_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr %549, ptr noundef nonnull align 8 dereferenceable(8) %546)
          to label %551 unwind label %564

551:                                              ; preds = %547
  %552 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %56, i32 0, i32 0
  store ptr %550, ptr %552, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #8
  %553 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  %554 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %58, i32 0, i32 0
  store ptr %553, ptr %554, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 8 dereferenceable(8) %58) #8
  %555 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %39, i64 noundef 0)
          to label %556 unwind label %568

556:                                              ; preds = %551
  %557 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %57, i32 0, i32 0
  %558 = load ptr, ptr %557, align 8
  %559 = invoke ptr @_ZNSt6vectorImSaImEE6insertEN9__gnu_cxx17__normal_iteratorIPKmS1_EERS4_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr %558, ptr noundef nonnull align 8 dereferenceable(8) %555)
          to label %560 unwind label %568

560:                                              ; preds = %556
  %561 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %59, i32 0, i32 0
  store ptr %559, ptr %561, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(24) %38)
          to label %562 unwind label %572

562:                                              ; preds = %560
  %563 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #8
  br label %580

564:                                              ; preds = %547, %543
  %565 = landingpad { ptr, i32 }
          cleanup
  %566 = extractvalue { ptr, i32 } %565, 0
  store ptr %566, ptr %5, align 8
  %567 = extractvalue { ptr, i32 } %565, 1
  store i32 %567, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #8
  br label %576

568:                                              ; preds = %556, %551
  %569 = landingpad { ptr, i32 }
          cleanup
  %570 = extractvalue { ptr, i32 } %569, 0
  store ptr %570, ptr %5, align 8
  %571 = extractvalue { ptr, i32 } %569, 1
  store i32 %571, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  br label %576

572:                                              ; preds = %560
  %573 = landingpad { ptr, i32 }
          cleanup
  %574 = extractvalue { ptr, i32 } %573, 0
  store ptr %574, ptr %5, align 8
  %575 = extractvalue { ptr, i32 } %573, 1
  store i32 %575, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  br label %576

576:                                              ; preds = %572, %568, %564, %542, %479
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  br label %577

577:                                              ; preds = %576, %454
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  br label %578

578:                                              ; preds = %577, %450
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  br label %579

579:                                              ; preds = %578, %446
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #8
  br label %761

580:                                              ; preds = %562, %415, %412, %408
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %86, i64 noundef 2, i1 noundef zeroext true)
          to label %581 unwind label %442

581:                                              ; preds = %580
  br label %757

582:                                              ; preds = %403
  %583 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 5
  %584 = load i32, ptr %583, align 8, !tbaa !23
  %585 = icmp eq i32 %584, 2
  br i1 %585, label %594, label %586

586:                                              ; preds = %582
  %587 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 5
  %588 = load i32, ptr %587, align 8, !tbaa !23
  %589 = icmp eq i32 %588, 1
  br i1 %589, label %594, label %590

590:                                              ; preds = %586
  %591 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 5
  %592 = load i32, ptr %591, align 8, !tbaa !23
  %593 = icmp eq i32 %592, 3
  br i1 %593, label %594, label %611

594:                                              ; preds = %590, %586, %582
  %595 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 3
  %596 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 3
  %597 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %596) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #8
  store i64 0, ptr %61, align 8, !tbaa !19
  invoke void @_ZNSt6vectorIlSaIlEE6assignEmRKl(ptr noundef nonnull align 8 dereferenceable(24) %595, i64 noundef %597, ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %598 unwind label %603

598:                                              ; preds = %594
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #8
  %599 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 4
  %600 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 4
  %601 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %600) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #8
  store i64 0, ptr %62, align 8, !tbaa !19
  invoke void @_ZNSt6vectorIlSaIlEE6assignEmRKl(ptr noundef nonnull align 8 dereferenceable(24) %599, i64 noundef %601, ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %602 unwind label %607

602:                                              ; preds = %598
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #8
  br label %611

603:                                              ; preds = %594
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %5, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #8
  br label %761

607:                                              ; preds = %598
  %608 = landingpad { ptr, i32 }
          cleanup
  %609 = extractvalue { ptr, i32 } %608, 0
  store ptr %609, ptr %5, align 8
  %610 = extractvalue { ptr, i32 } %608, 1
  store i32 %610, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #8
  br label %761

611:                                              ; preds = %602, %590
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #8
  %612 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %613 unwind label %687

613:                                              ; preds = %611
  %614 = getelementptr inbounds %"class.ngraph::Dimension", ptr %63, i32 0, i32 0
  %615 = getelementptr inbounds { i64, i64 }, ptr %614, i32 0, i32 0
  %616 = extractvalue { i64, i64 } %612, 0
  store i64 %616, ptr %615, align 8
  %617 = getelementptr inbounds { i64, i64 }, ptr %614, i32 0, i32 1
  %618 = extractvalue { i64, i64 } %612, 1
  store i64 %618, ptr %617, align 8
  %619 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %63)
          to label %620 unwind label %687

620:                                              ; preds = %613
  br i1 %619, label %621, label %625

621:                                              ; preds = %620
  %622 = load ptr, ptr %7, align 8, !tbaa !5
  %623 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %622)
          to label %624 unwind label %687

624:                                              ; preds = %621
  br label %625

625:                                              ; preds = %624, %620
  %626 = phi i1 [ false, %620 ], [ %623, %624 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #8
  br i1 %626, label %627, label %738

627:                                              ; preds = %625
  call void @llvm.lifetime.start.p0(i64 24, ptr %64) #8
  invoke void @_ZNK6ngraph12PartialShapecvSt6vectorINS_9DimensionESaIS2_EEEv(ptr dead_on_unwind writable sret(%"class.std::vector.126") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %628 unwind label %691

628:                                              ; preds = %627
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #8
  %629 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShapecvSt6vectorINS_9DimensionESaIS2_EEEv(ptr dead_on_unwind writable sret(%"class.std::vector.126") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %629)
          to label %630 unwind label %695

630:                                              ; preds = %628
  call void @llvm.lifetime.start.p0(i64 24, ptr %66) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %67) #8
  %631 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  %632 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %69, i32 0, i32 0
  store ptr %631, ptr %632, align 8
  %633 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %69, i32 0, i32 0
  %634 = load ptr, ptr %633, align 8
  %635 = invoke ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPN6ngraph9DimensionESt6vectorIS3_SaIS3_EEEEET_S9_NSt15iterator_traitsIS9_E15difference_typeE(ptr %634, i64 noundef 2)
          to label %636 unwind label %699

636:                                              ; preds = %630
  %637 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %68, i32 0, i32 0
  store ptr %635, ptr %637, align 8
  %638 = invoke ptr @_ZSt3endISt6vectorIN6ngraph9DimensionESaIS2_EEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %64)
          to label %639 unwind label %699

639:                                              ; preds = %636
  %640 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %70, i32 0, i32 0
  store ptr %638, ptr %640, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #8
  %641 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %68, i32 0, i32 0
  %642 = load ptr, ptr %641, align 8
  %643 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %70, i32 0, i32 0
  %644 = load ptr, ptr %643, align 8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2IN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEET_S9_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %67, ptr %642, ptr %644, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %645 unwind label %703

645:                                              ; preds = %639
  call void @llvm.lifetime.start.p0(i64 24, ptr %72) #8
  %646 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %65) #8
  %647 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %74, i32 0, i32 0
  store ptr %646, ptr %647, align 8
  %648 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %74, i32 0, i32 0
  %649 = load ptr, ptr %648, align 8
  %650 = invoke ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPN6ngraph9DimensionESt6vectorIS3_SaIS3_EEEEET_S9_NSt15iterator_traitsIS9_E15difference_typeE(ptr %649, i64 noundef 2)
          to label %651 unwind label %707

651:                                              ; preds = %645
  %652 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %73, i32 0, i32 0
  store ptr %650, ptr %652, align 8
  %653 = invoke ptr @_ZSt3endISt6vectorIN6ngraph9DimensionESaIS2_EEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %654 unwind label %707

654:                                              ; preds = %651
  %655 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %75, i32 0, i32 0
  store ptr %653, ptr %655, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  %656 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %73, i32 0, i32 0
  %657 = load ptr, ptr %656, align 8
  %658 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %75, i32 0, i32 0
  %659 = load ptr, ptr %658, align 8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2IN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEET_S9_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %72, ptr %657, ptr %659, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %660 unwind label %711

660:                                              ; preds = %654
  %661 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 1
  %662 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 2
  %663 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 3
  %664 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 4
  %665 = getelementptr inbounds %"class.ngraph::op::v1::ConvolutionBackpropData", ptr %86, i32 0, i32 6
  invoke void @_ZN6ngraph2op2v123ConvolutionBackpropData40infer_conv_backprop_output_spatial_shapeERKSt6vectorINS_9DimensionESaIS4_EES8_RKNS_7StridesESB_RKNS_14CoordinateDiffESE_SE_RS6_(ptr noundef nonnull align 8 dereferenceable(808) %86, ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(24) %72, ptr noundef nonnull align 8 dereferenceable(24) %661, ptr noundef nonnull align 8 dereferenceable(24) %662, ptr noundef nonnull align 8 dereferenceable(24) %663, ptr noundef nonnull align 8 dereferenceable(24) %664, ptr noundef nonnull align 8 dereferenceable(24) %665, ptr noundef nonnull align 8 dereferenceable(24) %66)
          to label %666 unwind label %715

666:                                              ; preds = %660
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #8
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #8
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %67) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #8
  %667 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %66) #8
  %668 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %78, i32 0, i32 0
  store ptr %667, ptr %668, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN6ngraph9DimensionESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %77, ptr noundef nonnull align 8 dereferenceable(8) %78) #8
  %669 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef 1)
          to label %670 unwind label %723

670:                                              ; preds = %666
  %671 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %77, i32 0, i32 0
  %672 = load ptr, ptr %671, align 8
  %673 = invoke ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EERS6_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr %672, ptr noundef nonnull align 8 dereferenceable(16) %669)
          to label %674 unwind label %723

674:                                              ; preds = %670
  %675 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %79, i32 0, i32 0
  store ptr %673, ptr %675, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #8
  %676 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %66) #8
  %677 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %81, i32 0, i32 0
  store ptr %676, ptr %677, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN6ngraph9DimensionESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  %678 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %64, i64 noundef 0)
          to label %679 unwind label %727

679:                                              ; preds = %674
  %680 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %80, i32 0, i32 0
  %681 = load ptr, ptr %680, align 8
  %682 = invoke ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EERS6_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr %681, ptr noundef nonnull align 8 dereferenceable(16) %678)
          to label %683 unwind label %727

683:                                              ; preds = %679
  %684 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %82, i32 0, i32 0
  store ptr %682, ptr %684, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(24) %66)
          to label %685 unwind label %731

685:                                              ; preds = %683
  %686 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %66) #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 @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #8
  br label %756

687:                                              ; preds = %621, %613, %611
  %688 = landingpad { ptr, i32 }
          cleanup
  %689 = extractvalue { ptr, i32 } %688, 0
  store ptr %689, ptr %5, align 8
  %690 = extractvalue { ptr, i32 } %688, 1
  store i32 %690, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #8
  br label %761

691:                                              ; preds = %627
  %692 = landingpad { ptr, i32 }
          cleanup
  %693 = extractvalue { ptr, i32 } %692, 0
  store ptr %693, ptr %5, align 8
  %694 = extractvalue { ptr, i32 } %692, 1
  store i32 %694, ptr %6, align 4
  br label %737

695:                                              ; preds = %628
  %696 = landingpad { ptr, i32 }
          cleanup
  %697 = extractvalue { ptr, i32 } %696, 0
  store ptr %697, ptr %5, align 8
  %698 = extractvalue { ptr, i32 } %696, 1
  store i32 %698, ptr %6, align 4
  br label %736

699:                                              ; preds = %636, %630
  %700 = landingpad { ptr, i32 }
          cleanup
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %5, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %6, align 4
  br label %722

703:                                              ; preds = %639
  %704 = landingpad { ptr, i32 }
          cleanup
  %705 = extractvalue { ptr, i32 } %704, 0
  store ptr %705, ptr %5, align 8
  %706 = extractvalue { ptr, i32 } %704, 1
  store i32 %706, ptr %6, align 4
  br label %721

707:                                              ; preds = %651, %645
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %5, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %6, align 4
  br label %720

711:                                              ; preds = %654
  %712 = landingpad { ptr, i32 }
          cleanup
  %713 = extractvalue { ptr, i32 } %712, 0
  store ptr %713, ptr %5, align 8
  %714 = extractvalue { ptr, i32 } %712, 1
  store i32 %714, ptr %6, align 4
  br label %719

715:                                              ; preds = %660
  %716 = landingpad { ptr, i32 }
          cleanup
  %717 = extractvalue { ptr, i32 } %716, 0
  store ptr %717, ptr %5, align 8
  %718 = extractvalue { ptr, i32 } %716, 1
  store i32 %718, ptr %6, align 4
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #8
  br label %719

719:                                              ; preds = %715, %711
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #8
  br label %720

720:                                              ; preds = %719, %707
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #8
  br label %721

721:                                              ; preds = %720, %703
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #8
  br label %722

722:                                              ; preds = %721, %699
  call void @llvm.lifetime.end.p0(i64 24, ptr %67) #8
  br label %735

723:                                              ; preds = %670, %666
  %724 = landingpad { ptr, i32 }
          cleanup
  %725 = extractvalue { ptr, i32 } %724, 0
  store ptr %725, ptr %5, align 8
  %726 = extractvalue { ptr, i32 } %724, 1
  store i32 %726, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  br label %735

727:                                              ; preds = %679, %674
  %728 = landingpad { ptr, i32 }
          cleanup
  %729 = extractvalue { ptr, i32 } %728, 0
  store ptr %729, ptr %5, align 8
  %730 = extractvalue { ptr, i32 } %728, 1
  store i32 %730, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  br label %735

731:                                              ; preds = %683
  %732 = landingpad { ptr, i32 }
          cleanup
  %733 = extractvalue { ptr, i32 } %732, 0
  store ptr %733, ptr %5, align 8
  %734 = extractvalue { ptr, i32 } %732, 1
  store i32 %734, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  br label %735

735:                                              ; preds = %731, %727, %723, %722
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %66) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #8
  br label %736

736:                                              ; preds = %735, %695
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  br label %737

737:                                              ; preds = %736, %691
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #8
  br label %761

738:                                              ; preds = %625
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #8
  %739 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %740 unwind label %752

740:                                              ; preds = %738
  %741 = getelementptr inbounds %"class.ngraph::Dimension", ptr %85, i32 0, i32 0
  %742 = getelementptr inbounds { i64, i64 }, ptr %741, i32 0, i32 0
  %743 = extractvalue { i64, i64 } %739, 0
  store i64 %743, ptr %742, align 8
  %744 = getelementptr inbounds { i64, i64 }, ptr %741, i32 0, i32 1
  %745 = extractvalue { i64, i64 } %739, 1
  store i64 %745, ptr %744, align 8
  %746 = getelementptr inbounds { i64, i64 }, ptr %85, i32 0, i32 0
  %747 = load i64, ptr %746, align 8
  %748 = getelementptr inbounds { i64, i64 }, ptr %85, i32 0, i32 1
  %749 = load i64, ptr %748, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %84, i64 %747, i64 %749)
          to label %750 unwind label %752

750:                                              ; preds = %740
  %751 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #8
  br label %756

752:                                              ; preds = %740, %738
  %753 = landingpad { ptr, i32 }
          cleanup
  %754 = extractvalue { ptr, i32 } %753, 0
  store ptr %754, ptr %5, align 8
  %755 = extractvalue { ptr, i32 } %753, 1
  store i32 %755, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #8
  br label %761

756:                                              ; preds = %750, %685
  br label %757

757:                                              ; preds = %756, %581
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %86, i64 noundef 0, i1 noundef zeroext true)
          to label %758 unwind label %442

758:                                              ; preds = %757
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %86, i64 noundef 1, i1 noundef zeroext true)
          to label %759 unwind label %442

759:                                              ; preds = %758
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %86, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %760 unwind label %442

760:                                              ; preds = %759
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %3) #8
  ret void

761:                                              ; preds = %752, %737, %687, %607, %603, %579, %442
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  br label %762

762:                                              ; preds = %761, %438
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #8
  br label %763

763:                                              ; preds = %762, %401, %259, %246, %233, %220, %207, %206, %163, %138
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11) #8
  br label %764

764:                                              ; preds = %763, %134
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  br label %765

765:                                              ; preds = %764, %130
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  br label %766

766:                                              ; preds = %765, %126
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8) #8
  br label %767

767:                                              ; preds = %766, %122
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  br label %768

768:                                              ; preds = %767, %118
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %4) #8
  br label %769

769:                                              ; preds = %768, %114
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %3) #8
  br label %770

770:                                              ; preds = %769
  %771 = load ptr, ptr %5, align 8
  %772 = load i32, ptr %6, align 4
  %773 = insertvalue { ptr, i32 } poison, ptr %771, 0
  %774 = insertvalue { ptr, i32 } %773, i32 %772, 1
  resume { ptr, i32 } %774

775:                                              ; preds = %437, %375, %334, %289, %113
  unreachable
}

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

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

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

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

declare void @_ZN6ngraph6opset132infer_conv_backprop_auto_paddingERKNS_5ShapeES3_S3_RKNS_7StridesES6_NS_2op7PadTypeERKNS_14CoordinateDiffERS9_SC_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEET_S8_NSt15iterator_traitsIS8_E15difference_typeE(ptr, i64 noundef) #6

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPN6ngraph9DimensionESt6vectorIS3_SaIS3_EEEEET_S9_NSt15iterator_traitsIS9_E15difference_typeE(ptr, i64 noundef) #6

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{i64 0, i64 4, !10}
!10 = !{!11, !11, i64 0}
!11 = !{!"_ZTSN6ngraph7element6Type_tE", !7, i64 0}
!12 = !{!13, !13, i64 0}
!13 = !{!"bool", !7, i64 0}
!14 = !{!15, !6, i64 0}
!15 = !{!"_ZTSN6ngraph12CheckLocInfoE", !6, i64 0, !16, i64 8, !6, i64 16}
!16 = !{!"int", !7, i64 0}
!17 = !{!15, !16, i64 8}
!18 = !{!15, !6, i64 16}
!19 = !{!20, !20, i64 0}
!20 = !{!"long", !7, i64 0}
!21 = !{i8 0, i8 2}
!22 = !{}
!23 = !{!24, !86, i64 776}
!24 = !{!"_ZTSN6ngraph2op2v123ConvolutionBackpropDataE", !25, i64 0, !76, i64 680, !76, i64 704, !81, i64 728, !81, i64 752, !86, i64 776, !81, i64 784}
!25 = !{!"_ZTSN6ngraph2op2OpE", !26, i64 0}
!26 = !{!"_ZTSN6ngraph4NodeE", !27, i64 8, !31, i64 24, !31, i64 80, !36, i64 136, !40, i64 160, !44, i64 184, !20, i64 216, !44, i64 224, !44, i64 256, !46, i64 288, !48, i64 344, !56, i64 392, !61, i64 472, !66, i64 552, !16, i64 608, !68, i64 616, !71, i64 632}
!27 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !28, i64 0}
!28 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !29, i64 0}
!29 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !30, i64 8}
!30 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!31 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !32, i64 0}
!32 = !{!"_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, !20, i64 8, !33, i64 16, !20, i64 24, !34, i64 32, !6, i64 48}
!33 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!34 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !35, i64 0, !20, i64 8}
!35 = !{!"float", !7, i64 0}
!36 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!40 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !41, i64 0}
!41 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!44 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !45, i64 0, !20, i64 8, !7, i64 16}
!45 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!46 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !47, i64 0}
!47 = !{!"_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, !20, i64 8, !33, i64 16, !20, i64 24, !34, i64 32, !6, i64 48}
!48 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !49, i64 0}
!49 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !50, i64 0}
!50 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !51, i64 0, !53, i64 8}
!51 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !52, i64 0}
!52 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!53 = !{!"_ZTSSt15_Rb_tree_header", !54, i64 0, !20, i64 32}
!54 = !{!"_ZTSSt18_Rb_tree_node_base", !55, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!55 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!56 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !57, i64 0}
!57 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !58, i64 0}
!58 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !59, i64 0}
!59 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !20, i64 8, !60, i64 16, !60, i64 48}
!60 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!61 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !62, i64 0}
!62 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !63, i64 0}
!63 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !64, i64 0}
!64 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !20, i64 8, !65, i64 16, !65, i64 48}
!65 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!66 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !67, i64 0}
!67 = !{!"_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, !20, i64 8, !33, i64 16, !20, i64 24, !34, i64 32, !6, i64 48}
!68 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !69, i64 0}
!69 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !70, i64 8}
!70 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!71 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !72, i64 0}
!72 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !73, i64 0}
!73 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !74, i64 0, !53, i64 8}
!74 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !75, i64 0}
!75 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!76 = !{!"_ZTSN6ngraph7StridesE", !77, i64 0}
!77 = !{!"_ZTSSt6vectorImSaImEE", !78, i64 0}
!78 = !{!"_ZTSSt12_Vector_baseImSaImEE", !79, i64 0}
!79 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !80, i64 0}
!80 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!81 = !{!"_ZTSN6ngraph14CoordinateDiffE", !82, i64 0}
!82 = !{!"_ZTSSt6vectorIlSaIlEE", !83, i64 0}
!83 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !84, i64 0}
!84 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !85, i64 0}
!85 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!86 = !{!"_ZTSN6ngraph2op7PadTypeE", !7, i64 0}


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

%"class.ngraph::Strides" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::CoordinateDiff" = type { %"class.std::vector.74" }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.69" }
%"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::PartialShape" = type { i8, %"class.std::vector.126" }
%"class.std::vector.126" = type { %"struct.std::_Vector_base.127" }
%"struct.std::_Vector_base.127" = 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::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.__gnu_cxx::__normal_iterator.131" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::allocator.128" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.156" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.155" = type { ptr }

@.str.5 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [85 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.14 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [40 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: nounwind
declare void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

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

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

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

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

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

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

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

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRNS_7element4TypeERA25_KcS4_RA3_S5_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(81), 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 #5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; 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 @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4 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 @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v123ConvolutionBackpropData24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(808) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::PartialShape", align 8
  %3 = alloca %"class.ngraph::element::Type", align 4
  %4 = alloca %"class.ngraph::element::Type", align 4
  %5 = alloca %"class.ngraph::PartialShape", align 8
  %6 = alloca %"class.ngraph::element::Type", align 4
  %7 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %8 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.ngraph::Dimension", align 8
  %11 = alloca %"class.ngraph::Dimension", align 8
  %12 = alloca %"class.ngraph::CoordinateDiff", align 8
  %13 = alloca %"class.ngraph::CoordinateDiff", align 8
  %14 = alloca %"class.ngraph::CoordinateDiff", align 8
  %15 = alloca %"class.ngraph::Strides", align 8
  %16 = alloca %"class.ngraph::Strides", 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.std::__cxx11::basic_stringstream", align 8
  %22 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %25 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.ngraph::PartialShape", align 8
  %28 = alloca %"class.ngraph::Shape", align 8
  %29 = alloca %"class.ngraph::Shape", align 8
  %30 = alloca %"class.ngraph::Shape", align 8
  %31 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %32 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.ngraph::Shape", align 8
  %35 = alloca %"class.ngraph::Shape", align 8
  %36 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %40 = alloca %"class.ngraph::PartialShape", align 8
  %41 = alloca i64, align 8
  %42 = alloca i64, align 8
  %43 = alloca %"class.ngraph::Dimension", align 8
  %44 = alloca %"class.std::vector.126", align 8
  %45 = alloca %"class.std::vector.126", align 8
  %46 = alloca %"class.std::vector.126", align 8
  %47 = alloca %"class.std::vector.126", align 8
  %48 = alloca %"class.std::allocator.128", align 1
  %49 = alloca %"class.std::vector.126", align 8
  %50 = alloca %"class.std::allocator.128", align 1
  %51 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %52 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %53 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %54 = alloca %"class.__gnu_cxx::__normal_iterator.155", align 8
  %55 = alloca %"class.ngraph::PartialShape", align 8
  %56 = alloca %"class.ngraph::PartialShape", align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) #7
  %57 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  call void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %57)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #7
  %58 = 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 %59 unwind label %83

59:                                               ; preds = %1
  %60 = load i32, ptr %58, align 4, !tbaa !5
  store i32 %60, ptr %3, align 4, !tbaa !5
  %61 = 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 %62 unwind label %85

62:                                               ; preds = %59
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #7
  %63 = 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 %64 unwind label %87

64:                                               ; preds = %62
  %65 = load i32, ptr %63, align 4, !tbaa !5
  store i32 %65, ptr %4, align 4, !tbaa !5
  %66 = invoke noundef i64 @_ZNK6ngraph4Node14get_input_sizeEv(ptr noundef nonnull align 8 dereferenceable(680) %0)
          to label %67 unwind label %89

67:                                               ; preds = %64
  %68 = icmp eq i64 %66, 3
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  invoke void @_ZNK6ngraph2op2v123ConvolutionBackpropData16get_output_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %5, ptr noundef nonnull align 8 dereferenceable(808) %0)
          to label %69 unwind label %91

69:                                               ; preds = %67
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #7
  call void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %6)
  %70 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4)
          to label %71 unwind label %93

71:                                               ; preds = %69
  br i1 %70, label %105, label %72

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

73:                                               ; preds = %72
  %74 = getelementptr inbounds i8, ptr %7, i64 16
  %75 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRNS_7element4TypeERA25_KcS4_RA3_S5_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 1 dereferenceable(81) @.str.5, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 1 dereferenceable(25) @.str.6, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 1 dereferenceable(3) @.str.7)
          to label %76 unwind label %97

76:                                               ; preds = %73
  %77 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  store ptr @.str.8, ptr %8, align 8, !tbaa !9
  %78 = getelementptr inbounds i8, ptr %8, i64 8
  store i32 324, ptr %78, align 8, !tbaa !13
  %79 = getelementptr inbounds i8, ptr %8, i64 16
  store ptr @.str.14, ptr %79, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #7
  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 %80 unwind label %.thread

80:                                               ; preds = %76
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %77, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %82 unwind label %.thread144

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

82:                                               ; preds = %80
  invoke void @__cxa_throw(ptr nonnull %77, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %466 unwind label %100

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

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

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

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

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

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

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

97:                                               ; preds = %73
  %98 = landingpad { ptr, i32 }
          cleanup
  br label %103

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

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

102:                                              ; preds = %.thread144, %.thread
  %.pn143 = phi { ptr, i32 } [ %99, %.thread ], [ %81, %.thread144 ]
  call void @__cxa_free_exception(ptr %77) #7
  br label %103

103:                                              ; preds = %100, %102, %97
  %.pn.pn = phi { ptr, i32 } [ %.pn143, %102 ], [ %101, %100 ], [ %98, %97 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7) #7
  br label %104

104:                                              ; preds = %103, %95
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %103 ], [ %96, %95 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %7) #7
  br label %460

105:                                              ; preds = %71
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #7
  %106 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %107 unwind label %128

107:                                              ; preds = %105
  %108 = extractvalue { i64, i64 } %106, 0
  store i64 %108, ptr %10, align 8
  %109 = getelementptr inbounds i8, ptr %10, i64 8
  %110 = extractvalue { i64, i64 } %106, 1
  store i64 %110, ptr %109, align 8
  %111 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %10)
          to label %112 unwind label %128

112:                                              ; preds = %107
  br i1 %111, label %113, label %.critedge

113:                                              ; preds = %112
  %114 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %115 unwind label %130

115:                                              ; preds = %113
  %116 = extractvalue { i64, i64 } %114, 0
  store i64 %116, ptr %11, align 8
  %117 = getelementptr inbounds i8, ptr %11, i64 8
  %118 = extractvalue { i64, i64 } %114, 1
  store i64 %118, ptr %117, align 8
  %119 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %11)
          to label %120 unwind label %130

120:                                              ; preds = %115
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  br i1 %119, label %121, label %253

121:                                              ; preds = %120
  %122 = getelementptr inbounds i8, ptr %0, i64 728
  %123 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %122) #7
  %124 = icmp eq i64 %123, 0
  br i1 %124, label %125, label %135

125:                                              ; preds = %121
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #7
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %12, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %126 unwind label %133

126:                                              ; preds = %125
  %127 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %122, ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #7
  br label %135

128:                                              ; preds = %107, %105
  %129 = landingpad { ptr, i32 }
          cleanup
  br label %132

130:                                              ; preds = %115, %113
  %131 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  br label %132

132:                                              ; preds = %130, %128
  %.pn94 = phi { ptr, i32 } [ %131, %130 ], [ %129, %128 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  br label %460

133:                                              ; preds = %125
  %134 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #7
  br label %460

135:                                              ; preds = %126, %121
  %136 = getelementptr inbounds i8, ptr %0, i64 752
  %137 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %136) #7
  %138 = icmp eq i64 %137, 0
  br i1 %138, label %139, label %144

139:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #7
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %13, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %140 unwind label %142

140:                                              ; preds = %139
  %141 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  br label %144

142:                                              ; preds = %139
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  br label %460

144:                                              ; preds = %140, %135
  %145 = getelementptr inbounds i8, ptr %0, i64 784
  %146 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %145) #7
  %147 = icmp eq i64 %146, 0
  br i1 %147, label %148, label %153

148:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #7
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %14, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %149 unwind label %151

149:                                              ; preds = %148
  %150 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %145, ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #7
  br label %153

151:                                              ; preds = %148
  %152 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #7
  br label %460

153:                                              ; preds = %149, %144
  %154 = getelementptr inbounds i8, ptr %0, i64 680
  %155 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %154) #7
  %156 = icmp eq i64 %155, 0
  br i1 %156, label %157, label %162

157:                                              ; preds = %153
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #7
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Strides") align 8 %15, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %158 unwind label %160

158:                                              ; preds = %157
  %159 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %154, ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  br label %162

160:                                              ; preds = %157
  %161 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  br label %460

162:                                              ; preds = %158, %153
  %163 = getelementptr inbounds i8, ptr %0, i64 704
  %164 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %163) #7
  %165 = icmp eq i64 %164, 0
  br i1 %165, label %166, label %171

166:                                              ; preds = %162
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #7
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Strides") align 8 %16, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %167 unwind label %169

167:                                              ; preds = %166
  %168 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %163, ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %171

169:                                              ; preds = %166
  %170 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %460

171:                                              ; preds = %167, %162
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  %172 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %173 unwind label %193

173:                                              ; preds = %171
  %174 = extractvalue { i64, i64 } %172, 0
  store i64 %174, ptr %17, align 8
  %175 = getelementptr inbounds i8, ptr %17, i64 8
  %176 = extractvalue { i64, i64 } %172, 1
  store i64 %176, ptr %175, align 8
  %177 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %178 unwind label %193

178:                                              ; preds = %173
  %179 = add nsw i64 %177, -2
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  %180 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %154) #7
  %181 = icmp eq i64 %180, %179
  br i1 %181, label %205, label %182

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

183:                                              ; preds = %182
  %184 = getelementptr inbounds i8, ptr %18, i64 16
  %185 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA61_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef nonnull align 1 dereferenceable(61) @.str.15)
          to label %186 unwind label %197

186:                                              ; preds = %183
  %187 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #7
  store ptr @.str.8, ptr %19, align 8, !tbaa !9
  %188 = getelementptr inbounds i8, ptr %19, i64 8
  store i32 353, ptr %188, align 8, !tbaa !13
  %189 = getelementptr inbounds i8, ptr %19, i64 16
  store ptr @.str.16, ptr %189, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  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 %190 unwind label %.thread146

190:                                              ; preds = %186
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %187, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %192 unwind label %.thread150

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

192:                                              ; preds = %190
  invoke void @__cxa_throw(ptr nonnull %187, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %466 unwind label %200

193:                                              ; preds = %173, %171
  %194 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  br label %460

195:                                              ; preds = %182
  %196 = landingpad { ptr, i32 }
          cleanup
  br label %204

197:                                              ; preds = %183
  %198 = landingpad { ptr, i32 }
          cleanup
  br label %203

.thread146:                                       ; preds = %186
  %199 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #7
  br label %202

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

202:                                              ; preds = %.thread150, %.thread146
  %.pn96149 = phi { ptr, i32 } [ %199, %.thread146 ], [ %191, %.thread150 ]
  call void @__cxa_free_exception(ptr %187) #7
  br label %203

203:                                              ; preds = %200, %202, %197
  %.pn96.pn = phi { ptr, i32 } [ %.pn96149, %202 ], [ %201, %200 ], [ %198, %197 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %18) #7
  br label %204

204:                                              ; preds = %203, %195
  %.pn96.pn.pn = phi { ptr, i32 } [ %.pn96.pn, %203 ], [ %196, %195 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %18) #7
  br label %460

205:                                              ; preds = %178
  %206 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %163) #7
  %207 = icmp eq i64 %206, %179
  br i1 %207, label %229, label %208

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

209:                                              ; preds = %208
  %210 = getelementptr inbounds i8, ptr %21, i64 16
  %211 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA63_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %210, ptr noundef nonnull align 1 dereferenceable(63) @.str.17)
          to label %212 unwind label %221

212:                                              ; preds = %209
  %213 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #7
  store ptr @.str.8, ptr %22, align 8, !tbaa !9
  %214 = getelementptr inbounds i8, ptr %22, i64 8
  store i32 357, ptr %214, align 8, !tbaa !13
  %215 = getelementptr inbounds i8, ptr %22, i64 16
  store ptr @.str.18, ptr %215, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(128) %21)
          to label %216 unwind label %.thread152

216:                                              ; preds = %212
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %213, ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %218 unwind label %.thread156

.thread156:                                       ; preds = %216
  %217 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  br label %226

218:                                              ; preds = %216
  invoke void @__cxa_throw(ptr nonnull %213, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %466 unwind label %224

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

221:                                              ; preds = %209
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %227

.thread152:                                       ; preds = %212
  %223 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  br label %226

224:                                              ; preds = %218
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  br label %227

226:                                              ; preds = %.thread156, %.thread152
  %.pn100155 = phi { ptr, i32 } [ %223, %.thread152 ], [ %217, %.thread156 ]
  call void @__cxa_free_exception(ptr %213) #7
  br label %227

227:                                              ; preds = %224, %226, %221
  %.pn100.pn = phi { ptr, i32 } [ %.pn100155, %226 ], [ %225, %224 ], [ %222, %221 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %21) #7
  br label %228

228:                                              ; preds = %227, %219
  %.pn100.pn.pn = phi { ptr, i32 } [ %.pn100.pn, %227 ], [ %220, %219 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %21) #7
  br label %460

229:                                              ; preds = %205
  %230 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %145) #7
  %231 = icmp eq i64 %230, %179
  br i1 %231, label %253, label %232

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

233:                                              ; preds = %232
  %234 = getelementptr inbounds i8, ptr %24, i64 16
  %235 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %234, ptr noundef nonnull align 1 dereferenceable(68) @.str.19)
          to label %236 unwind label %245

236:                                              ; preds = %233
  %237 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #7
  store ptr @.str.8, ptr %25, align 8, !tbaa !9
  %238 = getelementptr inbounds i8, ptr %25, i64 8
  store i32 362, ptr %238, align 8, !tbaa !13
  %239 = getelementptr inbounds i8, ptr %25, i64 16
  store ptr @.str.20, ptr %239, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %240 unwind label %.thread158

240:                                              ; preds = %236
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %237, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %242 unwind label %.thread162

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

242:                                              ; preds = %240
  invoke void @__cxa_throw(ptr nonnull %237, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %466 unwind label %248

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

245:                                              ; preds = %233
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %251

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

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

250:                                              ; preds = %.thread162, %.thread158
  %.pn104161 = phi { ptr, i32 } [ %247, %.thread158 ], [ %241, %.thread162 ]
  call void @__cxa_free_exception(ptr %237) #7
  br label %251

251:                                              ; preds = %248, %250, %245
  %.pn104.pn = phi { ptr, i32 } [ %.pn104161, %250 ], [ %249, %248 ], [ %246, %245 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24) #7
  br label %252

252:                                              ; preds = %251, %243
  %.pn104.pn.pn = phi { ptr, i32 } [ %.pn104.pn, %251 ], [ %244, %243 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %24) #7
  br label %460

.critedge:                                        ; preds = %112
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  br label %253

253:                                              ; preds = %229, %.critedge, %120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %254 unwind label %283

254:                                              ; preds = %253
  br i1 %68, label %255, label %358

255:                                              ; preds = %254
  %256 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %257 unwind label %285

257:                                              ; preds = %255
  br i1 %256, label %258, label %357

258:                                              ; preds = %257
  %259 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %260 unwind label %285

260:                                              ; preds = %258
  br i1 %259, label %261, label %357

261:                                              ; preds = %260
  %262 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %263 unwind label %285

263:                                              ; preds = %261
  br i1 %262, label %264, label %357

264:                                              ; preds = %263
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #7
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %265 unwind label %287

265:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #7
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %266 unwind label %289

266:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #7
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %267 unwind label %291

267:                                              ; preds = %266
  %268 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  %269 = add i64 %268, -2
  %270 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  %271 = icmp eq i64 %270, %269
  br i1 %271, label %303, label %272

272:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %31) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %31)
          to label %273 unwind label %293

273:                                              ; preds = %272
  %274 = getelementptr inbounds i8, ptr %31, i64 16
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA70_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %274, ptr noundef nonnull align 1 dereferenceable(70) @.str.21)
          to label %276 unwind label %295

276:                                              ; preds = %273
  %277 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #7
  store ptr @.str.8, ptr %32, align 8, !tbaa !9
  %278 = getelementptr inbounds i8, ptr %32, i64 8
  store i32 378, ptr %278, align 8, !tbaa !13
  %279 = getelementptr inbounds i8, ptr %32, i64 16
  store ptr @.str.22, ptr %279, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(128) %31)
          to label %280 unwind label %.thread164

280:                                              ; 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) %32, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %282 unwind label %.thread168

.thread168:                                       ; preds = %280
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  br label %300

282:                                              ; preds = %280
  invoke void @__cxa_throw(ptr nonnull %277, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %466 unwind label %298

283:                                              ; preds = %253
  %284 = landingpad { ptr, i32 }
          cleanup
  br label %459

285:                                              ; preds = %456, %455, %454, %357, %261, %258, %255
  %286 = landingpad { ptr, i32 }
          cleanup
  br label %458

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

289:                                              ; preds = %265
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %355

291:                                              ; preds = %266
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %354

293:                                              ; preds = %272
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %302

295:                                              ; preds = %273
  %296 = landingpad { ptr, i32 }
          cleanup
  br label %301

.thread164:                                       ; preds = %276
  %297 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  br label %300

298:                                              ; preds = %282
  %299 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  br label %301

300:                                              ; preds = %.thread168, %.thread164
  %.pn118167 = phi { ptr, i32 } [ %297, %.thread164 ], [ %281, %.thread168 ]
  call void @__cxa_free_exception(ptr %277) #7
  br label %301

301:                                              ; preds = %298, %300, %295
  %.pn118.pn = phi { ptr, i32 } [ %.pn118167, %300 ], [ %299, %298 ], [ %296, %295 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %31) #7
  br label %302

302:                                              ; preds = %301, %293
  %.pn118.pn.pn = phi { ptr, i32 } [ %.pn118.pn, %301 ], [ %294, %293 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %31) #7
  br label %353

303:                                              ; preds = %267
  %304 = getelementptr inbounds i8, ptr %0, i64 776
  %305 = load i32, ptr %304, align 8, !tbaa !15
  %.off = add i32 %305, -1
  %switch = icmp ult i32 %.off, 2
  br i1 %switch, label %306, label %332

306:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #7
  %307 = call ptr @_ZNKSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  %308 = invoke ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEET_S8_NSt15iterator_traitsIS8_E15difference_typeE(ptr %307, i64 noundef 2)
          to label %309 unwind label %324

309:                                              ; preds = %306
  %310 = call ptr @_ZSt3endIN6ngraph5ShapeEEDTcldtfp_3endEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %29)
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEEET_SA_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr %308, ptr %310)
          to label %311 unwind label %324

311:                                              ; preds = %309
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #7
  %312 = call ptr @_ZNKSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  %313 = invoke ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEET_S8_NSt15iterator_traitsIS8_E15difference_typeE(ptr %312, i64 noundef 2)
          to label %314 unwind label %326

314:                                              ; preds = %311
  %315 = call ptr @_ZSt3endIN6ngraph5ShapeEEDTcldtfp_3endEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %30)
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEEET_SA_(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr %313, ptr %315)
          to label %316 unwind label %326

316:                                              ; preds = %314
  %317 = getelementptr inbounds i8, ptr %0, i64 680
  %318 = getelementptr inbounds i8, ptr %0, i64 704
  %319 = load i32, ptr %304, align 8, !tbaa !15
  %320 = getelementptr inbounds i8, ptr %0, i64 784
  %321 = getelementptr inbounds i8, ptr %0, i64 728
  %322 = getelementptr inbounds i8, ptr %0, i64 752
  invoke void @_ZN6ngraph6opset132infer_conv_backprop_auto_paddingERKNS_5ShapeES3_S3_RKNS_7StridesES6_NS_2op7PadTypeERKNS_14CoordinateDiffERS9_SC_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %317, ptr noundef nonnull align 8 dereferenceable(24) %318, i32 noundef %319, ptr noundef nonnull align 8 dereferenceable(24) %320, ptr noundef nonnull align 8 dereferenceable(24) %321, ptr noundef nonnull align 8 dereferenceable(24) %322)
          to label %323 unwind label %328

323:                                              ; preds = %316
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #7
  br label %332

324:                                              ; preds = %309, %306
  %325 = landingpad { ptr, i32 }
          cleanup
  br label %331

326:                                              ; preds = %314, %311
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %330

328:                                              ; preds = %316
  %329 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %330

330:                                              ; preds = %328, %326
  %.pn122 = phi { ptr, i32 } [ %329, %328 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  br label %331

331:                                              ; preds = %330, %324
  %.pn122.pn = phi { ptr, i32 } [ %.pn122, %330 ], [ %325, %324 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #7
  br label %353

332:                                              ; preds = %303, %323
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  %333 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  store ptr %333, ptr %37, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  %334 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef 1)
          to label %335 unwind label %347

335:                                              ; preds = %332
  %336 = load ptr, ptr %36, align 8
  %337 = invoke ptr @_ZNSt6vectorImSaImEE6insertEN9__gnu_cxx17__normal_iteratorIPKmS1_EERS4_(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr %336, ptr noundef nonnull align 8 dereferenceable(8) %334)
          to label %338 unwind label %347

338:                                              ; preds = %335
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  %339 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  store ptr %339, ptr %39, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  %340 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef 0)
          to label %341 unwind label %349

341:                                              ; preds = %338
  %342 = load ptr, ptr %38, align 8
  %343 = invoke ptr @_ZNSt6vectorImSaImEE6insertEN9__gnu_cxx17__normal_iteratorIPKmS1_EERS4_(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr %342, ptr noundef nonnull align 8 dereferenceable(8) %340)
          to label %344 unwind label %349

344:                                              ; preds = %341
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %345 unwind label %351

345:                                              ; preds = %344
  %346 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  br label %357

347:                                              ; preds = %335, %332
  %348 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  br label %353

349:                                              ; preds = %341, %338
  %350 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  br label %353

351:                                              ; preds = %344
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #7
  br label %353

353:                                              ; preds = %351, %349, %347, %331, %302
  %.pn125 = phi { ptr, i32 } [ %352, %351 ], [ %350, %349 ], [ %348, %347 ], [ %.pn122.pn, %331 ], [ %.pn118.pn.pn, %302 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  br label %354

354:                                              ; preds = %353, %291
  %.pn125.pn = phi { ptr, i32 } [ %.pn125, %353 ], [ %292, %291 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  br label %355

355:                                              ; preds = %354, %289
  %.pn125.pn.pn = phi { ptr, i32 } [ %.pn125.pn, %354 ], [ %290, %289 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  br label %356

356:                                              ; preds = %355, %287
  %.pn125.pn.pn.pn = phi { ptr, i32 } [ %.pn125.pn.pn, %355 ], [ %288, %287 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  br label %458

357:                                              ; preds = %345, %263, %260, %257
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2, i1 noundef zeroext true)
          to label %454 unwind label %285

358:                                              ; preds = %254
  %359 = getelementptr inbounds i8, ptr %0, i64 776
  %360 = load i32, ptr %359, align 8, !tbaa !15
  %.off139 = add i32 %360, -1
  %switch140 = icmp ult i32 %.off139, 3
  br i1 %switch140, label %361, label %372

361:                                              ; preds = %358
  %362 = getelementptr inbounds i8, ptr %0, i64 728
  %363 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %362) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #7
  store i64 0, ptr %41, align 8, !tbaa !80
  invoke void @_ZNSt6vectorIlSaIlEE6assignEmRKl(ptr noundef nonnull align 8 dereferenceable(24) %362, i64 noundef %363, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %364 unwind label %368

364:                                              ; preds = %361
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  %365 = getelementptr inbounds i8, ptr %0, i64 752
  %366 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %365) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  store i64 0, ptr %42, align 8, !tbaa !80
  invoke void @_ZNSt6vectorIlSaIlEE6assignEmRKl(ptr noundef nonnull align 8 dereferenceable(24) %365, i64 noundef %366, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %367 unwind label %370

367:                                              ; preds = %364
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  br label %372

368:                                              ; preds = %361
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  br label %458

370:                                              ; preds = %364
  %371 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  br label %458

372:                                              ; preds = %358, %367
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #7
  %373 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %374 unwind label %416

374:                                              ; preds = %372
  %375 = extractvalue { i64, i64 } %373, 0
  store i64 %375, ptr %43, align 8
  %376 = getelementptr inbounds i8, ptr %43, i64 8
  %377 = extractvalue { i64, i64 } %373, 1
  store i64 %377, ptr %376, align 8
  %378 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %43)
          to label %379 unwind label %416

379:                                              ; preds = %374
  br i1 %378, label %380, label %.critedge2

380:                                              ; preds = %379
  %381 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %382 unwind label %416

382:                                              ; preds = %380
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  br i1 %381, label %383, label %445

383:                                              ; preds = %382
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #7
  invoke void @_ZNK6ngraph12PartialShapecvSt6vectorINS_9DimensionESaIS2_EEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.126") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %384 unwind label %418

384:                                              ; preds = %383
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #7
  invoke void @_ZNK6ngraph12PartialShapecvSt6vectorINS_9DimensionESaIS2_EEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.126") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %385 unwind label %420

385:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %47) #7
  %386 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  %387 = invoke ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPN6ngraph9DimensionESt6vectorIS3_SaIS3_EEEEET_S9_NSt15iterator_traitsIS9_E15difference_typeE(ptr %386, i64 noundef 2)
          to label %388 unwind label %422

388:                                              ; preds = %385
  %389 = call ptr @_ZSt3endISt6vectorIN6ngraph9DimensionESaIS2_EEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %44)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #7
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2IN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEET_S9_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr %387, ptr %389, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %390 unwind label %424

390:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #7
  %391 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  %392 = invoke ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPN6ngraph9DimensionESt6vectorIS3_SaIS3_EEEEET_S9_NSt15iterator_traitsIS9_E15difference_typeE(ptr %391, i64 noundef 2)
          to label %393 unwind label %426

393:                                              ; preds = %390
  %394 = call ptr @_ZSt3endISt6vectorIN6ngraph9DimensionESaIS2_EEEDTcldtfp_3endEERT_(ptr noundef nonnull align 8 dereferenceable(24) %45)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #7
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2IN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEET_S9_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr %392, ptr %394, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %395 unwind label %428

395:                                              ; preds = %393
  %396 = getelementptr inbounds i8, ptr %0, i64 680
  %397 = getelementptr inbounds i8, ptr %0, i64 704
  %398 = getelementptr inbounds i8, ptr %0, i64 728
  %399 = getelementptr inbounds i8, ptr %0, i64 752
  %400 = getelementptr inbounds i8, ptr %0, i64 784
  invoke void @_ZN6ngraph2op2v123ConvolutionBackpropData40infer_conv_backprop_output_spatial_shapeERKSt6vectorINS_9DimensionESaIS4_EES8_RKNS_7StridesESB_RKNS_14CoordinateDiffESE_SE_RS6_(ptr noundef nonnull align 8 dereferenceable(808) %0, ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(24) %396, ptr noundef nonnull align 8 dereferenceable(24) %397, ptr noundef nonnull align 8 dereferenceable(24) %398, ptr noundef nonnull align 8 dereferenceable(24) %399, ptr noundef nonnull align 8 dereferenceable(24) %400, ptr noundef nonnull align 8 dereferenceable(24) %46)
          to label %401 unwind label %430

401:                                              ; preds = %395
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #7
  %402 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  store ptr %402, ptr %52, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN6ngraph9DimensionESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  %403 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef 1)
          to label %404 unwind label %436

404:                                              ; preds = %401
  %405 = load ptr, ptr %51, align 8
  %406 = invoke ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EERS6_(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr %405, ptr noundef nonnull align 8 dereferenceable(16) %403)
          to label %407 unwind label %436

407:                                              ; preds = %404
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #7
  %408 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  store ptr %408, ptr %54, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN6ngraph9DimensionESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  %409 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %44, i64 noundef 0)
          to label %410 unwind label %438

410:                                              ; preds = %407
  %411 = load ptr, ptr %53, align 8
  %412 = invoke ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EERS6_(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr %411, ptr noundef nonnull align 8 dereferenceable(16) %409)
          to label %413 unwind label %438

413:                                              ; preds = %410
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(24) %46)
          to label %414 unwind label %440

414:                                              ; preds = %413
  %415 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  br label %454

416:                                              ; preds = %380, %374, %372
  %417 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  br label %458

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

420:                                              ; preds = %384
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %443

422:                                              ; preds = %385
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %435

424:                                              ; preds = %388
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %434

426:                                              ; preds = %390
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %433

428:                                              ; preds = %393
  %429 = landingpad { ptr, i32 }
          cleanup
  br label %432

430:                                              ; preds = %395
  %431 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  br label %432

432:                                              ; preds = %430, %428
  %.pn109 = phi { ptr, i32 } [ %431, %430 ], [ %429, %428 ]
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #7
  br label %433

433:                                              ; preds = %432, %426
  %.pn109.pn = phi { ptr, i32 } [ %.pn109, %432 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  br label %434

434:                                              ; preds = %433, %424
  %.pn109.pn.pn = phi { ptr, i32 } [ %.pn109.pn, %433 ], [ %425, %424 ]
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  br label %435

435:                                              ; preds = %434, %422
  %.pn109.pn.pn.pn = phi { ptr, i32 } [ %.pn109.pn.pn, %434 ], [ %423, %422 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #7
  br label %442

436:                                              ; preds = %404, %401
  %437 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #7
  br label %442

438:                                              ; preds = %410, %407
  %439 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  br label %442

440:                                              ; preds = %413
  %441 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %442

442:                                              ; preds = %440, %438, %436, %435
  %.pn114 = phi { ptr, i32 } [ %441, %440 ], [ %439, %438 ], [ %437, %436 ], [ %.pn109.pn.pn.pn, %435 ]
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  br label %443

443:                                              ; preds = %442, %420
  %.pn114.pn = phi { ptr, i32 } [ %.pn114, %442 ], [ %421, %420 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  br label %444

444:                                              ; preds = %443, %418
  %.pn114.pn.pn = phi { ptr, i32 } [ %.pn114.pn, %443 ], [ %419, %418 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  br label %458

.critedge2:                                       ; preds = %379
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  br label %445

445:                                              ; preds = %.critedge2, %382
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #7
  %446 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %447 unwind label %452

447:                                              ; preds = %445
  %448 = extractvalue { i64, i64 } %446, 0
  %449 = extractvalue { i64, i64 } %446, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %56, i64 %448, i64 %449)
          to label %450 unwind label %452

450:                                              ; preds = %447
  %451 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #7
  br label %454

452:                                              ; preds = %447, %445
  %453 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #7
  br label %458

454:                                              ; preds = %414, %450, %357
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, i1 noundef zeroext true)
          to label %455 unwind label %285

455:                                              ; preds = %454
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1, i1 noundef zeroext true)
          to label %456 unwind label %285

456:                                              ; preds = %455
  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) %6, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %457 unwind label %285

457:                                              ; preds = %456
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #7
  ret void

458:                                              ; preds = %452, %444, %416, %370, %368, %356, %285
  %.pn130 = phi { ptr, i32 } [ %286, %285 ], [ %.pn125.pn.pn.pn, %356 ], [ %.pn114.pn.pn, %444 ], [ %453, %452 ], [ %417, %416 ], [ %371, %370 ], [ %369, %368 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %459

459:                                              ; preds = %458, %283
  %.pn130.pn = phi { ptr, i32 } [ %.pn130, %458 ], [ %284, %283 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %460

460:                                              ; preds = %193, %204, %228, %252, %459, %169, %160, %151, %142, %133, %132, %104, %93
  %.pn130.pn.pn = phi { ptr, i32 } [ %.pn130.pn, %459 ], [ %170, %169 ], [ %161, %160 ], [ %152, %151 ], [ %143, %142 ], [ %134, %133 ], [ %.pn94, %132 ], [ %.pn.pn.pn, %104 ], [ %94, %93 ], [ %.pn104.pn.pn, %252 ], [ %.pn100.pn.pn, %228 ], [ %.pn96.pn.pn, %204 ], [ %194, %193 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %461

461:                                              ; preds = %460, %91
  %.pn130.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn, %460 ], [ %92, %91 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  br label %462

462:                                              ; preds = %461, %89
  %.pn130.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn, %461 ], [ %90, %89 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %4) #7
  br label %463

463:                                              ; preds = %462, %87
  %.pn130.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn, %462 ], [ %88, %87 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  br label %464

464:                                              ; preds = %463, %85
  %.pn130.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn, %463 ], [ %86, %85 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #7
  br label %465

465:                                              ; preds = %464, %83
  %.pn130.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn, %464 ], [ %84, %83 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #7
  resume { ptr, i32 } %.pn130.pn.pn.pn.pn.pn.pn.pn

466:                                              ; preds = %282, %242, %218, %192, %82
  unreachable
}

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

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

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

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

declare void @_ZN6ngraph6opset132infer_conv_backprop_auto_paddingERKNS_5ShapeES3_S3_RKNS_7StridesES6_NS_2op7PadTypeERKNS_14CoordinateDiffERS9_SC_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEEET_S8_NSt15iterator_traitsIS8_E15difference_typeE(ptr, i64 noundef) local_unnamed_addr #5

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt4nextIN9__gnu_cxx17__normal_iteratorIPN6ngraph9DimensionESt6vectorIS3_SaIS3_EEEEET_S9_NSt15iterator_traitsIS9_E15difference_typeE(ptr, i64 noundef) local_unnamed_addr #5

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"_ZTSN6ngraph7element6Type_tE", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"_ZTSN6ngraph12CheckLocInfoE", !11, i64 0, !12, i64 8, !11, i64 16}
!11 = !{!"any pointer", !7, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!10, !12, i64 8}
!14 = !{!10, !11, i64 16}
!15 = !{!16, !79, i64 776}
!16 = !{!"_ZTSN6ngraph2op2v123ConvolutionBackpropDataE", !17, i64 0, !69, i64 680, !69, i64 704, !74, i64 728, !74, i64 752, !79, i64 776, !74, i64 784}
!17 = !{!"_ZTSN6ngraph2op2OpE", !18, i64 0}
!18 = !{!"_ZTSN6ngraph4NodeE", !19, i64 8, !23, i64 24, !23, i64 80, !29, i64 136, !33, i64 160, !37, i64 184, !25, i64 216, !37, i64 224, !37, i64 256, !39, i64 288, !41, i64 344, !49, i64 392, !54, i64 472, !59, i64 552, !12, i64 608, !61, i64 616, !64, i64 632}
!19 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !20, i64 0}
!20 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !21, i64 0}
!21 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0, !22, i64 8}
!22 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0}
!23 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !24, i64 0}
!24 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !11, i64 0, !25, i64 8, !26, i64 16, !25, i64 24, !27, i64 32, !11, i64 48}
!25 = !{!"long", !7, i64 0}
!26 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !11, i64 0}
!27 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !28, i64 0, !25, i64 8}
!28 = !{!"float", !7, i64 0}
!29 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!33 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !34, i64 0}
!34 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!37 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !38, i64 0, !25, i64 8, !7, i64 16}
!38 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !11, i64 0}
!39 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !40, i64 0}
!40 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE", !11, i64 0, !25, i64 8, !26, i64 16, !25, i64 24, !27, i64 32, !11, i64 48}
!41 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !42, i64 0}
!42 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !43, i64 0}
!43 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !44, i64 0, !46, i64 8}
!44 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !45, i64 0}
!45 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!46 = !{!"_ZTSSt15_Rb_tree_header", !47, i64 0, !25, i64 32}
!47 = !{!"_ZTSSt18_Rb_tree_node_base", !48, i64 0, !11, i64 8, !11, i64 16, !11, i64 24}
!48 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!49 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !52, i64 0}
!52 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !11, i64 0, !25, i64 8, !53, i64 16, !53, i64 48}
!53 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24}
!54 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !55, i64 0}
!55 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !56, i64 0}
!56 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !57, i64 0}
!57 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !11, i64 0, !25, i64 8, !58, i64 16, !58, i64 48}
!58 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24}
!59 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !60, i64 0}
!60 = !{!"_ZTSSt10_HashtableIPN6ngraph4NodeESt4pairIKS2_NS0_8autodiff8AdjointsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !11, i64 0, !25, i64 8, !26, i64 16, !25, i64 24, !27, i64 32, !11, i64 48}
!61 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !62, i64 0}
!62 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0, !63, i64 8}
!63 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0}
!64 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !65, i64 0}
!65 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !66, i64 0}
!66 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !67, i64 0, !46, i64 8}
!67 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !68, i64 0}
!68 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!69 = !{!"_ZTSN6ngraph7StridesE", !70, i64 0}
!70 = !{!"_ZTSSt6vectorImSaImEE", !71, i64 0}
!71 = !{!"_ZTSSt12_Vector_baseImSaImEE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!74 = !{!"_ZTSN6ngraph14CoordinateDiffE", !75, i64 0}
!75 = !{!"_ZTSSt6vectorIlSaIlEE", !76, i64 0}
!76 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !78, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!79 = !{!"_ZTSN6ngraph2op7PadTypeE", !7, i64 0}
!80 = !{!25, !25, i64 0}


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