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

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

%"class.std::shared_ptr.170" = type { %"class.std::__shared_ptr.171" }
%"class.std::__shared_ptr.171" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.192" = type { %"class.std::__shared_ptr.193" }
%"class.std::__shared_ptr.193" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.223" = type { %"class.std::__shared_ptr.224" }
%"class.std::__shared_ptr.224" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.250" = type { %"struct.std::_Vector_base.251" }
%"struct.std::_Vector_base.251" = type { %"struct.std::_Vector_base<ngraph::element::Type, std::allocator<ngraph::element::Type>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::element::Type, std::allocator<ngraph::element::Type>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::element::Type, std::allocator<ngraph::element::Type>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::element::Type, std::allocator<ngraph::element::Type>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.252" = type { i8 }
%"class.std::vector.255" = type { %"struct.std::_Vector_base.256" }
%"struct.std::_Vector_base.256" = type { %"struct.std::_Vector_base<ngraph::PartialShape, std::allocator<ngraph::PartialShape>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::PartialShape, std::allocator<ngraph::PartialShape>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::PartialShape, std::allocator<ngraph::PartialShape>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::PartialShape, std::allocator<ngraph::PartialShape>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.257" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.260" = type { ptr }
%"class.std::shared_ptr.167" = type { %"class.std::__shared_ptr.168" }
%"class.std::__shared_ptr.168" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::shared_ptr.261" = type { %"class.std::__shared_ptr.262" }
%"class.std::__shared_ptr.262" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.264" = type { %"struct.std::_Vector_base.265" }
%"struct.std::_Vector_base.265" = type { %"struct.std::_Vector_base<void *, std::allocator<void *>>::_Vector_impl" }
%"struct.std::_Vector_base<void *, std::allocator<void *>>::_Vector_impl" = type { %"struct.std::_Vector_base<void *, std::allocator<void *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<void *, std::allocator<void *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.266" = type { i8 }
%"class.std::shared_ptr.110" = type { %"class.std::__shared_ptr.111" }
%"class.std::__shared_ptr.111" = type { ptr, %"class.std::__shared_count" }
%"class.__gnu_cxx::__normal_iterator.271" = type { ptr }
%"class.std::shared_ptr.179" = type { %"class.std::__shared_ptr.180" }
%"class.std::__shared_ptr.180" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::op::v0::TensorIterator" = type { %"class.ngraph::op::util::FusedOp", %"class.std::shared_ptr.110", %"class.std::vector.113", %"class.std::vector.118", i64 }
%"class.ngraph::op::util::FusedOp" = type { %"class.ngraph::op::Op" }
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.45", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.53", %"class.std::set", %"class.std::deque", %"class.std::deque.79", %"class.std::unordered_map.85", 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.24" }
%"class.std::_Hashtable.24" = 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.45" = type { %"struct.std::_Vector_base.46" }
%"struct.std::_Vector_base.46" = 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::unordered_set.53" = type { %"class.std::_Hashtable.54" }
%"class.std::_Hashtable.54" = 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.79" = type { %"class.std::_Deque_base.80" }
%"class.std::_Deque_base.80" = 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.84", %"struct.std::_Deque_iterator.84" }
%"struct.std::_Deque_iterator.84" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map.85" = type { %"class.std::_Hashtable.86" }
%"class.std::_Hashtable.86" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::map" = type { %"class.std::_Rb_tree.105" }
%"class.std::_Rb_tree.105" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.113" = type { %"struct.std::_Vector_base.114" }
%"struct.std::_Vector_base.114" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::TensorIterator::InputDescription>, std::allocator<std::shared_ptr<ngraph::op::v0::TensorIterator::InputDescription>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::TensorIterator::InputDescription>, std::allocator<std::shared_ptr<ngraph::op::v0::TensorIterator::InputDescription>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::TensorIterator::InputDescription>, std::allocator<std::shared_ptr<ngraph::op::v0::TensorIterator::InputDescription>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::TensorIterator::InputDescription>, std::allocator<std::shared_ptr<ngraph::op::v0::TensorIterator::InputDescription>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.118" = type { %"struct.std::_Vector_base.119" }
%"struct.std::_Vector_base.119" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::TensorIterator::OutputDescription>, std::allocator<std::shared_ptr<ngraph::op::v0::TensorIterator::OutputDescription>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::TensorIterator::OutputDescription>, std::allocator<std::shared_ptr<ngraph::op::v0::TensorIterator::OutputDescription>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::TensorIterator::OutputDescription>, std::allocator<std::shared_ptr<ngraph::op::v0::TensorIterator::OutputDescription>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::op::v0::TensorIterator::OutputDescription>, std::allocator<std::shared_ptr<ngraph::op::v0::TensorIterator::OutputDescription>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::op::v0::TensorIterator::InputDescription" = type { ptr, i64, i64 }
%"class.ngraph::op::v0::TensorIterator::SliceInputDescription" = type { %"class.ngraph::op::v0::TensorIterator::InputDescription", i64, i64, i64, i64, i64 }

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph11as_type_ptrINS_2op2v014TensorIterator21SliceInputDescriptionESt10shared_ptrINS3_16InputDescriptionEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES5_IS9_EEE5valueESC_E4typeESA_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.170") align 8, ptr noundef) #2

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

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

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

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

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph6OutputINS_4NodeEE17get_partial_shapeEv(ptr noundef nonnull align 8 dereferenceable(24)) #3

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

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24)) #3

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v014TensorIterator21clone_with_new_inputsERKSt6vectorINS_6OutputINS_4NodeEEESaIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.192") align 8 %0, ptr noundef nonnull align 8 dereferenceable(752) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.std::shared_ptr.223", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.std::vector.250", align 8
  %11 = alloca %"class.std::allocator.252", align 1
  %12 = alloca %"class.std::vector.255", align 8
  %13 = alloca %"class.std::allocator.257", align 1
  %14 = alloca i64, align 8
  %15 = alloca i32, align 4
  %16 = alloca ptr, align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.260", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.260", align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.std::shared_ptr.170", align 8
  %21 = alloca %"class.std::shared_ptr.167", align 8
  %22 = alloca %"class.ngraph::Dimension", align 8
  %23 = alloca %"class.std::shared_ptr.261", align 8
  %24 = alloca %"class.std::shared_ptr.261", align 8
  %25 = alloca %"class.std::shared_ptr.261", align 8
  %26 = alloca %"class.std::vector.264", align 8
  %27 = alloca ptr, align 8
  %28 = alloca %"class.std::allocator.266", align 1
  %29 = alloca %"class.std::shared_ptr.110", align 8
  %30 = alloca ptr, align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator.260", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator.260", align 8
  %33 = alloca ptr, align 8
  %34 = alloca %"class.std::shared_ptr.167", align 8
  %35 = alloca ptr, align 8
  %36 = alloca %"class.__gnu_cxx::__normal_iterator.271", align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator.271", align 8
  %38 = alloca ptr, align 8
  %39 = alloca %"class.std::shared_ptr.179", align 8
  store ptr %0, ptr %4, align 8
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %40 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %7) #7
  %41 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZSt11make_sharedIN6ngraph2op2v014TensorIteratorEJRKSt6vectorINS0_6OutputINS0_4NodeEEESaIS7_EEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.223") align 8 %7, ptr noundef nonnull align 8 dereferenceable(24) %41)
  %42 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  %43 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 3
  %44 = call noundef i64 @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  invoke void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680) %42, i64 noundef %44)
          to label %45 unwind label %64

45:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #7
  %46 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 1
  %47 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  %48 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda14get_parametersEv(ptr noundef nonnull align 8 dereferenceable(56) %47)
          to label %49 unwind label %68

49:                                               ; preds = %45
  %50 = call noundef i64 @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #7
  call void @_ZNSaIN6ngraph7element4TypeEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  invoke void @_ZNSt6vectorIN6ngraph7element4TypeESaIS2_EEC2EmRKS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %50, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %51 unwind label %72

51:                                               ; preds = %49
  call void @_ZNSt15__new_allocatorIN6ngraph7element4TypeEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #7
  %52 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 1
  %53 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  %54 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda14get_parametersEv(ptr noundef nonnull align 8 dereferenceable(56) %53)
          to label %55 unwind label %76

55:                                               ; preds = %51
  %56 = call noundef i64 @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #7
  call void @_ZNSaIN6ngraph12PartialShapeEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #7
  invoke void @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %56, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %57 unwind label %80

57:                                               ; preds = %55
  call void @_ZNSt15__new_allocatorIN6ngraph12PartialShapeEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #7
  store i64 0, ptr %14, align 8, !tbaa !9
  br label %58

58:                                               ; preds = %171, %57
  %59 = load i64, ptr %14, align 8, !tbaa !9
  %60 = load ptr, ptr %6, align 8, !tbaa !5
  %61 = call noundef i64 @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  %62 = icmp ult i64 %59, %61
  br i1 %62, label %84, label %63

63:                                               ; preds = %58
  store i32 2, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  br label %174

64:                                               ; preds = %3
  %65 = landingpad { ptr, i32 }
          cleanup
  %66 = extractvalue { ptr, i32 } %65, 0
  store ptr %66, ptr %8, align 8
  %67 = extractvalue { ptr, i32 } %65, 1
  store i32 %67, ptr %9, align 4
  br label %291

68:                                               ; preds = %45
  %69 = landingpad { ptr, i32 }
          cleanup
  %70 = extractvalue { ptr, i32 } %69, 0
  store ptr %70, ptr %8, align 8
  %71 = extractvalue { ptr, i32 } %69, 1
  store i32 %71, ptr %9, align 4
  br label %290

72:                                               ; preds = %49
  %73 = landingpad { ptr, i32 }
          cleanup
  %74 = extractvalue { ptr, i32 } %73, 0
  store ptr %74, ptr %8, align 8
  %75 = extractvalue { ptr, i32 } %73, 1
  store i32 %75, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph7element4TypeEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  br label %290

76:                                               ; preds = %51
  %77 = landingpad { ptr, i32 }
          cleanup
  %78 = extractvalue { ptr, i32 } %77, 0
  store ptr %78, ptr %8, align 8
  %79 = extractvalue { ptr, i32 } %77, 1
  store i32 %79, ptr %9, align 4
  br label %289

80:                                               ; preds = %55
  %81 = landingpad { ptr, i32 }
          cleanup
  %82 = extractvalue { ptr, i32 } %81, 0
  store ptr %82, ptr %8, align 8
  %83 = extractvalue { ptr, i32 } %81, 1
  store i32 %83, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph12PartialShapeEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #7
  br label %289

84:                                               ; preds = %58
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #7
  %85 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 2
  store ptr %85, ptr %16, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  %86 = load ptr, ptr %16, align 8, !tbaa !5
  %87 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %86) #7
  %88 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.260", ptr %17, i32 0, i32 0
  store ptr %87, ptr %88, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #7
  %89 = load ptr, ptr %16, align 8, !tbaa !5
  %90 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %89) #7
  %91 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.260", ptr %18, i32 0, i32 0
  store ptr %90, ptr %91, align 8
  br label %92

92:                                               ; preds = %167, %84
  %93 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  br i1 %93, label %95, label %94

94:                                               ; preds = %92
  store i32 5, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #7
  br label %170

95:                                               ; preds = %92
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  %96 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  store ptr %96, ptr %19, align 8, !tbaa !5
  %97 = load ptr, ptr %19, align 8, !tbaa !5
  %98 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %97) #7
  %99 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator::InputDescription", ptr %98, i32 0, i32 1
  %100 = load i64, ptr %99, align 8, !tbaa !11
  %101 = load i64, ptr %14, align 8, !tbaa !9
  %102 = icmp eq i64 %100, %101
  br i1 %102, label %103, label %166

103:                                              ; preds = %95
  %104 = load ptr, ptr %6, align 8, !tbaa !5
  %105 = load i64, ptr %14, align 8, !tbaa !9
  %106 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %105) #7
  %107 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %106)
          to label %108 unwind label %151

108:                                              ; preds = %103
  %109 = load ptr, ptr %19, align 8, !tbaa !5
  %110 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %109) #7
  %111 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator::InputDescription", ptr %110, i32 0, i32 2
  %112 = load i64, ptr %111, align 8, !tbaa !13
  %113 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN6ngraph7element4TypeESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %112) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %113, ptr align 4 %107, i64 4, i1 false), !tbaa.struct !14
  %114 = load ptr, ptr %6, align 8, !tbaa !5
  %115 = load i64, ptr %14, align 8, !tbaa !9
  %116 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %114, i64 noundef %115) #7
  %117 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph6OutputINS_4NodeEE17get_partial_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %116)
          to label %118 unwind label %151

118:                                              ; preds = %108
  %119 = load ptr, ptr %19, align 8, !tbaa !5
  %120 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  %121 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator::InputDescription", ptr %120, i32 0, i32 2
  %122 = load i64, ptr %121, align 8, !tbaa !13
  %123 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %122) #7
  %124 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %117)
          to label %125 unwind label %151

125:                                              ; preds = %118
  %126 = load ptr, ptr %19, align 8, !tbaa !5
  %127 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %126) #7
  %128 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator::InputDescription", ptr %127, i32 0, i32 2
  %129 = load i64, ptr %128, align 8, !tbaa !13
  %130 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %129) #7
  %131 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %130)
          to label %132 unwind label %151

132:                                              ; preds = %125
  br i1 %131, label %133, label %165

133:                                              ; preds = %132
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #7
  %134 = load ptr, ptr %19, align 8, !tbaa !5
  call void @_ZNSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(16) %134) #7
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v014TensorIterator21SliceInputDescriptionESt10shared_ptrINS3_16InputDescriptionEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES5_IS9_EEE5valueESC_E4typeESA_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.170") align 8 %20, ptr noundef %21)
          to label %135 unwind label %155

135:                                              ; preds = %133
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  %136 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br i1 %136, label %137, label %163

137:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #7
  %138 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  %139 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator::SliceInputDescription", ptr %138, i32 0, i32 3
  %140 = load i64, ptr %139, align 8, !tbaa !17
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %22, i64 noundef %140)
          to label %141 unwind label %159

141:                                              ; preds = %137
  %142 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  %143 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator::InputDescription", ptr %142, i32 0, i32 2
  %144 = load i64, ptr %143, align 8, !tbaa !13
  %145 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %144) #7
  %146 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  %147 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator::SliceInputDescription", ptr %146, i32 0, i32 5
  %148 = load i64, ptr %147, align 8, !tbaa !19
  %149 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %145, i64 noundef %148)
          to label %150 unwind label %159

150:                                              ; preds = %141
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %149, ptr align 8 %22, i64 16, i1 false), !tbaa.struct !20
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  br label %163

151:                                              ; preds = %125, %118, %108, %103
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %8, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %9, align 4
  br label %169

155:                                              ; preds = %133
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %8, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %9, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  br label %164

159:                                              ; preds = %141, %137
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %8, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br label %164

163:                                              ; preds = %150, %135
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #7
  br label %165

164:                                              ; preds = %159, %155
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #7
  br label %169

165:                                              ; preds = %163, %132
  br label %166

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

167:                                              ; preds = %166
  %168 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  br label %92

169:                                              ; preds = %164, %151
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  br label %288

170:                                              ; preds = %94
  br label %171

171:                                              ; preds = %170
  %172 = load i64, ptr %14, align 8, !tbaa !9
  %173 = add i64 %172, 1
  store i64 %173, ptr %14, align 8, !tbaa !9
  br label %58, !llvm.loop !21

174:                                              ; preds = %63
  %175 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 4
  %176 = load i64, ptr %175, align 8, !tbaa !23
  %177 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  %178 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %177, i32 0, i32 4
  store i64 %176, ptr %178, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #7
  %179 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 1
  %180 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %179) #7
  %181 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda11get_resultsEv(ptr noundef nonnull align 8 dereferenceable(56) %180)
          to label %182 unwind label %212

182:                                              ; preds = %174
  %183 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 1
  %184 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %183) #7
  %185 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda14get_parametersEv(ptr noundef nonnull align 8 dereferenceable(56) %184)
          to label %186 unwind label %212

186:                                              ; preds = %182
  invoke void @_ZSt11make_sharedIN6ngraph8FunctionEJRKSt6vectorISt10shared_ptrINS0_2op2v06ResultEESaIS7_EERKS2_IS3_INS5_9ParameterEESaISD_EEEES3_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESJ_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.261") align 8 %23, ptr noundef nonnull align 8 dereferenceable(24) %181, ptr noundef nonnull align 8 dereferenceable(24) %185)
          to label %187 unwind label %212

187:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #7
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #7
  %188 = load ptr, ptr %6, align 8, !tbaa !5
  %189 = call noundef i64 @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %188) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #7
  store ptr null, ptr %27, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #7
  call void @_ZNSaIPvEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  invoke void @_ZNSt6vectorIPvSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef %189, ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %190 unwind label %216

190:                                              ; preds = %187
  invoke void @_ZN6ngraph19specialize_functionESt10shared_ptrINS_8FunctionEERKSt6vectorINS_7element4TypeESaIS5_EERKS3_INS_12PartialShapeESaISA_EERKS3_IPvSaISF_EEbb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.261") align 8 %24, ptr noundef %25, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %26, i1 noundef zeroext false, i1 noundef zeroext true)
          to label %191 unwind label %220

191:                                              ; preds = %190
  call void @_ZNSt6vectorIPvSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @_ZNSt15__new_allocatorIPvED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #7
  %192 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  %193 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda11get_resultsEv(ptr noundef nonnull align 8 dereferenceable(56) %192)
          to label %194 unwind label %225

194:                                              ; preds = %191
  %195 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  %196 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda14get_parametersEv(ptr noundef nonnull align 8 dereferenceable(56) %195)
          to label %197 unwind label %225

197:                                              ; preds = %194
  invoke void @_ZSt11make_sharedIN6ngraph2op2v014TensorIterator10BodyLambdaEJRKSt6vectorISt10shared_ptrINS2_6ResultEESaIS8_EERKS5_IS6_INS2_9ParameterEESaISE_EEEES6_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESK_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.110") align 8 %29, ptr noundef nonnull align 8 dereferenceable(24) %193, ptr noundef nonnull align 8 dereferenceable(24) %196)
          to label %198 unwind label %225

198:                                              ; preds = %197
  %199 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  %200 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %199, i32 0, i32 1
  %201 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph2op2v014TensorIterator10BodyLambdaEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(16) %200, ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #7
  %202 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 2
  store ptr %202, ptr %30, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  %203 = load ptr, ptr %30, align 8, !tbaa !5
  %204 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %203) #7
  %205 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.260", ptr %31, i32 0, i32 0
  store ptr %204, ptr %205, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  %206 = load ptr, ptr %30, align 8, !tbaa !5
  %207 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %206) #7
  %208 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.260", ptr %32, i32 0, i32 0
  store ptr %207, ptr %208, align 8
  br label %209

209:                                              ; preds = %240, %198
  %210 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  br i1 %210, label %229, label %211

211:                                              ; preds = %209
  store i32 7, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  br label %251

212:                                              ; preds = %186, %182, %174
  %213 = landingpad { ptr, i32 }
          cleanup
  %214 = extractvalue { ptr, i32 } %213, 0
  store ptr %214, ptr %8, align 8
  %215 = extractvalue { ptr, i32 } %213, 1
  store i32 %215, ptr %9, align 4
  br label %287

216:                                              ; preds = %187
  %217 = landingpad { ptr, i32 }
          cleanup
  %218 = extractvalue { ptr, i32 } %217, 0
  store ptr %218, ptr %8, align 8
  %219 = extractvalue { ptr, i32 } %217, 1
  store i32 %219, ptr %9, align 4
  br label %224

220:                                              ; preds = %190
  %221 = landingpad { ptr, i32 }
          cleanup
  %222 = extractvalue { ptr, i32 } %221, 0
  store ptr %222, ptr %8, align 8
  %223 = extractvalue { ptr, i32 } %221, 1
  store i32 %223, ptr %9, align 4
  call void @_ZNSt6vectorIPvSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  br label %224

224:                                              ; preds = %220, %216
  call void @_ZNSt15__new_allocatorIPvED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #7
  br label %286

225:                                              ; preds = %197, %194, %191
  %226 = landingpad { ptr, i32 }
          cleanup
  %227 = extractvalue { ptr, i32 } %226, 0
  store ptr %227, ptr %8, align 8
  %228 = extractvalue { ptr, i32 } %226, 1
  store i32 %228, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #7
  br label %285

229:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  %230 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  store ptr %230, ptr %33, align 8, !tbaa !5
  %231 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  %232 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %231, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %233 = load ptr, ptr %33, align 8, !tbaa !5
  %234 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %233) #7
  %235 = load ptr, ptr %234, align 8, !tbaa !88
  %236 = getelementptr inbounds ptr, ptr %235, i64 2
  %237 = load ptr, ptr %236, align 8
  invoke void %237(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.167") align 8 %34, ptr noundef nonnull align 8 dereferenceable(24) %234)
          to label %238 unwind label %242

238:                                              ; preds = %229
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE9push_backEOS6_(ptr noundef nonnull align 8 dereferenceable(24) %232, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %239 unwind label %246

239:                                              ; preds = %238
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %240

240:                                              ; preds = %239
  %241 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  br label %209

242:                                              ; preds = %229
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %8, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %9, align 4
  br label %250

246:                                              ; preds = %238
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %8, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %9, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #7
  br label %250

250:                                              ; preds = %246, %242
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  br label %285

251:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  %252 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %40, i32 0, i32 3
  store ptr %252, ptr %35, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  %253 = load ptr, ptr %35, align 8, !tbaa !5
  %254 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %253) #7
  %255 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.271", ptr %36, i32 0, i32 0
  store ptr %254, ptr %255, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %256 = load ptr, ptr %35, align 8, !tbaa !5
  %257 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %256) #7
  %258 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.271", ptr %37, i32 0, i32 0
  store ptr %257, ptr %258, align 8
  br label %259

259:                                              ; preds = %273, %251
  %260 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  br i1 %260, label %262, label %261

261:                                              ; preds = %259
  store i32 9, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %284

262:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #7
  %263 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  store ptr %263, ptr %38, align 8, !tbaa !5
  %264 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  %265 = getelementptr inbounds %"class.ngraph::op::v0::TensorIterator", ptr %264, i32 0, i32 3
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #7
  %266 = load ptr, ptr %38, align 8, !tbaa !5
  %267 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator17OutputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %266) #7
  %268 = load ptr, ptr %267, align 8, !tbaa !88
  %269 = getelementptr inbounds ptr, ptr %268, i64 2
  %270 = load ptr, ptr %269, align 8
  invoke void %270(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.179") align 8 %39, ptr noundef nonnull align 8 dereferenceable(24) %267)
          to label %271 unwind label %275

271:                                              ; preds = %262
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE9push_backEOS6_(ptr noundef nonnull align 8 dereferenceable(24) %265, ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %272 unwind label %279

272:                                              ; preds = %271
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  br label %273

273:                                              ; preds = %272
  %274 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  br label %259

275:                                              ; preds = %262
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %8, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %9, align 4
  br label %283

279:                                              ; preds = %271
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %8, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %9, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  br label %283

283:                                              ; preds = %279, %275
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %285

284:                                              ; preds = %261
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v014TensorIteratorEvEEOS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(16) %7) #7
  store i32 1, ptr %15, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #7
  call void @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIN6ngraph7element4TypeESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #7
  ret void

285:                                              ; preds = %283, %250, %225
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  br label %286

286:                                              ; preds = %285, %224
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  br label %287

287:                                              ; preds = %286, %212
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #7
  br label %288

288:                                              ; preds = %287, %169
  call void @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  br label %289

289:                                              ; preds = %288, %80, %76
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIN6ngraph7element4TypeESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  br label %290

290:                                              ; preds = %289, %72, %68
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #7
  br label %291

291:                                              ; preds = %290, %64
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #7
  br label %292

292:                                              ; preds = %291
  %293 = load ptr, ptr %8, align 8
  %294 = load i32, ptr %9, align 4
  %295 = insertvalue { ptr, i32 } poison, ptr %293, 0
  %296 = insertvalue { ptr, i32 } %295, i32 %294, 1
  resume { ptr, i32 } %296
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v014TensorIteratorEJRKSt6vectorINS0_6OutputINS0_4NodeEEESaIS7_EEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.223") align 8, ptr noundef nonnull align 8 dereferenceable(24)) #4

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #5

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph8FunctionEJRKSt6vectorISt10shared_ptrINS0_2op2v06ResultEESaIS7_EERKS2_IS3_INS5_9ParameterEESaISD_EEEES3_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESJ_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.261") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #4

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v014TensorIterator10BodyLambdaEJRKSt6vectorISt10shared_ptrINS2_6ResultEESaIS8_EERKS5_IS6_INS2_9ParameterEESaISE_EEEES6_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESK_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.110") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #4

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #5

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

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

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

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !10, i64 8}
!12 = !{!"_ZTSN6ngraph2op2v014TensorIterator16InputDescriptionE", !10, i64 8, !10, i64 16}
!13 = !{!12, !10, i64 16}
!14 = !{i64 0, i64 4, !15}
!15 = !{!16, !16, i64 0}
!16 = !{!"_ZTSN6ngraph7element6Type_tE", !7, i64 0}
!17 = !{!18, !10, i64 40}
!18 = !{!"_ZTSN6ngraph2op2v014TensorIterator21SliceInputDescriptionE", !12, i64 0, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56}
!19 = !{!18, !10, i64 56}
!20 = !{i64 0, i64 8, !9, i64 8, i64 8, !9}
!21 = distinct !{!21, !22}
!22 = !{!"llvm.loop.mustprogress"}
!23 = !{!24, !10, i64 744}
!24 = !{!"_ZTSN6ngraph2op2v014TensorIteratorE", !25, i64 0, !78, i64 680, !80, i64 696, !84, i64 720, !10, i64 744}
!25 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !26, i64 0}
!26 = !{!"_ZTSN6ngraph2op2OpE", !27, i64 0}
!27 = !{!"_ZTSN6ngraph4NodeE", !28, i64 8, !32, i64 24, !32, i64 80, !37, i64 136, !41, i64 160, !45, i64 184, !10, i64 216, !45, i64 224, !45, i64 256, !47, i64 288, !49, i64 344, !57, i64 392, !62, i64 472, !67, i64 552, !69, i64 608, !70, i64 616, !73, i64 632}
!28 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !29, i64 0}
!29 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !30, i64 0}
!30 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !31, i64 8}
!31 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!32 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !33, i64 0}
!33 = !{!"_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, !10, i64 8, !34, i64 16, !10, i64 24, !35, i64 32, !6, i64 48}
!34 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!35 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !36, i64 0, !10, i64 8}
!36 = !{!"float", !7, i64 0}
!37 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !38, i64 0}
!38 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!41 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !42, i64 0}
!42 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !44, i64 0}
!44 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!45 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !46, i64 0, !10, i64 8, !7, i64 16}
!46 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!47 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !48, i64 0}
!48 = !{!"_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, !10, i64 8, !34, i64 16, !10, i64 24, !35, i64 32, !6, i64 48}
!49 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !50, i64 0}
!50 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !51, i64 0}
!51 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !52, i64 0, !54, i64 8}
!52 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !53, i64 0}
!53 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!54 = !{!"_ZTSSt15_Rb_tree_header", !55, i64 0, !10, i64 32}
!55 = !{!"_ZTSSt18_Rb_tree_node_base", !56, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!56 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!57 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !58, i64 0}
!58 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !59, i64 0}
!59 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !60, i64 0}
!60 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !61, i64 16, !61, i64 48}
!61 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!62 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !63, i64 0}
!63 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !64, i64 0}
!64 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !65, i64 0}
!65 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !66, i64 16, !66, i64 48}
!66 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!67 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !68, i64 0}
!68 = !{!"_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, !10, i64 8, !34, i64 16, !10, i64 24, !35, i64 32, !6, i64 48}
!69 = !{!"int", !7, i64 0}
!70 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !71, i64 0}
!71 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !72, i64 8}
!72 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!73 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !74, i64 0}
!74 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !75, i64 0}
!75 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !76, i64 0, !54, i64 8}
!76 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !77, i64 0}
!77 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!78 = !{!"_ZTSSt10shared_ptrIN6ngraph2op2v014TensorIterator10BodyLambdaEE", !79, i64 0}
!79 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !72, i64 8}
!80 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE", !81, i64 0}
!81 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE", !82, i64 0}
!82 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE12_Vector_implE", !83, i64 0}
!83 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!84 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE", !85, i64 0}
!85 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE", !86, i64 0}
!86 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE12_Vector_implE", !87, i64 0}
!87 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!88 = !{!89, !89, i64 0}
!89 = !{!"vtable pointer", !8, 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.std::shared_ptr.170" = type { %"class.std::__shared_ptr.171" }
%"class.std::__shared_ptr.171" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.192" = type { %"class.std::__shared_ptr.193" }
%"class.std::__shared_ptr.193" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.223" = type { %"class.std::__shared_ptr.224" }
%"class.std::__shared_ptr.224" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.250" = type { %"struct.std::_Vector_base.251" }
%"struct.std::_Vector_base.251" = type { %"struct.std::_Vector_base<ngraph::element::Type, std::allocator<ngraph::element::Type>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::element::Type, std::allocator<ngraph::element::Type>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::element::Type, std::allocator<ngraph::element::Type>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::element::Type, std::allocator<ngraph::element::Type>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.252" = type { i8 }
%"class.std::vector.255" = type { %"struct.std::_Vector_base.256" }
%"struct.std::_Vector_base.256" = type { %"struct.std::_Vector_base<ngraph::PartialShape, std::allocator<ngraph::PartialShape>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::PartialShape, std::allocator<ngraph::PartialShape>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::PartialShape, std::allocator<ngraph::PartialShape>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::PartialShape, std::allocator<ngraph::PartialShape>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.257" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.260" = type { ptr }
%"class.std::shared_ptr.167" = type { %"class.std::__shared_ptr.168" }
%"class.std::__shared_ptr.168" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::shared_ptr.261" = type { %"class.std::__shared_ptr.262" }
%"class.std::__shared_ptr.262" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.264" = type { %"struct.std::_Vector_base.265" }
%"struct.std::_Vector_base.265" = type { %"struct.std::_Vector_base<void *, std::allocator<void *>>::_Vector_impl" }
%"struct.std::_Vector_base<void *, std::allocator<void *>>::_Vector_impl" = type { %"struct.std::_Vector_base<void *, std::allocator<void *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<void *, std::allocator<void *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.266" = type { i8 }
%"class.std::shared_ptr.110" = type { %"class.std::__shared_ptr.111" }
%"class.std::__shared_ptr.111" = type { ptr, %"class.std::__shared_count" }
%"class.__gnu_cxx::__normal_iterator.271" = type { ptr }
%"class.std::shared_ptr.179" = type { %"class.std::__shared_ptr.180" }
%"class.std::__shared_ptr.180" = type { ptr, %"class.std::__shared_count" }

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph11as_type_ptrINS_2op2v014TensorIterator21SliceInputDescriptionESt10shared_ptrINS3_16InputDescriptionEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES5_IS9_EEE5valueESC_E4typeESA_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.170") align 8, ptr noundef) local_unnamed_addr #2

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

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

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

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

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph6OutputINS_4NodeEE17get_partial_shapeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

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

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v014TensorIterator21clone_with_new_inputsERKSt6vectorINS_6OutputINS_4NodeEEESaIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.192") align 8 %0, ptr noundef nonnull align 8 dereferenceable(752) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::shared_ptr.223", align 8
  %5 = alloca %"class.std::vector.250", align 8
  %6 = alloca %"class.std::allocator.252", align 1
  %7 = alloca %"class.std::vector.255", align 8
  %8 = alloca %"class.std::allocator.257", align 1
  %9 = alloca %"class.__gnu_cxx::__normal_iterator.260", align 8
  %10 = alloca %"class.__gnu_cxx::__normal_iterator.260", align 8
  %11 = alloca %"class.std::shared_ptr.170", align 8
  %12 = alloca %"class.std::shared_ptr.167", align 8
  %13 = alloca %"class.ngraph::Dimension", align 8
  %14 = alloca %"class.std::shared_ptr.261", align 8
  %15 = alloca %"class.std::shared_ptr.261", align 8
  %16 = alloca %"class.std::shared_ptr.261", align 8
  %17 = alloca %"class.std::vector.264", align 8
  %18 = alloca ptr, align 8
  %19 = alloca %"class.std::allocator.266", align 1
  %20 = alloca %"class.std::shared_ptr.110", align 8
  %21 = alloca %"class.__gnu_cxx::__normal_iterator.260", align 8
  %22 = alloca %"class.__gnu_cxx::__normal_iterator.260", align 8
  %23 = alloca %"class.std::shared_ptr.167", align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator.271", align 8
  %25 = alloca %"class.__gnu_cxx::__normal_iterator.271", align 8
  %26 = alloca %"class.std::shared_ptr.179", align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #7
  call void @_ZSt11make_sharedIN6ngraph2op2v014TensorIteratorEJRKSt6vectorINS0_6OutputINS0_4NodeEEESaIS7_EEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.223") align 8 %4, ptr noundef nonnull align 8 dereferenceable(24) %2)
  %27 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  %28 = getelementptr inbounds i8, ptr %1, i64 720
  %29 = call noundef i64 @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  invoke void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680) %27, i64 noundef %29)
          to label %30 unwind label %50

30:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #7
  %31 = getelementptr inbounds i8, ptr %1, i64 680
  %32 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  %33 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda14get_parametersEv(ptr noundef nonnull align 8 dereferenceable(56) %32)
  %34 = call noundef i64 @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #7
  call void @_ZNSaIN6ngraph7element4TypeEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  invoke void @_ZNSt6vectorIN6ngraph7element4TypeESaIS2_EEC2EmRKS3_(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %34, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %35 unwind label %52

35:                                               ; preds = %30
  call void @_ZNSt15__new_allocatorIN6ngraph7element4TypeEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #7
  %36 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  %37 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda14get_parametersEv(ptr noundef nonnull align 8 dereferenceable(56) %36)
  %38 = call noundef i64 @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v09ParameterEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %37) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #7
  call void @_ZNSaIN6ngraph12PartialShapeEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  invoke void @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %38, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %39 unwind label %54

39:                                               ; preds = %35
  call void @_ZNSt15__new_allocatorIN6ngraph12PartialShapeEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #7
  %40 = call noundef i64 @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  %.not = icmp eq i64 %40, 0
  br i1 %.not, label %._crit_edge56, label %.lr.ph55

.lr.ph55:                                         ; preds = %39
  %41 = getelementptr inbounds i8, ptr %1, i64 696
  br label %56

._crit_edge56:                                    ; preds = %._crit_edge, %39
  %42 = getelementptr inbounds i8, ptr %1, i64 744
  %43 = load i64, ptr %42, align 8, !tbaa !5
  %44 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  %45 = getelementptr inbounds i8, ptr %44, i64 744
  store i64 %43, ptr %45, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #7
  %46 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  %47 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda11get_resultsEv(ptr noundef nonnull align 8 dereferenceable(56) %46)
  %48 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  %49 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda14get_parametersEv(ptr noundef nonnull align 8 dereferenceable(56) %48)
  invoke void @_ZSt11make_sharedIN6ngraph8FunctionEJRKSt6vectorISt10shared_ptrINS0_2op2v06ResultEESaIS7_EERKS2_IS3_INS5_9ParameterEESaISD_EEEES3_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESJ_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.261") align 8 %14, ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %121 unwind label %140

50:                                               ; preds = %3
  %51 = landingpad { ptr, i32 }
          cleanup
  br label %186

52:                                               ; preds = %30
  %53 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph7element4TypeEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #7
  br label %185

54:                                               ; preds = %35
  %55 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph12PartialShapeEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #7
  br label %184

56:                                               ; preds = %.lr.ph55, %._crit_edge
  %.03753 = phi i64 [ 0, %.lr.ph55 ], [ %60, %._crit_edge ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #7
  %57 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  store ptr %57, ptr %9, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  %58 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  store ptr %58, ptr %10, align 8
  %59 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  br i1 %59, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %117, %56
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  %60 = add nuw i64 %.03753, 1
  %61 = call noundef i64 @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  %62 = icmp ult i64 %60, %61
  br i1 %62, label %56, label %._crit_edge56, !llvm.loop !74

.lr.ph:                                           ; preds = %56, %117
  %63 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #7
  %64 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  %65 = getelementptr inbounds i8, ptr %64, i64 8
  %66 = load i64, ptr %65, align 8, !tbaa !76
  %67 = icmp eq i64 %66, %.03753
  br i1 %67, label %68, label %117

68:                                               ; preds = %.lr.ph
  %69 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %.03753) #7
  %70 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %69)
          to label %71 unwind label %109

71:                                               ; preds = %68
  %72 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  %73 = getelementptr inbounds i8, ptr %72, i64 16
  %74 = load i64, ptr %73, align 8, !tbaa !78
  %75 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN6ngraph7element4TypeESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %74) #7
  %76 = load i32, ptr %70, align 4, !tbaa !79
  store i32 %76, ptr %75, align 4, !tbaa !79
  %77 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %.03753) #7
  %78 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph6OutputINS_4NodeEE17get_partial_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %77)
          to label %79 unwind label %109

79:                                               ; preds = %71
  %80 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  %81 = getelementptr inbounds i8, ptr %80, i64 16
  %82 = load i64, ptr %81, align 8, !tbaa !78
  %83 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %82) #7
  %84 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %85 unwind label %109

85:                                               ; preds = %79
  %86 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  %87 = getelementptr inbounds i8, ptr %86, i64 16
  %88 = load i64, ptr %87, align 8, !tbaa !78
  %89 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %88) #7
  %90 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %91 unwind label %109

91:                                               ; preds = %85
  br i1 %90, label %92, label %117

92:                                               ; preds = %91
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #7
  call void @_ZNSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(16) %63) #7
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v014TensorIterator21SliceInputDescriptionESt10shared_ptrINS3_16InputDescriptionEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES5_IS9_EEE5valueESC_E4typeESA_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.170") align 8 %11, ptr noundef nonnull %12)
          to label %93 unwind label %111

93:                                               ; preds = %92
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  %94 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  br i1 %94, label %95, label %115

95:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #7
  %96 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  %97 = getelementptr inbounds i8, ptr %96, i64 40
  %98 = load i64, ptr %97, align 8, !tbaa !81
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %13, i64 noundef %98)
          to label %99 unwind label %113

99:                                               ; preds = %95
  %100 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  %101 = getelementptr inbounds i8, ptr %100, i64 16
  %102 = load i64, ptr %101, align 8, !tbaa !78
  %103 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %102) #7
  %104 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  %105 = getelementptr inbounds i8, ptr %104, i64 56
  %106 = load i64, ptr %105, align 8, !tbaa !83
  %107 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %103, i64 noundef %106)
          to label %108 unwind label %113

108:                                              ; preds = %99
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %107, ptr noundef nonnull align 8 dereferenceable(16) %13, i64 16, i1 false), !tbaa.struct !84
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #7
  br label %115

109:                                              ; preds = %85, %79, %71, %68
  %110 = landingpad { ptr, i32 }
          cleanup
  br label %120

111:                                              ; preds = %92
  %112 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  br label %116

113:                                              ; preds = %99, %95
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  br label %116

115:                                              ; preds = %108, %93
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator21SliceInputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  br label %117

116:                                              ; preds = %113, %111
  %.pn46 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  br label %120

117:                                              ; preds = %91, %115, %.lr.ph
  %118 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #7
  %119 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  br i1 %119, label %.lr.ph, label %._crit_edge

120:                                              ; preds = %116, %109
  %.pn46.pn = phi { ptr, i32 } [ %.pn46, %116 ], [ %110, %109 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  br label %183

121:                                              ; preds = %._crit_edge56
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #7
  call void @_ZNSt10shared_ptrIN6ngraph8FunctionEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull align 8 dereferenceable(16) %14) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #7
  %122 = call noundef i64 @_ZNKSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  store ptr null, ptr %18, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #7
  call void @_ZNSaIPvEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  invoke void @_ZNSt6vectorIPvSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %122, ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %123 unwind label %142

123:                                              ; preds = %121
  invoke void @_ZN6ngraph19specialize_functionESt10shared_ptrINS_8FunctionEERKSt6vectorINS_7element4TypeESaIS5_EERKS3_INS_12PartialShapeESaISA_EERKS3_IPvSaISF_EEbb(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.261") align 8 %15, ptr noundef nonnull %16, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %17, i1 noundef zeroext false, i1 noundef zeroext true)
          to label %124 unwind label %144

124:                                              ; preds = %123
  call void @_ZNSt6vectorIPvSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @_ZNSt15__new_allocatorIPvED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #7
  %125 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  %126 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda11get_resultsEv(ptr noundef nonnull align 8 dereferenceable(56) %125)
  %127 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  %128 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6Lambda14get_parametersEv(ptr noundef nonnull align 8 dereferenceable(56) %127)
  invoke void @_ZSt11make_sharedIN6ngraph2op2v014TensorIterator10BodyLambdaEJRKSt6vectorISt10shared_ptrINS2_6ResultEESaIS8_EERKS5_IS6_INS2_9ParameterEESaISE_EEEES6_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESK_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.110") align 8 %20, ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 8 dereferenceable(24) %128)
          to label %129 unwind label %147

129:                                              ; preds = %124
  %130 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  %131 = getelementptr inbounds i8, ptr %130, i64 680
  %132 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph2op2v014TensorIterator10BodyLambdaEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  %133 = getelementptr inbounds i8, ptr %1, i64 696
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  %134 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %133) #7
  store ptr %134, ptr %21, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #7
  %135 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %133) #7
  store ptr %135, ptr %22, align 8
  %136 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  br i1 %136, label %.lr.ph58, label %._crit_edge59

._crit_edge59:                                    ; preds = %157, %129
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  %137 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  store ptr %137, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  %138 = call ptr @_ZNKSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  store ptr %138, ptr %25, align 8
  %139 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  br i1 %139, label %.lr.ph61, label %._crit_edge62

140:                                              ; preds = %._crit_edge56
  %141 = landingpad { ptr, i32 }
          cleanup
  br label %182

142:                                              ; preds = %121
  %143 = landingpad { ptr, i32 }
          cleanup
  br label %146

144:                                              ; preds = %123
  %145 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIPvSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  br label %146

146:                                              ; preds = %144, %142
  %.pn = phi { ptr, i32 } [ %145, %144 ], [ %143, %142 ]
  call void @_ZNSt15__new_allocatorIPvED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  br label %181

147:                                              ; preds = %124
  %148 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  br label %181

.lr.ph58:                                         ; preds = %129, %157
  %149 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  %150 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #7
  %151 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %149) #7
  %152 = load ptr, ptr %151, align 8, !tbaa !87
  %153 = getelementptr inbounds i8, ptr %152, i64 16
  %154 = load ptr, ptr %153, align 8
  invoke void %154(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.167") align 8 %23, ptr noundef nonnull align 8 dereferenceable(24) %151)
          to label %155 unwind label %160

155:                                              ; preds = %.lr.ph58
  %156 = getelementptr inbounds i8, ptr %150, i64 696
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE9push_backEOS6_(ptr noundef nonnull align 8 dereferenceable(24) %156, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %157 unwind label %162

157:                                              ; preds = %155
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  %158 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  %159 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  br i1 %159, label %.lr.ph58, label %._crit_edge59

160:                                              ; preds = %.lr.ph58
  %161 = landingpad { ptr, i32 }
          cleanup
  br label %164

162:                                              ; preds = %155
  %163 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  br label %164

164:                                              ; preds = %162, %160
  %.pn41 = phi { ptr, i32 } [ %163, %162 ], [ %161, %160 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br label %181

._crit_edge62:                                    ; preds = %173, %._crit_edge59
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2INS0_2op2v014TensorIteratorEvEEOS_IT_E(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(16) %4) #7
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @_ZNSt6vectorIN6ngraph7element4TypeESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %4) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #7
  ret void

.lr.ph61:                                         ; preds = %._crit_edge59, %173
  %165 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  %166 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #7
  %167 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v014TensorIterator17OutputDescriptionELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %165) #7
  %168 = load ptr, ptr %167, align 8, !tbaa !87
  %169 = getelementptr inbounds i8, ptr %168, i64 16
  %170 = load ptr, ptr %169, align 8
  invoke void %170(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.179") align 8 %26, ptr noundef nonnull align 8 dereferenceable(24) %167)
          to label %171 unwind label %176

171:                                              ; preds = %.lr.ph61
  %172 = getelementptr inbounds i8, ptr %166, i64 720
  invoke void @_ZNSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE9push_backEOS6_(ptr noundef nonnull align 8 dereferenceable(24) %172, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %173 unwind label %178

173:                                              ; preds = %171
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  %174 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  %175 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  br i1 %175, label %.lr.ph61, label %._crit_edge62

176:                                              ; preds = %.lr.ph61
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %180

178:                                              ; preds = %171
  %179 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  br label %180

180:                                              ; preds = %178, %176
  %.pn39 = phi { ptr, i32 } [ %179, %178 ], [ %177, %176 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %181

181:                                              ; preds = %147, %164, %180, %146
  %.sink = phi ptr [ %16, %146 ], [ %15, %180 ], [ %15, %164 ], [ %15, %147 ]
  %.pn41.pn.pn = phi { ptr, i32 } [ %.pn, %146 ], [ %.pn39, %180 ], [ %.pn41, %164 ], [ %148, %147 ]
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %.sink) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  call void @_ZNSt12__shared_ptrIN6ngraph8FunctionELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #7
  br label %182

182:                                              ; preds = %181, %140
  %.pn41.pn.pn.pn = phi { ptr, i32 } [ %.pn41.pn.pn, %181 ], [ %141, %140 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  br label %183

183:                                              ; preds = %182, %120
  %.pn46.pn.pn = phi { ptr, i32 } [ %.pn46.pn, %120 ], [ %.pn41.pn.pn.pn, %182 ]
  call void @_ZNSt6vectorIN6ngraph12PartialShapeESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  br label %184

184:                                              ; preds = %183, %54
  %.pn46.pn.pn.pn = phi { ptr, i32 } [ %.pn46.pn.pn, %183 ], [ %55, %54 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @_ZNSt6vectorIN6ngraph7element4TypeESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  br label %185

185:                                              ; preds = %184, %52
  %.pn46.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn46.pn.pn.pn, %184 ], [ %53, %52 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  br label %186

186:                                              ; preds = %185, %50
  %.pn46.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn46.pn.pn.pn.pn, %185 ], [ %51, %50 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v014TensorIteratorELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %4) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #7
  resume { ptr, i32 } %.pn46.pn.pn.pn.pn.pn
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v014TensorIteratorEJRKSt6vectorINS0_6OutputINS0_4NodeEEESaIS7_EEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.223") align 8, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph8FunctionEJRKSt6vectorISt10shared_ptrINS0_2op2v06ResultEESaIS7_EERKS2_IS3_INS5_9ParameterEESaISD_EEEES3_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESJ_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.261") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v014TensorIterator10BodyLambdaEJRKSt6vectorISt10shared_ptrINS2_6ResultEESaIS8_EERKS5_IS6_INS2_9ParameterEESaISE_EEEES6_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESK_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.110") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESt6vectorIS7_SaIS7_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

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

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

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

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

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

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

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

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

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

!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, !19, i64 744}
!6 = !{!"_ZTSN6ngraph2op2v014TensorIteratorE", !7, i64 0, !64, i64 680, !66, i64 696, !70, i64 720, !19, i64 744}
!7 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !8, i64 0}
!8 = !{!"_ZTSN6ngraph2op2OpE", !9, i64 0}
!9 = !{!"_ZTSN6ngraph4NodeE", !10, i64 8, !17, i64 24, !17, i64 80, !23, i64 136, !27, i64 160, !31, i64 184, !19, i64 216, !31, i64 224, !31, i64 256, !33, i64 288, !35, i64 344, !43, i64 392, !48, i64 472, !53, i64 552, !55, i64 608, !56, i64 616, !59, i64 632}
!10 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !11, i64 0}
!11 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !12, i64 0}
!12 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0, !16, i64 8}
!13 = !{!"any pointer", !14, i64 0}
!14 = !{!"omnipotent char", !15, i64 0}
!15 = !{!"Simple C++ TBAA"}
!16 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0}
!17 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !18, i64 0}
!18 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!19 = !{!"long", !14, i64 0}
!20 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !13, i64 0}
!21 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !22, i64 0, !19, i64 8}
!22 = !{!"float", !14, i64 0}
!23 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!27 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!31 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !32, i64 0, !19, i64 8, !14, i64 16}
!32 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !13, i64 0}
!33 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !34, i64 0}
!34 = !{!"_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", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!35 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !36, i64 0}
!36 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !38, i64 0, !40, i64 8}
!38 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !39, i64 0}
!39 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!40 = !{!"_ZTSSt15_Rb_tree_header", !41, i64 0, !19, i64 32}
!41 = !{!"_ZTSSt18_Rb_tree_node_base", !42, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!42 = !{!"_ZTSSt14_Rb_tree_color", !14, i64 0}
!43 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !44, i64 0}
!44 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !45, i64 0}
!45 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !46, i64 0}
!46 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !13, i64 0, !19, i64 8, !47, i64 16, !47, i64 48}
!47 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!48 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !49, i64 0}
!49 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !51, i64 0}
!51 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !13, i64 0, !19, i64 8, !52, i64 16, !52, i64 48}
!52 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!53 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !54, i64 0}
!54 = !{!"_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", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!55 = !{!"int", !14, i64 0}
!56 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !57, i64 0}
!57 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0, !58, i64 8}
!58 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0}
!59 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !60, i64 0}
!60 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !61, i64 0}
!61 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !62, i64 0, !40, i64 8}
!62 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !63, i64 0}
!63 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!64 = !{!"_ZTSSt10shared_ptrIN6ngraph2op2v014TensorIterator10BodyLambdaEE", !65, i64 0}
!65 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op2v014TensorIterator10BodyLambdaELN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0, !58, i64 8}
!66 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE", !67, i64 0}
!67 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE12_Vector_implE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator16InputDescriptionEESaIS6_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!70 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE", !71, i64 0}
!71 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE12_Vector_implE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph2op2v014TensorIterator17OutputDescriptionEESaIS6_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!74 = distinct !{!74, !75}
!75 = !{!"llvm.loop.mustprogress"}
!76 = !{!77, !19, i64 8}
!77 = !{!"_ZTSN6ngraph2op2v014TensorIterator16InputDescriptionE", !19, i64 8, !19, i64 16}
!78 = !{!77, !19, i64 16}
!79 = !{!80, !80, i64 0}
!80 = !{!"_ZTSN6ngraph7element6Type_tE", !14, i64 0}
!81 = !{!82, !19, i64 40}
!82 = !{!"_ZTSN6ngraph2op2v014TensorIterator21SliceInputDescriptionE", !77, i64 0, !19, i64 24, !19, i64 32, !19, i64 40, !19, i64 48, !19, i64 56}
!83 = !{!82, !19, i64 56}
!84 = !{i64 0, i64 8, !85, i64 8, i64 8, !85}
!85 = !{!19, !19, i64 0}
!86 = !{!13, !13, i64 0}
!87 = !{!88, !88, i64 0}
!88 = !{!"vtable pointer", !15, i64 0}


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