; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/one_hot.ll (ZN6ngraph2op2v16OneHot24validate_and_infer_typesEv)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.87" }
%"class.std::vector.87" = type { %"struct.std::_Vector_base.88" }
%"struct.std::_Vector_base.88" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr.79" = type { %"class.std::__shared_ptr.80" }
%"class.std::__shared_ptr.80" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.79", i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::allocator.71" = type { i8 }
%"class.ngraph::element::Type" = type { i32 }
%"class.std::shared_ptr.92" = type { %"class.std::__shared_ptr.93" }
%"class.std::__shared_ptr.93" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.95" = type { %"struct.std::_Vector_base.96" }
%"struct.std::_Vector_base.96" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.83" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.ngraph::op::v1::OneHot" = type { %"class.ngraph::op::Op", i64 }
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.5", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.13", %"class.std::set", %"class.std::deque", %"class.std::deque.39", %"class.std::unordered_map", i32, %"class.std::shared_ptr", %"class.std::map" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_set.13" = type { %"class.std::_Hashtable.14" }
%"class.std::_Hashtable.14" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@.str.1 = external hidden unnamed_addr constant [81 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [14 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

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

declare void @__cxa_free_exception(ptr)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v16OneHot24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(688) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca i1, align 1
  %13 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %14 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca i1, align 1
  %17 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %18 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca i1, align 1
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca %"class.ngraph::Shape", align 8
  %26 = alloca i1, align 1
  %27 = alloca i1, align 1
  %28 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %29 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca i1, align 1
  %32 = alloca %"class.ngraph::Shape", align 8
  %33 = alloca i1, align 1
  %34 = alloca i1, align 1
  %35 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %36 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca i1, align 1
  %39 = alloca %"class.ngraph::Shape", align 8
  %40 = alloca i1, align 1
  %41 = alloca i1, align 1
  %42 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %43 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca i1, align 1
  %46 = alloca ptr, align 8
  %47 = alloca %"class.std::shared_ptr.79", align 8
  %48 = alloca %"class.ngraph::Output", align 8
  %49 = alloca %"class.ngraph::PartialShape", align 8
  %50 = alloca %"class.ngraph::Dimension", align 8
  %51 = alloca %"class.ngraph::Dimension", align 8
  %52 = alloca i64, align 8
  %53 = alloca %"class.ngraph::Dimension", align 8
  %54 = alloca %"class.std::vector.69", align 8
  %55 = alloca %"class.std::allocator.71", align 1
  %56 = alloca i32, align 4
  %57 = alloca %"class.ngraph::element::Type", align 4
  %58 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %59 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca i1, align 1
  %62 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %63 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca i1, align 1
  %66 = alloca %"class.std::shared_ptr.92", align 8
  %67 = alloca %"class.std::shared_ptr.79", align 8
  %68 = alloca i64, align 8
  %69 = alloca %"class.std::vector.95", align 8
  %70 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %71 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca i1, align 1
  %74 = alloca %"class.__gnu_cxx::__normal_iterator.83", align 8
  %75 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %76 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %77 = alloca %"class.ngraph::Dimension", align 8
  %78 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %79 = alloca %"class.ngraph::PartialShape", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %80 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #8
  %81 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 0)
  store ptr %81, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #8
  %82 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 1)
  store ptr %82, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #8
  %83 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 2)
  store ptr %83, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #8
  %84 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 3)
  store ptr %84, ptr %6, align 8, !tbaa !5
  br label %85

85:                                               ; preds = %1
  %86 = load ptr, ptr %3, align 8, !tbaa !5
  %87 = call noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4) %86)
  br i1 %87, label %118, label %88

88:                                               ; preds = %85
  %89 = load ptr, ptr %3, align 8, !tbaa !5
  %90 = call noundef zeroext i1 @_ZNK6ngraph7element4Type11is_integralEv(ptr noundef nonnull align 4 dereferenceable(4) %89)
  br i1 %90, label %118, label %91

91:                                               ; preds = %88
  call void @llvm.lifetime.start.p0(i64 392, ptr %7) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7)
  %92 = getelementptr inbounds i8, ptr %7, i64 16
  %93 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef nonnull align 1 dereferenceable(39) @.str.17)
          to label %94 unwind label %101

94:                                               ; preds = %91
  store i1 true, ptr %12, align 1
  %95 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #8
  %96 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 0
  store ptr @.str.1, ptr %96, align 8, !tbaa !9
  %97 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 1
  store i32 125, ptr %97, align 8, !tbaa !12
  %98 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 2
  store ptr @.str.18, ptr %98, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(128) %7)
          to label %99 unwind label %105

99:                                               ; preds = %94
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %95, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %100 unwind label %109

100:                                              ; preds = %99
  store i1 false, ptr %12, align 1
  invoke void @__cxa_throw(ptr %95, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %109

101:                                              ; preds = %91
  %102 = landingpad { ptr, i32 }
          cleanup
  %103 = extractvalue { ptr, i32 } %102, 0
  store ptr %103, ptr %8, align 8
  %104 = extractvalue { ptr, i32 } %102, 1
  store i32 %104, ptr %9, align 4
  br label %117

105:                                              ; preds = %94
  %106 = landingpad { ptr, i32 }
          cleanup
  %107 = extractvalue { ptr, i32 } %106, 0
  store ptr %107, ptr %8, align 8
  %108 = extractvalue { ptr, i32 } %106, 1
  store i32 %108, ptr %9, align 4
  br label %113

109:                                              ; preds = %100, %99
  %110 = landingpad { ptr, i32 }
          cleanup
  %111 = extractvalue { ptr, i32 } %110, 0
  store ptr %111, ptr %8, align 8
  %112 = extractvalue { ptr, i32 } %110, 1
  store i32 %112, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  br label %113

113:                                              ; preds = %109, %105
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #8
  %114 = load i1, ptr %12, align 1
  br i1 %114, label %115, label %116

115:                                              ; preds = %113
  call void @__cxa_free_exception(ptr %95) #8
  br label %116

116:                                              ; preds = %115, %113
  br label %117

117:                                              ; preds = %116, %101
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %7) #8
  br label %663

118:                                              ; preds = %88, %85
  br label %119

119:                                              ; preds = %118
  br label %120

120:                                              ; preds = %119
  br label %121

121:                                              ; preds = %120
  %122 = load ptr, ptr %4, align 8, !tbaa !5
  %123 = call noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4) %122)
  br i1 %123, label %154, label %124

124:                                              ; preds = %121
  %125 = load ptr, ptr %4, align 8, !tbaa !5
  %126 = call noundef zeroext i1 @_ZNK6ngraph7element4Type11is_integralEv(ptr noundef nonnull align 4 dereferenceable(4) %125)
  br i1 %126, label %154, label %127

127:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 392, ptr %13) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13)
  %128 = getelementptr inbounds i8, ptr %13, i64 16
  %129 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %128, ptr noundef nonnull align 1 dereferenceable(37) @.str.19)
          to label %130 unwind label %137

130:                                              ; preds = %127
  store i1 true, ptr %16, align 1
  %131 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #8
  %132 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 0
  store ptr @.str.1, ptr %132, align 8, !tbaa !9
  %133 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 1
  store i32 129, ptr %133, align 8, !tbaa !12
  %134 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 2
  store ptr @.str.20, ptr %134, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(128) %13)
          to label %135 unwind label %141

135:                                              ; preds = %130
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %131, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %136 unwind label %145

136:                                              ; preds = %135
  store i1 false, ptr %16, align 1
  invoke void @__cxa_throw(ptr %131, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %145

137:                                              ; preds = %127
  %138 = landingpad { ptr, i32 }
          cleanup
  %139 = extractvalue { ptr, i32 } %138, 0
  store ptr %139, ptr %8, align 8
  %140 = extractvalue { ptr, i32 } %138, 1
  store i32 %140, ptr %9, align 4
  br label %153

141:                                              ; preds = %130
  %142 = landingpad { ptr, i32 }
          cleanup
  %143 = extractvalue { ptr, i32 } %142, 0
  store ptr %143, ptr %8, align 8
  %144 = extractvalue { ptr, i32 } %142, 1
  store i32 %144, ptr %9, align 4
  br label %149

145:                                              ; preds = %136, %135
  %146 = landingpad { ptr, i32 }
          cleanup
  %147 = extractvalue { ptr, i32 } %146, 0
  store ptr %147, ptr %8, align 8
  %148 = extractvalue { ptr, i32 } %146, 1
  store i32 %148, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  br label %149

149:                                              ; preds = %145, %141
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #8
  %150 = load i1, ptr %16, align 1
  br i1 %150, label %151, label %152

151:                                              ; preds = %149
  call void @__cxa_free_exception(ptr %131) #8
  br label %152

152:                                              ; preds = %151, %149
  br label %153

153:                                              ; preds = %152, %137
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %13) #8
  br label %663

154:                                              ; preds = %124, %121
  br label %155

155:                                              ; preds = %154
  br label %156

156:                                              ; preds = %155
  br label %157

157:                                              ; preds = %156
  %158 = load ptr, ptr %5, align 8, !tbaa !5
  %159 = load ptr, ptr %6, align 8, !tbaa !5
  %160 = call noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %158, ptr noundef nonnull align 4 dereferenceable(4) %159)
  br i1 %160, label %188, label %161

161:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 392, ptr %17) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17)
  %162 = getelementptr inbounds i8, ptr %17, i64 16
  %163 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA70_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef nonnull align 1 dereferenceable(70) @.str.21)
          to label %164 unwind label %171

164:                                              ; preds = %161
  store i1 true, ptr %20, align 1
  %165 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #8
  %166 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 0
  store ptr @.str.1, ptr %166, align 8, !tbaa !9
  %167 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 1
  store i32 133, ptr %167, align 8, !tbaa !12
  %168 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %18, i32 0, i32 2
  store ptr @.str.22, ptr %168, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(128) %17)
          to label %169 unwind label %175

169:                                              ; preds = %164
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %165, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %170 unwind label %179

170:                                              ; preds = %169
  store i1 false, ptr %20, align 1
  invoke void @__cxa_throw(ptr %165, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %179

171:                                              ; preds = %161
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %8, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %9, align 4
  br label %187

175:                                              ; preds = %164
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %8, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %9, align 4
  br label %183

179:                                              ; preds = %170, %169
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %8, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  br label %183

183:                                              ; preds = %179, %175
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #8
  %184 = load i1, ptr %20, align 1
  br i1 %184, label %185, label %186

185:                                              ; preds = %183
  call void @__cxa_free_exception(ptr %165) #8
  br label %186

186:                                              ; preds = %185, %183
  br label %187

187:                                              ; preds = %186, %171
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %17) #8
  br label %663

188:                                              ; preds = %157
  br label %189

189:                                              ; preds = %188
  br label %190

190:                                              ; preds = %189
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #8
  %191 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 0)
  store ptr %191, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  %192 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 1)
  store ptr %192, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  %193 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 2)
  store ptr %193, ptr %23, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %194 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 3)
  store ptr %194, ptr %24, align 8, !tbaa !5
  br label %195

195:                                              ; preds = %190
  %196 = load ptr, ptr %22, align 8, !tbaa !5
  %197 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %196)
  store i1 false, ptr %26, align 1
  store i1 false, ptr %27, align 1
  br i1 %197, label %202, label %198

198:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 24, ptr %25) #8
  store i1 true, ptr %26, align 1
  %199 = load ptr, ptr %22, align 8, !tbaa !5
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %199)
  store i1 true, ptr %27, align 1
  %200 = invoke noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %25)
          to label %201 unwind label %221

201:                                              ; preds = %198
  br label %202

202:                                              ; preds = %201, %195
  %203 = phi i1 [ true, %195 ], [ %200, %201 ]
  %204 = xor i1 %203, true
  %205 = load i1, ptr %27, align 1
  br i1 %205, label %206, label %207

206:                                              ; preds = %202
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  br label %207

207:                                              ; preds = %206, %202
  %208 = load i1, ptr %26, align 1
  br i1 %208, label %209, label %210

209:                                              ; preds = %207
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #8
  br label %210

210:                                              ; preds = %209, %207
  br i1 %204, label %211, label %248

211:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 392, ptr %28) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28)
  %212 = getelementptr inbounds i8, ptr %28, i64 16
  %213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA28_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %212, ptr noundef nonnull align 1 dereferenceable(28) @.str.23)
          to label %214 unwind label %231

214:                                              ; preds = %211
  store i1 true, ptr %31, align 1
  %215 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #8
  %216 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 0
  store ptr @.str.1, ptr %216, align 8, !tbaa !9
  %217 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 1
  store i32 142, ptr %217, align 8, !tbaa !12
  %218 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 2
  store ptr @.str.24, ptr %218, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %219 unwind label %235

219:                                              ; preds = %214
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %215, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %220 unwind label %239

220:                                              ; preds = %219
  store i1 false, ptr %31, align 1
  invoke void @__cxa_throw(ptr %215, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %239

221:                                              ; preds = %198
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %8, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %9, align 4
  %225 = load i1, ptr %27, align 1
  br i1 %225, label %226, label %227

226:                                              ; preds = %221
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  br label %227

227:                                              ; preds = %226, %221
  %228 = load i1, ptr %26, align 1
  br i1 %228, label %229, label %230

229:                                              ; preds = %227
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #8
  br label %230

230:                                              ; preds = %229, %227
  br label %662

231:                                              ; preds = %211
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %8, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %9, align 4
  br label %247

235:                                              ; preds = %214
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %8, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %9, align 4
  br label %243

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

243:                                              ; preds = %239, %235
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  %244 = load i1, ptr %31, align 1
  br i1 %244, label %245, label %246

245:                                              ; preds = %243
  call void @__cxa_free_exception(ptr %215) #8
  br label %246

246:                                              ; preds = %245, %243
  br label %247

247:                                              ; preds = %246, %231
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %28) #8
  br label %662

248:                                              ; preds = %210
  br label %249

249:                                              ; preds = %248
  br label %250

250:                                              ; preds = %249
  br label %251

251:                                              ; preds = %250
  %252 = load ptr, ptr %23, align 8, !tbaa !5
  %253 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %252)
  store i1 false, ptr %33, align 1
  store i1 false, ptr %34, align 1
  br i1 %253, label %258, label %254

254:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 24, ptr %32) #8
  store i1 true, ptr %33, align 1
  %255 = load ptr, ptr %23, align 8, !tbaa !5
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %255)
  store i1 true, ptr %34, align 1
  %256 = invoke noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %32)
          to label %257 unwind label %277

257:                                              ; preds = %254
  br label %258

258:                                              ; preds = %257, %251
  %259 = phi i1 [ true, %251 ], [ %256, %257 ]
  %260 = xor i1 %259, true
  %261 = load i1, ptr %34, align 1
  br i1 %261, label %262, label %263

262:                                              ; preds = %258
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #8
  br label %263

263:                                              ; preds = %262, %258
  %264 = load i1, ptr %33, align 1
  br i1 %264, label %265, label %266

265:                                              ; preds = %263
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #8
  br label %266

266:                                              ; preds = %265, %263
  br i1 %260, label %267, label %304

267:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 392, ptr %35) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %35)
  %268 = getelementptr inbounds i8, ptr %35, i64 16
  %269 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA31_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %268, ptr noundef nonnull align 1 dereferenceable(31) @.str.25)
          to label %270 unwind label %287

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

275:                                              ; preds = %270
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %271, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %276 unwind label %295

276:                                              ; preds = %275
  store i1 false, ptr %38, align 1
  invoke void @__cxa_throw(ptr %271, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %295

277:                                              ; preds = %254
  %278 = landingpad { ptr, i32 }
          cleanup
  %279 = extractvalue { ptr, i32 } %278, 0
  store ptr %279, ptr %8, align 8
  %280 = extractvalue { ptr, i32 } %278, 1
  store i32 %280, ptr %9, align 4
  %281 = load i1, ptr %34, align 1
  br i1 %281, label %282, label %283

282:                                              ; preds = %277
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #8
  br label %283

283:                                              ; preds = %282, %277
  %284 = load i1, ptr %33, align 1
  br i1 %284, label %285, label %286

285:                                              ; preds = %283
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #8
  br label %286

286:                                              ; preds = %285, %283
  br label %662

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

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

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

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

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

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

303:                                              ; preds = %302, %287
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %35) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %35) #8
  br label %662

304:                                              ; preds = %266
  br label %305

305:                                              ; preds = %304
  br label %306

306:                                              ; preds = %305
  br label %307

307:                                              ; preds = %306
  %308 = load ptr, ptr %24, align 8, !tbaa !5
  %309 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %308)
  store i1 false, ptr %40, align 1
  store i1 false, ptr %41, align 1
  br i1 %309, label %314, label %310

310:                                              ; preds = %307
  call void @llvm.lifetime.start.p0(i64 24, ptr %39) #8
  store i1 true, ptr %40, align 1
  %311 = load ptr, ptr %24, align 8, !tbaa !5
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %311)
  store i1 true, ptr %41, align 1
  %312 = invoke noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %39)
          to label %313 unwind label %333

313:                                              ; preds = %310
  br label %314

314:                                              ; preds = %313, %307
  %315 = phi i1 [ true, %307 ], [ %312, %313 ]
  %316 = xor i1 %315, true
  %317 = load i1, ptr %41, align 1
  br i1 %317, label %318, label %319

318:                                              ; preds = %314
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  br label %319

319:                                              ; preds = %318, %314
  %320 = load i1, ptr %40, align 1
  br i1 %320, label %321, label %322

321:                                              ; preds = %319
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  br label %322

322:                                              ; preds = %321, %319
  br i1 %316, label %323, label %360

323:                                              ; preds = %322
  call void @llvm.lifetime.start.p0(i64 392, ptr %42) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %42)
  %324 = getelementptr inbounds i8, ptr %42, i64 16
  %325 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA32_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %324, ptr noundef nonnull align 1 dereferenceable(32) @.str.27)
          to label %326 unwind label %343

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

331:                                              ; preds = %326
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %327, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %332 unwind label %351

332:                                              ; preds = %331
  store i1 false, ptr %45, align 1
  invoke void @__cxa_throw(ptr %327, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %351

333:                                              ; preds = %310
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %8, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %9, align 4
  %337 = load i1, ptr %41, align 1
  br i1 %337, label %338, label %339

338:                                              ; preds = %333
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  br label %339

339:                                              ; preds = %338, %333
  %340 = load i1, ptr %40, align 1
  br i1 %340, label %341, label %342

341:                                              ; preds = %339
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  br label %342

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

343:                                              ; preds = %323
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %8, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %9, align 4
  br label %359

347:                                              ; preds = %326
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %8, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %9, align 4
  br label %355

351:                                              ; preds = %332, %331
  %352 = landingpad { ptr, i32 }
          cleanup
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %8, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %355

355:                                              ; preds = %351, %347
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  %356 = load i1, ptr %45, align 1
  br i1 %356, label %357, label %358

357:                                              ; preds = %355
  call void @__cxa_free_exception(ptr %327) #8
  br label %358

358:                                              ; preds = %357, %355
  br label %359

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

360:                                              ; preds = %322
  br label %361

361:                                              ; preds = %360
  br label %362

362:                                              ; preds = %361
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %48) #8
  call void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %48, ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 1)
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.79") align 8 %47, ptr noundef nonnull align 8 dereferenceable(24) %48)
          to label %363 unwind label %419

363:                                              ; preds = %362
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  store ptr %47, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #8
  %364 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %365 unwind label %423

365:                                              ; preds = %363
  %366 = getelementptr inbounds %"class.ngraph::Dimension", ptr %50, i32 0, i32 0
  %367 = getelementptr inbounds { i64, i64 }, ptr %366, i32 0, i32 0
  %368 = extractvalue { i64, i64 } %364, 0
  store i64 %368, ptr %367, align 8
  %369 = getelementptr inbounds { i64, i64 }, ptr %366, i32 0, i32 1
  %370 = extractvalue { i64, i64 } %364, 1
  store i64 %370, ptr %369, align 8
  %371 = getelementptr inbounds { i64, i64 }, ptr %50, i32 0, i32 0
  %372 = load i64, ptr %371, align 8
  %373 = getelementptr inbounds { i64, i64 }, ptr %50, i32 0, i32 1
  %374 = load i64, ptr %373, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %49, i64 %372, i64 %374)
          to label %375 unwind label %423

375:                                              ; preds = %365
  %376 = load ptr, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #8
  %377 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %376)
          to label %378 unwind label %427

378:                                              ; preds = %375
  br i1 %377, label %379, label %398

379:                                              ; preds = %378
  %380 = load ptr, ptr %21, align 8, !tbaa !5
  %381 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %380)
          to label %382 unwind label %431

382:                                              ; preds = %379
  %383 = getelementptr inbounds %"class.ngraph::Dimension", ptr %51, i32 0, i32 0
  %384 = getelementptr inbounds { i64, i64 }, ptr %383, i32 0, i32 0
  %385 = extractvalue { i64, i64 } %381, 0
  store i64 %385, ptr %384, align 8
  %386 = getelementptr inbounds { i64, i64 }, ptr %383, i32 0, i32 1
  %387 = extractvalue { i64, i64 } %381, 1
  store i64 %387, ptr %386, align 8
  %388 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %389 unwind label %431

389:                                              ; preds = %382
  br i1 %388, label %390, label %398

390:                                              ; preds = %389
  %391 = load ptr, ptr %46, align 8, !tbaa !5
  %392 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %391) #8
  %393 = load ptr, ptr %392, align 8, !tbaa !14
  %394 = getelementptr inbounds ptr, ptr %393, i64 20
  %395 = load ptr, ptr %394, align 8
  %396 = invoke noundef zeroext i1 %395(ptr noundef nonnull align 8 dereferenceable(680) %392)
          to label %397 unwind label %431

397:                                              ; preds = %390
  br label %398

398:                                              ; preds = %397, %389, %378
  %399 = phi i1 [ false, %389 ], [ false, %378 ], [ %396, %397 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  br i1 %399, label %400, label %656

400:                                              ; preds = %398
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #8
  %401 = load ptr, ptr %21, align 8, !tbaa !5
  %402 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %401)
          to label %403 unwind label %435

403:                                              ; preds = %400
  %404 = getelementptr inbounds %"class.ngraph::Dimension", ptr %53, i32 0, i32 0
  %405 = getelementptr inbounds { i64, i64 }, ptr %404, i32 0, i32 0
  %406 = extractvalue { i64, i64 } %402, 0
  store i64 %406, ptr %405, align 8
  %407 = getelementptr inbounds { i64, i64 }, ptr %404, i32 0, i32 1
  %408 = extractvalue { i64, i64 } %402, 1
  store i64 %408, ptr %407, align 8
  %409 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %410 unwind label %435

410:                                              ; preds = %403
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #8
  store i64 %409, ptr %52, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #8
  %411 = load i64, ptr %52, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %411, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %412 unwind label %439

412:                                              ; preds = %410
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #8
  store i32 0, ptr %56, align 4, !tbaa !18
  br label %413

413:                                              ; preds = %452, %412
  %414 = load i32, ptr %56, align 4, !tbaa !18
  %415 = sext i32 %414 to i64
  %416 = load i64, ptr %52, align 8, !tbaa !16
  %417 = icmp slt i64 %415, %416
  br i1 %417, label %443, label %418

418:                                              ; preds = %413
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #8
  br label %459

419:                                              ; preds = %362
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %8, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %9, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  br label %661

423:                                              ; preds = %365, %363
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %8, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %9, align 4
  br label %660

427:                                              ; preds = %656, %375
  %428 = landingpad { ptr, i32 }
          cleanup
  %429 = extractvalue { ptr, i32 } %428, 0
  store ptr %429, ptr %8, align 8
  %430 = extractvalue { ptr, i32 } %428, 1
  store i32 %430, ptr %9, align 4
  br label %659

431:                                              ; preds = %390, %382, %379
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %8, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  br label %659

435:                                              ; preds = %403, %400
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %8, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #8
  br label %655

439:                                              ; preds = %410
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %8, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #8
  br label %654

443:                                              ; preds = %413
  %444 = load ptr, ptr %21, align 8, !tbaa !5
  %445 = load i32, ptr %56, align 4, !tbaa !18
  %446 = sext i32 %445 to i64
  %447 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %444, i64 noundef %446)
          to label %448 unwind label %455

448:                                              ; preds = %443
  %449 = load i32, ptr %56, align 4, !tbaa !18
  %450 = sext i32 %449 to i64
  %451 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %450) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %451, ptr align 8 %447, i64 16, i1 false), !tbaa.struct !19
  br label %452

452:                                              ; preds = %448
  %453 = load i32, ptr %56, align 4, !tbaa !18
  %454 = add nsw i32 %453, 1
  store i32 %454, ptr %56, align 4, !tbaa !18
  br label %413, !llvm.loop !20

455:                                              ; preds = %443
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %8, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #8
  br label %653

459:                                              ; preds = %418
  %460 = getelementptr inbounds %"class.ngraph::op::v1::OneHot", ptr %80, i32 0, i32 1
  %461 = load i64, ptr %460, align 8, !tbaa !22
  %462 = load i64, ptr %52, align 8, !tbaa !16
  %463 = add nsw i64 %462, 1
  %464 = load i64, ptr %52, align 8, !tbaa !16
  %465 = sub nsw i64 0, %464
  %466 = sub nsw i64 %465, 1
  %467 = load i64, ptr %52, align 8, !tbaa !16
  %468 = invoke noundef i64 @_ZN6ngraph14normalize_axisEPKNS_4NodeElmll(ptr noundef %80, i64 noundef %461, i64 noundef %463, i64 noundef %466, i64 noundef %467)
          to label %469 unwind label %489

469:                                              ; preds = %459
  %470 = getelementptr inbounds %"class.ngraph::op::v1::OneHot", ptr %80, i32 0, i32 1
  store i64 %468, ptr %470, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #8
  %471 = load ptr, ptr %46, align 8, !tbaa !5
  %472 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %471) #8
  %473 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node23get_output_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %472, i64 noundef 0)
          to label %474 unwind label %493

474:                                              ; preds = %469
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %57, ptr align 4 %473, i64 4, i1 false), !tbaa.struct !75
  br label %475

475:                                              ; preds = %474
  %476 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type11is_integralEv(ptr noundef nonnull align 4 dereferenceable(4) %57)
          to label %477 unwind label %497

477:                                              ; preds = %475
  br i1 %476, label %523, label %478

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

479:                                              ; preds = %478
  %480 = getelementptr inbounds i8, ptr %58, i64 16
  %481 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA52_cJRNS_7element4TypeERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %480, ptr noundef nonnull align 1 dereferenceable(52) @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %57, ptr noundef nonnull align 1 dereferenceable(3) @.str.7)
          to label %482 unwind label %505

482:                                              ; preds = %479
  store i1 true, ptr %61, align 1
  %483 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %59) #8
  %484 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %59, i32 0, i32 0
  store ptr @.str.1, ptr %484, align 8, !tbaa !9
  %485 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %59, i32 0, i32 1
  store i32 172, ptr %485, align 8, !tbaa !12
  %486 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %59, i32 0, i32 2
  store ptr @.str.30, ptr %486, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(128) %58)
          to label %487 unwind label %509

487:                                              ; preds = %482
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %483, ptr noundef nonnull align 8 dereferenceable(24) %59, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %488 unwind label %513

488:                                              ; preds = %487
  store i1 false, ptr %61, align 1
  invoke void @__cxa_throw(ptr %483, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %513

489:                                              ; preds = %459
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %8, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %9, align 4
  br label %653

493:                                              ; preds = %469
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %8, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %9, align 4
  br label %652

497:                                              ; preds = %530, %526, %475
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %8, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %9, align 4
  br label %651

501:                                              ; preds = %478
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %8, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %9, align 4
  br label %522

505:                                              ; preds = %479
  %506 = landingpad { ptr, i32 }
          cleanup
  %507 = extractvalue { ptr, i32 } %506, 0
  store ptr %507, ptr %8, align 8
  %508 = extractvalue { ptr, i32 } %506, 1
  store i32 %508, ptr %9, align 4
  br label %521

509:                                              ; preds = %482
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %8, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %9, align 4
  br label %517

513:                                              ; preds = %488, %487
  %514 = landingpad { ptr, i32 }
          cleanup
  %515 = extractvalue { ptr, i32 } %514, 0
  store ptr %515, ptr %8, align 8
  %516 = extractvalue { ptr, i32 } %514, 1
  store i32 %516, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  br label %517

517:                                              ; preds = %513, %509
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #8
  %518 = load i1, ptr %61, align 1
  br i1 %518, label %519, label %520

519:                                              ; preds = %517
  call void @__cxa_free_exception(ptr %483) #8
  br label %520

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

521:                                              ; preds = %520, %505
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %58) #8
  br label %522

522:                                              ; preds = %521, %501
  call void @llvm.lifetime.end.p0(i64 392, ptr %58) #8
  br label %651

523:                                              ; preds = %477
  br label %524

524:                                              ; preds = %523
  br label %525

525:                                              ; preds = %524
  br label %526

526:                                              ; preds = %525
  %527 = load ptr, ptr %46, align 8, !tbaa !5
  %528 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %527) #8
  %529 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %528, i64 noundef 0)
          to label %530 unwind label %497

530:                                              ; preds = %526
  %531 = invoke noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %529)
          to label %532 unwind label %497

532:                                              ; preds = %530
  br i1 %531, label %570, label %533

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

534:                                              ; preds = %533
  %535 = getelementptr inbounds i8, ptr %62, i64 16
  %536 = load ptr, ptr %46, align 8, !tbaa !5
  %537 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %536) #8
  %538 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %537, i64 noundef 0)
          to label %539 unwind label %552

539:                                              ; preds = %534
  %540 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA55_cJRA7_KcRKNS_5ShapeERA12_S2_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %535, ptr noundef nonnull align 1 dereferenceable(55) @.str.31, ptr noundef nonnull align 1 dereferenceable(7) @.str.32, ptr noundef nonnull align 8 dereferenceable(24) %538, ptr noundef nonnull align 1 dereferenceable(12) @.str.33)
          to label %541 unwind label %552

541:                                              ; preds = %539
  store i1 true, ptr %65, align 1
  %542 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %63) #8
  %543 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %63, i32 0, i32 0
  store ptr @.str.1, ptr %543, align 8, !tbaa !9
  %544 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %63, i32 0, i32 1
  store i32 179, ptr %544, align 8, !tbaa !12
  %545 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %63, i32 0, i32 2
  store ptr @.str.34, ptr %545, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(128) %62)
          to label %546 unwind label %556

546:                                              ; preds = %541
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %542, ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %547 unwind label %560

547:                                              ; preds = %546
  store i1 false, ptr %65, align 1
  invoke void @__cxa_throw(ptr %542, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %560

548:                                              ; preds = %533
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %8, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %9, align 4
  br label %569

552:                                              ; preds = %539, %534
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %8, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %9, align 4
  br label %568

556:                                              ; preds = %541
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %8, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %9, align 4
  br label %564

560:                                              ; preds = %547, %546
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %8, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  br label %564

564:                                              ; preds = %560, %556
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #8
  %565 = load i1, ptr %65, align 1
  br i1 %565, label %566, label %567

566:                                              ; preds = %564
  call void @__cxa_free_exception(ptr %542) #8
  br label %567

567:                                              ; preds = %566, %564
  br label %568

568:                                              ; preds = %567, %552
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %62) #8
  br label %569

569:                                              ; preds = %568, %548
  call void @llvm.lifetime.end.p0(i64 392, ptr %62) #8
  br label %651

570:                                              ; preds = %532
  br label %571

571:                                              ; preds = %570
  br label %572

572:                                              ; preds = %571
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #8
  %573 = load ptr, ptr %46, align 8, !tbaa !5
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %67, ptr noundef nonnull align 8 dereferenceable(16) %573) #8
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.92") align 8 %66, ptr noundef %67)
          to label %574 unwind label %593

574:                                              ; preds = %572
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %69) #8
  %575 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %66) #8
  invoke void @_ZNK6ngraph2op2v08Constant11cast_vectorIlEESt6vectorIT_SaIS5_EEv(ptr dead_on_unwind writable sret(%"class.std::vector.95") align 8 %69, ptr noundef nonnull align 8 dereferenceable(729) %575)
          to label %576 unwind label %597

576:                                              ; preds = %574
  %577 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef 0) #8
  %578 = load i64, ptr %577, align 8, !tbaa !16
  call void @_ZNSt6vectorIlSaIlEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #8
  store i64 %578, ptr %68, align 8, !tbaa !16
  br label %579

579:                                              ; preds = %576
  %580 = load i64, ptr %68, align 8, !tbaa !16
  %581 = icmp sgt i64 %580, 0
  br i1 %581, label %623, label %582

582:                                              ; preds = %579
  call void @llvm.lifetime.start.p0(i64 392, ptr %70) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %70)
          to label %583 unwind label %601

583:                                              ; preds = %582
  %584 = getelementptr inbounds i8, ptr %70, i64 16
  %585 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA48_cJRA7_KcRlRA3_S2_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %584, ptr noundef nonnull align 1 dereferenceable(48) @.str.35, ptr noundef nonnull align 1 dereferenceable(7) @.str.32, ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 1 dereferenceable(3) @.str.7)
          to label %586 unwind label %605

586:                                              ; preds = %583
  store i1 true, ptr %73, align 1
  %587 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %71) #8
  %588 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %71, i32 0, i32 0
  store ptr @.str.1, ptr %588, align 8, !tbaa !9
  %589 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %71, i32 0, i32 1
  store i32 189, ptr %589, align 8, !tbaa !12
  %590 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %71, i32 0, i32 2
  store ptr @.str.36, ptr %590, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(128) %70)
          to label %591 unwind label %609

591:                                              ; preds = %586
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %587, ptr noundef nonnull align 8 dereferenceable(24) %71, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %592 unwind label %613

592:                                              ; preds = %591
  store i1 false, ptr %73, align 1
  invoke void @__cxa_throw(ptr %587, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %669 unwind label %613

593:                                              ; preds = %572
  %594 = landingpad { ptr, i32 }
          cleanup
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %8, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %9, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #8
  br label %650

597:                                              ; preds = %574
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %8, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #8
  br label %649

601:                                              ; preds = %582
  %602 = landingpad { ptr, i32 }
          cleanup
  %603 = extractvalue { ptr, i32 } %602, 0
  store ptr %603, ptr %8, align 8
  %604 = extractvalue { ptr, i32 } %602, 1
  store i32 %604, ptr %9, align 4
  br label %622

605:                                              ; preds = %583
  %606 = landingpad { ptr, i32 }
          cleanup
  %607 = extractvalue { ptr, i32 } %606, 0
  store ptr %607, ptr %8, align 8
  %608 = extractvalue { ptr, i32 } %606, 1
  store i32 %608, ptr %9, align 4
  br label %621

609:                                              ; preds = %586
  %610 = landingpad { ptr, i32 }
          cleanup
  %611 = extractvalue { ptr, i32 } %610, 0
  store ptr %611, ptr %8, align 8
  %612 = extractvalue { ptr, i32 } %610, 1
  store i32 %612, ptr %9, align 4
  br label %617

613:                                              ; preds = %592, %591
  %614 = landingpad { ptr, i32 }
          cleanup
  %615 = extractvalue { ptr, i32 } %614, 0
  store ptr %615, ptr %8, align 8
  %616 = extractvalue { ptr, i32 } %614, 1
  store i32 %616, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  br label %617

617:                                              ; preds = %613, %609
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #8
  %618 = load i1, ptr %73, align 1
  br i1 %618, label %619, label %620

619:                                              ; preds = %617
  call void @__cxa_free_exception(ptr %587) #8
  br label %620

620:                                              ; preds = %619, %617
  br label %621

621:                                              ; preds = %620, %605
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %70) #8
  br label %622

622:                                              ; preds = %621, %601
  call void @llvm.lifetime.end.p0(i64 392, ptr %70) #8
  br label %649

623:                                              ; preds = %579
  br label %624

624:                                              ; preds = %623
  br label %625

625:                                              ; preds = %624
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #8
  %626 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  %627 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %76, i32 0, i32 0
  store ptr %626, ptr %627, align 8
  %628 = getelementptr inbounds %"class.ngraph::op::v1::OneHot", ptr %80, i32 0, i32 1
  %629 = load i64, ptr %628, align 8, !tbaa !22
  %630 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN6ngraph9DimensionESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %76, i64 noundef %629) #8
  %631 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %75, i32 0, i32 0
  store ptr %630, ptr %631, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN6ngraph9DimensionESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 8 dereferenceable(8) %75) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %77) #8
  %632 = load i64, ptr %68, align 8, !tbaa !16
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %77, i64 noundef %632)
          to label %633 unwind label %641

633:                                              ; preds = %625
  %634 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.83", ptr %74, i32 0, i32 0
  %635 = load ptr, ptr %634, align 8
  %636 = invoke ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr %635, ptr noundef nonnull align 8 dereferenceable(16) %77)
          to label %637 unwind label %641

637:                                              ; preds = %633
  %638 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %78, i32 0, i32 0
  store ptr %636, ptr %638, align 8
  call void @llvm.lifetime.end.p0(i64 16, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %639 unwind label %645

639:                                              ; preds = %637
  %640 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %57) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  br label %656

641:                                              ; preds = %633, %625
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %8, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #8
  br label %649

645:                                              ; preds = %637
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %8, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  br label %649

649:                                              ; preds = %645, %641, %622, %597
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #8
  br label %650

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

651:                                              ; preds = %650, %569, %522, %497
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %57) #8
  br label %652

652:                                              ; preds = %651, %493
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #8
  br label %653

653:                                              ; preds = %652, %489, %455
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  br label %654

654:                                              ; preds = %653, %439
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #8
  br label %655

655:                                              ; preds = %654, %435
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  br label %659

656:                                              ; preds = %639, %398
  %657 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %80, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %657, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %658 unwind label %427

658:                                              ; preds = %656
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  ret void

659:                                              ; preds = %655, %431, %427
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %660

660:                                              ; preds = %659, %423
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  br label %661

661:                                              ; preds = %660, %419
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  br label %662

662:                                              ; preds = %661, %359, %342, %303, %286, %247, %230
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  br label %663

663:                                              ; preds = %662, %187, %153, %117
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  br label %664

664:                                              ; preds = %663
  %665 = load ptr, ptr %8, align 8
  %666 = load i32, ptr %9, align 4
  %667 = insertvalue { ptr, i32 } poison, ptr %665, 0
  %668 = insertvalue { ptr, i32 } %667, i32 %666, 1
  resume { ptr, i32 } %668

669:                                              ; preds = %592, %547, %488, %332, %276, %220, %170, %136, %100
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(39)) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(37)) #7

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24)) #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA28_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(28)) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA31_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(31)) #7

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

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

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

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

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

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

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

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

declare noundef i64 @_ZN6ngraph14normalize_axisEPKNS_4NodeElmll(ptr noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef) #2

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

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA55_cJRA7_KcRKNS_5ShapeERA12_S2_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(55), ptr noundef nonnull align 1 dereferenceable(7), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(12)) #7

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

%"class.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::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.87" }
%"class.std::vector.87" = type { %"struct.std::_Vector_base.88" }
%"struct.std::_Vector_base.88" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr.79" = type { %"class.std::__shared_ptr.80" }
%"class.std::__shared_ptr.80" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.79", i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::allocator.71" = type { i8 }
%"class.ngraph::element::Type" = type { i32 }
%"class.std::shared_ptr.92" = type { %"class.std::__shared_ptr.93" }
%"class.std::__shared_ptr.93" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.95" = type { %"struct.std::_Vector_base.96" }
%"struct.std::_Vector_base.96" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.83" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }

@.str.1 = external hidden unnamed_addr constant [81 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [14 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v16OneHot24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(688) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %3 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %6 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %9 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.ngraph::Shape", align 8
  %12 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %13 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.ngraph::Shape", align 8
  %16 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %17 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.ngraph::Shape", align 8
  %20 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %21 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::shared_ptr.79", align 8
  %24 = alloca %"class.ngraph::Output", align 8
  %25 = alloca %"class.ngraph::PartialShape", align 8
  %26 = alloca %"class.ngraph::Dimension", align 8
  %27 = alloca %"class.ngraph::Dimension", align 8
  %28 = alloca %"class.std::vector.69", align 8
  %29 = alloca %"class.std::allocator.71", align 1
  %30 = alloca %"class.ngraph::element::Type", align 4
  %31 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %32 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %35 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::shared_ptr.92", align 8
  %38 = alloca %"class.std::shared_ptr.79", align 8
  %39 = alloca i64, align 8
  %40 = alloca %"class.std::vector.95", align 8
  %41 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %42 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.__gnu_cxx::__normal_iterator.83", align 8
  %45 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %46 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %47 = alloca %"class.ngraph::Dimension", align 8
  %48 = alloca %"class.ngraph::PartialShape", align 8
  %49 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %50 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  %51 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
  %52 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
  %53 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4) %49)
  br i1 %53, label %73, label %54

54:                                               ; preds = %1
  %55 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type11is_integralEv(ptr noundef nonnull align 4 dereferenceable(4) %49)
  br i1 %55, label %73, label %56

56:                                               ; preds = %54
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %2) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %2)
  %57 = getelementptr inbounds i8, ptr %2, i64 16
  %58 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 1 dereferenceable(39) @.str.17)
          to label %59 unwind label %66

59:                                               ; preds = %56
  %60 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #8
  store ptr @.str.1, ptr %3, align 8, !tbaa !5
  %61 = getelementptr inbounds i8, ptr %3, i64 8
  store i32 125, ptr %61, align 8, !tbaa !11
  %62 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr @.str.18, ptr %62, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, ptr noundef nonnull align 8 dereferenceable(128) %2)
          to label %63 unwind label %.thread

63:                                               ; preds = %59
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %60, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %65 unwind label %.thread161

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

65:                                               ; preds = %63
  invoke void @__cxa_throw(ptr nonnull %60, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %349 unwind label %69

66:                                               ; preds = %56
  %67 = landingpad { ptr, i32 }
          cleanup
  br label %72

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

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

71:                                               ; preds = %.thread161, %.thread
  %.pn160 = phi { ptr, i32 } [ %68, %.thread ], [ %64, %.thread161 ]
  call void @__cxa_free_exception(ptr %60) #8
  br label %72

72:                                               ; preds = %69, %71, %66
  %.pn.pn = phi { ptr, i32 } [ %.pn160, %71 ], [ %70, %69 ], [ %67, %66 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %2) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %2) #8
  br label %348

73:                                               ; preds = %1, %54
  %74 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4) %50)
  br i1 %74, label %94, label %75

75:                                               ; preds = %73
  %76 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type11is_integralEv(ptr noundef nonnull align 4 dereferenceable(4) %50)
  br i1 %76, label %94, label %77

77:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %5) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5)
  %78 = getelementptr inbounds i8, ptr %5, i64 16
  %79 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef nonnull align 1 dereferenceable(37) @.str.19)
          to label %80 unwind label %87

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

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

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

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

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

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

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

92:                                               ; preds = %.thread167, %.thread163
  %.pn111166 = phi { ptr, i32 } [ %89, %.thread163 ], [ %85, %.thread167 ]
  call void @__cxa_free_exception(ptr %81) #8
  br label %93

93:                                               ; preds = %90, %92, %87
  %.pn111.pn = phi { ptr, i32 } [ %.pn111166, %92 ], [ %91, %90 ], [ %88, %87 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %5) #8
  br label %348

94:                                               ; preds = %73, %75
  %95 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 4 dereferenceable(4) %52)
  br i1 %95, label %113, label %96

96:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %8) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8)
  %97 = getelementptr inbounds i8, ptr %8, i64 16
  %98 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA70_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef nonnull align 1 dereferenceable(70) @.str.21)
          to label %99 unwind label %106

99:                                               ; preds = %96
  %100 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #8
  store ptr @.str.1, ptr %9, align 8, !tbaa !5
  %101 = getelementptr inbounds i8, ptr %9, i64 8
  store i32 133, ptr %101, align 8, !tbaa !11
  %102 = getelementptr inbounds i8, ptr %9, i64 16
  store ptr @.str.22, ptr %102, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(128) %8)
          to label %103 unwind label %.thread169

103:                                              ; preds = %99
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %100, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %105 unwind label %.thread173

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

105:                                              ; preds = %103
  invoke void @__cxa_throw(ptr nonnull %100, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %349 unwind label %109

106:                                              ; preds = %96
  %107 = landingpad { ptr, i32 }
          cleanup
  br label %112

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

109:                                              ; preds = %105
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #8
  br label %112

111:                                              ; preds = %.thread173, %.thread169
  %.pn114172 = phi { ptr, i32 } [ %108, %.thread169 ], [ %104, %.thread173 ]
  call void @__cxa_free_exception(ptr %100) #8
  br label %112

112:                                              ; preds = %109, %111, %106
  %.pn114.pn = phi { ptr, i32 } [ %.pn114172, %111 ], [ %110, %109 ], [ %107, %106 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %8) #8
  br label %348

113:                                              ; preds = %94
  %114 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %115 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  %116 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
  %117 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
  %118 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %115)
  br i1 %118, label %.critedge153.thread, label %.critedge153

.critedge153:                                     ; preds = %113
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #8
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %115)
  %119 = call noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %11)
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #8
  br i1 %119, label %.critedge153.thread, label %120

120:                                              ; preds = %.critedge153
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %12) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12)
  %121 = getelementptr inbounds i8, ptr %12, i64 16
  %122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA28_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef nonnull align 1 dereferenceable(28) @.str.23)
          to label %123 unwind label %130

123:                                              ; preds = %120
  %124 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #8
  store ptr @.str.1, ptr %13, align 8, !tbaa !5
  %125 = getelementptr inbounds i8, ptr %13, i64 8
  store i32 142, ptr %125, align 8, !tbaa !11
  %126 = getelementptr inbounds i8, ptr %13, i64 16
  store ptr @.str.24, ptr %126, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(128) %12)
          to label %127 unwind label %.thread176

127:                                              ; preds = %123
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %124, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %129 unwind label %.thread180

.thread180:                                       ; preds = %127
  %128 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  br label %135

129:                                              ; preds = %127
  invoke void @__cxa_throw(ptr nonnull %124, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %349 unwind label %133

130:                                              ; preds = %120
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %136

.thread176:                                       ; preds = %123
  %132 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  br label %135

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

135:                                              ; preds = %.thread180, %.thread176
  %.pn147179 = phi { ptr, i32 } [ %132, %.thread176 ], [ %128, %.thread180 ]
  call void @__cxa_free_exception(ptr %124) #8
  br label %136

136:                                              ; preds = %133, %135, %130
  %.pn147.pn = phi { ptr, i32 } [ %.pn147179, %135 ], [ %134, %133 ], [ %131, %130 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %12) #8
  br label %348

.critedge153.thread:                              ; preds = %113, %.critedge153
  %137 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %116)
  br i1 %137, label %.critedge155.thread, label %.critedge155

.critedge155:                                     ; preds = %.critedge153.thread
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #8
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %116)
  %138 = call noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %15)
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #8
  br i1 %138, label %.critedge155.thread, label %139

139:                                              ; preds = %.critedge155
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %16) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16)
  %140 = getelementptr inbounds i8, ptr %16, i64 16
  %141 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA31_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %140, ptr noundef nonnull align 1 dereferenceable(31) @.str.25)
          to label %142 unwind label %149

142:                                              ; preds = %139
  %143 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #8
  store ptr @.str.1, ptr %17, align 8, !tbaa !5
  %144 = getelementptr inbounds i8, ptr %17, i64 8
  store i32 146, ptr %144, align 8, !tbaa !11
  %145 = getelementptr inbounds i8, ptr %17, i64 16
  store ptr @.str.26, ptr %145, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(128) %16)
          to label %146 unwind label %.thread183

146:                                              ; preds = %142
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %143, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %148 unwind label %.thread187

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

148:                                              ; preds = %146
  invoke void @__cxa_throw(ptr nonnull %143, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %349 unwind label %152

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

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

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

154:                                              ; preds = %.thread187, %.thread183
  %.pn144186 = phi { ptr, i32 } [ %151, %.thread183 ], [ %147, %.thread187 ]
  call void @__cxa_free_exception(ptr %143) #8
  br label %155

155:                                              ; preds = %152, %154, %149
  %.pn144.pn = phi { ptr, i32 } [ %.pn144186, %154 ], [ %153, %152 ], [ %150, %149 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %16) #8
  br label %348

.critedge155.thread:                              ; preds = %.critedge153.thread, %.critedge155
  %156 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %117)
  br i1 %156, label %.critedge157.thread, label %.critedge157

.critedge157:                                     ; preds = %.critedge155.thread
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #8
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %117)
  %157 = call noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %19)
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  br i1 %157, label %.critedge157.thread, label %158

158:                                              ; preds = %.critedge157
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %20) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20)
  %159 = getelementptr inbounds i8, ptr %20, i64 16
  %160 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA32_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %159, ptr noundef nonnull align 1 dereferenceable(32) @.str.27)
          to label %161 unwind label %168

161:                                              ; preds = %158
  %162 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #8
  store ptr @.str.1, ptr %21, align 8, !tbaa !5
  %163 = getelementptr inbounds i8, ptr %21, i64 8
  store i32 150, ptr %163, align 8, !tbaa !11
  %164 = getelementptr inbounds i8, ptr %21, i64 16
  store ptr @.str.28, ptr %164, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(128) %20)
          to label %165 unwind label %.thread190

165:                                              ; preds = %161
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %162, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %167 unwind label %.thread194

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

167:                                              ; preds = %165
  invoke void @__cxa_throw(ptr nonnull %162, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %349 unwind label %171

168:                                              ; preds = %158
  %169 = landingpad { ptr, i32 }
          cleanup
  br label %174

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

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

173:                                              ; preds = %.thread194, %.thread190
  %.pn141193 = phi { ptr, i32 } [ %170, %.thread190 ], [ %166, %.thread194 ]
  call void @__cxa_free_exception(ptr %162) #8
  br label %174

174:                                              ; preds = %171, %173, %168
  %.pn141.pn = phi { ptr, i32 } [ %.pn141193, %173 ], [ %172, %171 ], [ %169, %168 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %20) #8
  br label %348

.critedge157.thread:                              ; preds = %.critedge155.thread, %.critedge157
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #8
  call void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %24, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.79") align 8 %23, ptr noundef nonnull align 8 dereferenceable(24) %24)
          to label %175 unwind label %212

175:                                              ; preds = %.critedge157.thread
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  %176 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %177 = extractvalue { i64, i64 } %176, 0
  %178 = extractvalue { i64, i64 } %176, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %25, i64 %177, i64 %178)
          to label %179 unwind label %214

179:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #8
  %180 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %181 unwind label %216

181:                                              ; preds = %179
  br i1 %180, label %182, label %.critedge

182:                                              ; preds = %181
  %183 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %184 unwind label %218

184:                                              ; preds = %182
  %185 = extractvalue { i64, i64 } %183, 0
  store i64 %185, ptr %26, align 8
  %186 = getelementptr inbounds i8, ptr %26, i64 8
  %187 = extractvalue { i64, i64 } %183, 1
  store i64 %187, ptr %186, align 8
  %188 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %189 unwind label %218

189:                                              ; preds = %184
  br i1 %188, label %190, label %.critedge

190:                                              ; preds = %189
  %191 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  %192 = load ptr, ptr %191, align 8, !tbaa !13
  %193 = getelementptr inbounds i8, ptr %192, i64 160
  %194 = load ptr, ptr %193, align 8
  %195 = invoke noundef zeroext i1 %194(ptr noundef nonnull align 8 dereferenceable(680) %191)
          to label %196 unwind label %218

196:                                              ; preds = %190
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  br i1 %195, label %197, label %344

197:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #8
  %198 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %199 unwind label %220

199:                                              ; preds = %197
  %200 = extractvalue { i64, i64 } %198, 0
  store i64 %200, ptr %27, align 8
  %201 = getelementptr inbounds i8, ptr %27, i64 8
  %202 = extractvalue { i64, i64 } %198, 1
  store i64 %202, ptr %201, align 8
  %203 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %204 unwind label %220

204:                                              ; preds = %199
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %203, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %205 unwind label %222

205:                                              ; preds = %204
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #8
  %206 = icmp sgt i64 %203, 0
  br i1 %206, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %225, %205
  %207 = getelementptr inbounds i8, ptr %0, i64 680
  %208 = load i64, ptr %207, align 8, !tbaa !15
  %209 = add nsw i64 %203, 1
  %210 = xor i64 %203, -1
  %211 = invoke noundef i64 @_ZN6ngraph14normalize_axisEPKNS_4NodeElmll(ptr noundef nonnull %0, i64 noundef %208, i64 noundef %209, i64 noundef %210, i64 noundef %203)
          to label %229 unwind label %247

212:                                              ; preds = %.critedge157.thread
  %213 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  br label %348

214:                                              ; preds = %175
  %215 = landingpad { ptr, i32 }
          cleanup
  br label %347

216:                                              ; preds = %344, %179
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %346

218:                                              ; preds = %190, %184, %182
  %219 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  br label %346

220:                                              ; preds = %199, %197
  %221 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  br label %346

222:                                              ; preds = %204
  %223 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #8
  br label %343

.lr.ph:                                           ; preds = %205, %225
  %indvars.iv = phi i64 [ %indvars.iv.next, %225 ], [ 0, %205 ]
  %224 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %114, i64 noundef %indvars.iv)
          to label %225 unwind label %227

225:                                              ; preds = %.lr.ph
  %226 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %indvars.iv) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %226, ptr noundef nonnull align 8 dereferenceable(16) %224, i64 16, i1 false), !tbaa.struct !69
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %203
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !71

227:                                              ; preds = %.lr.ph
  %228 = landingpad { ptr, i32 }
          cleanup
  br label %342

229:                                              ; preds = %._crit_edge
  store i64 %211, ptr %207, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #8
  %230 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  %231 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node23get_output_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %230, i64 noundef 0)
          to label %232 unwind label %249

232:                                              ; preds = %229
  %233 = load i32, ptr %231, align 4, !tbaa !73
  store i32 %233, ptr %30, align 4, !tbaa !73
  %234 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type11is_integralEv(ptr noundef nonnull align 4 dereferenceable(4) %30)
          to label %235 unwind label %251

235:                                              ; preds = %232
  br i1 %234, label %263, label %236

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

237:                                              ; preds = %236
  %238 = getelementptr inbounds i8, ptr %31, i64 16
  %239 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA52_cJRNS_7element4TypeERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %238, ptr noundef nonnull align 1 dereferenceable(52) @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull align 1 dereferenceable(3) @.str.7)
          to label %240 unwind label %255

240:                                              ; preds = %237
  %241 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #8
  store ptr @.str.1, ptr %32, align 8, !tbaa !5
  %242 = getelementptr inbounds i8, ptr %32, i64 8
  store i32 172, ptr %242, align 8, !tbaa !11
  %243 = getelementptr inbounds i8, ptr %32, i64 16
  store ptr @.str.30, ptr %243, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(128) %31)
          to label %244 unwind label %.thread196

244:                                              ; preds = %240
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %241, ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %246 unwind label %.thread200

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

246:                                              ; preds = %244
  invoke void @__cxa_throw(ptr nonnull %241, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %349 unwind label %258

247:                                              ; preds = %._crit_edge
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %342

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

251:                                              ; preds = %263, %232
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %340

253:                                              ; preds = %236
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %262

255:                                              ; preds = %237
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %261

.thread196:                                       ; preds = %240
  %257 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #8
  br label %260

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

260:                                              ; preds = %.thread200, %.thread196
  %.pn117199 = phi { ptr, i32 } [ %257, %.thread196 ], [ %245, %.thread200 ]
  call void @__cxa_free_exception(ptr %241) #8
  br label %261

261:                                              ; preds = %258, %260, %255
  %.pn117.pn = phi { ptr, i32 } [ %.pn117199, %260 ], [ %259, %258 ], [ %256, %255 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %31) #8
  br label %262

262:                                              ; preds = %261, %253
  %.pn117.pn.pn = phi { ptr, i32 } [ %.pn117.pn, %261 ], [ %254, %253 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %31) #8
  br label %340

263:                                              ; preds = %235
  %264 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  %265 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %264, i64 noundef 0)
          to label %266 unwind label %251

266:                                              ; preds = %263
  %267 = call noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %265)
  br i1 %267, label %292, label %268

268:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %34) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %34)
          to label %269 unwind label %282

269:                                              ; preds = %268
  %270 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  %271 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %270, i64 noundef 0)
          to label %272 unwind label %284

272:                                              ; preds = %269
  %273 = getelementptr inbounds i8, ptr %34, i64 16
  %274 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA55_cJRA7_KcRKNS_5ShapeERA12_S2_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %273, ptr noundef nonnull align 1 dereferenceable(55) @.str.31, ptr noundef nonnull align 1 dereferenceable(7) @.str.32, ptr noundef nonnull align 8 dereferenceable(24) %271, ptr noundef nonnull align 1 dereferenceable(12) @.str.33)
          to label %275 unwind label %284

275:                                              ; preds = %272
  %276 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #8
  store ptr @.str.1, ptr %35, align 8, !tbaa !5
  %277 = getelementptr inbounds i8, ptr %35, i64 8
  store i32 179, ptr %277, align 8, !tbaa !11
  %278 = getelementptr inbounds i8, ptr %35, i64 16
  store ptr @.str.34, ptr %278, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(128) %34)
          to label %279 unwind label %.thread202

279:                                              ; preds = %275
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %276, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %281 unwind label %.thread206

.thread206:                                       ; preds = %279
  %280 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #8
  br label %289

281:                                              ; preds = %279
  invoke void @__cxa_throw(ptr nonnull %276, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %349 unwind label %287

282:                                              ; preds = %268
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %291

284:                                              ; preds = %272, %269
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %290

.thread202:                                       ; preds = %275
  %286 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #8
  br label %289

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

289:                                              ; preds = %.thread206, %.thread202
  %.pn121205 = phi { ptr, i32 } [ %286, %.thread202 ], [ %280, %.thread206 ]
  call void @__cxa_free_exception(ptr %276) #8
  br label %290

290:                                              ; preds = %287, %289, %284
  %.pn121.pn = phi { ptr, i32 } [ %.pn121205, %289 ], [ %288, %287 ], [ %285, %284 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %34) #8
  br label %291

291:                                              ; preds = %290, %282
  %.pn121.pn.pn = phi { ptr, i32 } [ %.pn121.pn, %290 ], [ %283, %282 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %34) #8
  br label %340

292:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #8
  call void @_ZNSt10shared_ptrIN6ngraph4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %38, ptr noundef nonnull align 8 dereferenceable(16) %23) #8
  invoke void @_ZN6ngraph11as_type_ptrINS_2op2v08ConstantESt10shared_ptrINS_4NodeEEEENSt9enable_ifIXsr3std14is_convertibleIDTclsr3stdE19static_pointer_castIT_Eclsr3stdE7declvalIT0_EEEES4_IS8_EEE5valueESB_E4typeES9_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.92") align 8 %37, ptr noundef nonnull %38)
          to label %293 unwind label %310

293:                                              ; preds = %292
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40) #8
  %294 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %37) #8
  invoke void @_ZNK6ngraph2op2v08Constant11cast_vectorIlEESt6vectorIT_SaIS5_EEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.95") align 8 %40, ptr noundef nonnull align 8 dereferenceable(729) %294)
          to label %295 unwind label %312

295:                                              ; preds = %293
  %296 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %40, i64 noundef 0) #8
  %297 = load i64, ptr %296, align 8, !tbaa !70
  call void @_ZNSt6vectorIlSaIlEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #8
  store i64 %297, ptr %39, align 8, !tbaa !70
  %298 = icmp sgt i64 %297, 0
  br i1 %298, label %324, label %299

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

300:                                              ; preds = %299
  %301 = getelementptr inbounds i8, ptr %41, i64 16
  %302 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA48_cJRA7_KcRlRA3_S2_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef nonnull align 1 dereferenceable(48) @.str.35, ptr noundef nonnull align 1 dereferenceable(7) @.str.32, ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 1 dereferenceable(3) @.str.7)
          to label %303 unwind label %316

303:                                              ; preds = %300
  %304 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #8
  store ptr @.str.1, ptr %42, align 8, !tbaa !5
  %305 = getelementptr inbounds i8, ptr %42, i64 8
  store i32 189, ptr %305, align 8, !tbaa !11
  %306 = getelementptr inbounds i8, ptr %42, i64 16
  store ptr @.str.36, ptr %306, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(128) %41)
          to label %307 unwind label %.thread208

307:                                              ; preds = %303
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %304, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %309 unwind label %.thread212

.thread212:                                       ; preds = %307
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  br label %321

309:                                              ; preds = %307
  invoke void @__cxa_throw(ptr nonnull %304, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %349 unwind label %319

310:                                              ; preds = %292
  %311 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  br label %339

312:                                              ; preds = %293
  %313 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #8
  br label %338

314:                                              ; preds = %299
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %323

316:                                              ; preds = %300
  %317 = landingpad { ptr, i32 }
          cleanup
  br label %322

.thread208:                                       ; preds = %303
  %318 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  br label %321

319:                                              ; preds = %309
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  br label %322

321:                                              ; preds = %.thread212, %.thread208
  %.pn125211 = phi { ptr, i32 } [ %318, %.thread208 ], [ %308, %.thread212 ]
  call void @__cxa_free_exception(ptr %304) #8
  br label %322

322:                                              ; preds = %319, %321, %316
  %.pn125.pn = phi { ptr, i32 } [ %.pn125211, %321 ], [ %320, %319 ], [ %317, %316 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %41) #8
  br label %323

323:                                              ; preds = %322, %314
  %.pn125.pn.pn = phi { ptr, i32 } [ %.pn125.pn, %322 ], [ %315, %314 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %41) #8
  br label %338

324:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #8
  %325 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  store ptr %325, ptr %46, align 8
  %326 = load i64, ptr %207, align 8, !tbaa !15
  %327 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN6ngraph9DimensionESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %46, i64 noundef %326) #8
  store ptr %327, ptr %45, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN6ngraph9DimensionESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %45) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %47, i64 noundef %297)
          to label %328 unwind label %334

328:                                              ; preds = %324
  %329 = load ptr, ptr %44, align 8
  %330 = invoke ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr %329, ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %331 unwind label %334

331:                                              ; preds = %328
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %332 unwind label %336

332:                                              ; preds = %331
  %333 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %30) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  br label %344

334:                                              ; preds = %328, %324
  %335 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #8
  br label %338

336:                                              ; preds = %331
  %337 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  br label %338

338:                                              ; preds = %336, %334, %323, %312
  %.pn129 = phi { ptr, i32 } [ %337, %336 ], [ %335, %334 ], [ %.pn125.pn.pn, %323 ], [ %313, %312 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #8
  br label %339

339:                                              ; preds = %338, %310
  %.pn129.pn = phi { ptr, i32 } [ %.pn129, %338 ], [ %311, %310 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  br label %340

340:                                              ; preds = %339, %291, %262, %251
  %.pn129.pn.pn = phi { ptr, i32 } [ %.pn129.pn, %339 ], [ %.pn121.pn.pn, %291 ], [ %252, %251 ], [ %.pn117.pn.pn, %262 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %30) #8
  br label %341

341:                                              ; preds = %340, %249
  %.pn129.pn.pn.pn = phi { ptr, i32 } [ %.pn129.pn.pn, %340 ], [ %250, %249 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #8
  br label %342

342:                                              ; preds = %341, %247, %227
  %.pn134 = phi { ptr, i32 } [ %228, %227 ], [ %.pn129.pn.pn.pn, %341 ], [ %248, %247 ]
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  br label %343

343:                                              ; preds = %342, %222
  %.pn134.pn = phi { ptr, i32 } [ %.pn134, %342 ], [ %223, %222 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  br label %346

.critedge:                                        ; preds = %181, %189
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  br label %344

344:                                              ; preds = %.critedge, %332, %196
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %345 unwind label %216

345:                                              ; preds = %344
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #8
  ret void

346:                                              ; preds = %220, %343, %218, %216
  %.pn134.pn.pn.pn = phi { ptr, i32 } [ %217, %216 ], [ %219, %218 ], [ %.pn134.pn, %343 ], [ %221, %220 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %347

347:                                              ; preds = %346, %214
  %.pn134.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn134.pn.pn.pn, %346 ], [ %215, %214 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #8
  br label %348

348:                                              ; preds = %136, %155, %174, %347, %212, %112, %93, %72
  %.pn147.pn.pn.pn = phi { ptr, i32 } [ %.pn114.pn, %112 ], [ %.pn111.pn, %93 ], [ %.pn.pn, %72 ], [ %.pn147.pn, %136 ], [ %.pn144.pn, %155 ], [ %.pn141.pn, %174 ], [ %.pn134.pn.pn.pn.pn, %347 ], [ %213, %212 ]
  resume { ptr, i32 } %.pn147.pn.pn.pn

349:                                              ; preds = %309, %281, %246, %167, %148, %129, %105, %86, %65
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(39)) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(37)) local_unnamed_addr #7

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA28_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(28)) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA31_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(31)) local_unnamed_addr #7

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

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

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

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

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

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

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

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

declare noundef i64 @_ZN6ngraph14normalize_axisEPKNS_4NodeElmll(ptr noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef) local_unnamed_addr #2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA55_cJRA7_KcRKNS_5ShapeERA12_S2_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(55), ptr noundef nonnull align 1 dereferenceable(7), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(12)) local_unnamed_addr #7

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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