; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/reshape.ll (ZN6ngraph2op2v17Reshape24validate_and_infer_typesEv)

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

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

@.str.3 = external hidden unnamed_addr constant [81 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.13 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [38 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: nounwind
declare void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2

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

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

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

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

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

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

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

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

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

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

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

; 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 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #3

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

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

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

85:                                               ; preds = %1
  %86 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %87 unwind label %99

87:                                               ; preds = %85
  br i1 %86, label %125, label %88

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

89:                                               ; preds = %88
  %90 = getelementptr inbounds i8, ptr %6, i64 16
  %91 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA36_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull align 1 dereferenceable(36) @.str.13)
          to label %92 unwind label %107

92:                                               ; preds = %89
  store i1 true, ptr %9, align 1
  %93 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %7) #8
  %94 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 0
  store ptr @.str.3, ptr %94, align 8, !tbaa !12
  %95 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 1
  store i32 252, ptr %95, align 8, !tbaa !15
  %96 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 2
  store ptr @.str.14, ptr %96, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(128) %6)
          to label %97 unwind label %111

97:                                               ; preds = %92
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %93, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef %83, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %98 unwind label %115

98:                                               ; preds = %97
  store i1 false, ptr %9, align 1
  invoke void @__cxa_throw(ptr %93, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %805 unwind label %115

99:                                               ; preds = %85
  %100 = landingpad { ptr, i32 }
          cleanup
  %101 = extractvalue { ptr, i32 } %100, 0
  store ptr %101, ptr %4, align 8
  %102 = extractvalue { ptr, i32 } %100, 1
  store i32 %102, ptr %5, align 4
  br label %799

103:                                              ; preds = %88
  %104 = landingpad { ptr, i32 }
          cleanup
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %4, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %5, align 4
  br label %124

107:                                              ; preds = %89
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %4, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %5, align 4
  br label %123

111:                                              ; preds = %92
  %112 = landingpad { ptr, i32 }
          cleanup
  %113 = extractvalue { ptr, i32 } %112, 0
  store ptr %113, ptr %4, align 8
  %114 = extractvalue { ptr, i32 } %112, 1
  store i32 %114, ptr %5, align 4
  br label %119

115:                                              ; preds = %98, %97
  %116 = landingpad { ptr, i32 }
          cleanup
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %4, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  br label %119

119:                                              ; preds = %115, %111
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #8
  %120 = load i1, ptr %9, align 1
  br i1 %120, label %121, label %122

121:                                              ; preds = %119
  call void @__cxa_free_exception(ptr %93) #8
  br label %122

122:                                              ; preds = %121, %119
  br label %123

123:                                              ; preds = %122, %107
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6) #8
  br label %124

124:                                              ; preds = %123, %103
  call void @llvm.lifetime.end.p0(i64 392, ptr %6) #8
  br label %799

125:                                              ; preds = %87
  br label %126

126:                                              ; preds = %125
  br label %127

127:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  %128 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 1)
          to label %129 unwind label %162

129:                                              ; preds = %127
  store ptr %128, ptr %10, align 8, !tbaa !5
  br label %130

130:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 16, ptr %11) #8
  %131 = load ptr, ptr %10, align 8, !tbaa !5
  %132 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %133 unwind label %166

133:                                              ; preds = %130
  %134 = getelementptr inbounds %"class.ngraph::Dimension", ptr %11, i32 0, i32 0
  %135 = getelementptr inbounds { i64, i64 }, ptr %134, i32 0, i32 0
  %136 = extractvalue { i64, i64 } %132, 0
  store i64 %136, ptr %135, align 8
  %137 = getelementptr inbounds { i64, i64 }, ptr %134, i32 0, i32 1
  %138 = extractvalue { i64, i64 } %132, 1
  store i64 %138, ptr %137, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %12, i64 noundef 1)
          to label %139 unwind label %170

139:                                              ; preds = %133
  %140 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %141 unwind label %170

141:                                              ; preds = %139
  %142 = xor i1 %140, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #8
  br i1 %142, label %143, label %197

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

144:                                              ; preds = %143
  %145 = getelementptr inbounds i8, ptr %13, i64 16
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #8
  %146 = load ptr, ptr %10, align 8, !tbaa !5
  %147 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %148 unwind label %179

148:                                              ; preds = %144
  %149 = getelementptr inbounds %"class.ngraph::Dimension", ptr %14, i32 0, i32 0
  %150 = getelementptr inbounds { i64, i64 }, ptr %149, i32 0, i32 0
  %151 = extractvalue { i64, i64 } %147, 0
  store i64 %151, ptr %150, align 8
  %152 = getelementptr inbounds { i64, i64 }, ptr %149, i32 0, i32 1
  %153 = extractvalue { i64, i64 } %147, 1
  store i64 %153, ptr %152, align 8
  %154 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJNS_9DimensionERA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef nonnull align 1 dereferenceable(37) @.str.15, ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull align 1 dereferenceable(2) @.str.16)
          to label %155 unwind label %179

155:                                              ; preds = %148
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #8
  store i1 true, ptr %17, align 1
  %156 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #8
  %157 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %15, i32 0, i32 0
  store ptr @.str.3, ptr %157, align 8, !tbaa !12
  %158 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %15, i32 0, i32 1
  store i32 260, ptr %158, align 8, !tbaa !15
  %159 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %15, i32 0, i32 2
  store ptr @.str.17, ptr %159, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(128) %13)
          to label %160 unwind label %183

160:                                              ; preds = %155
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %156, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef %83, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %161 unwind label %187

161:                                              ; preds = %160
  store i1 false, ptr %17, align 1
  invoke void @__cxa_throw(ptr %156, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %805 unwind label %187

162:                                              ; preds = %127
  %163 = landingpad { ptr, i32 }
          cleanup
  %164 = extractvalue { ptr, i32 } %163, 0
  store ptr %164, ptr %4, align 8
  %165 = extractvalue { ptr, i32 } %163, 1
  store i32 %165, ptr %5, align 4
  br label %798

166:                                              ; preds = %130
  %167 = landingpad { ptr, i32 }
          cleanup
  %168 = extractvalue { ptr, i32 } %167, 0
  store ptr %168, ptr %4, align 8
  %169 = extractvalue { ptr, i32 } %167, 1
  store i32 %169, ptr %5, align 4
  br label %174

170:                                              ; preds = %139, %133
  %171 = landingpad { ptr, i32 }
          cleanup
  %172 = extractvalue { ptr, i32 } %171, 0
  store ptr %172, ptr %4, align 8
  %173 = extractvalue { ptr, i32 } %171, 1
  store i32 %173, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #8
  br label %174

174:                                              ; preds = %170, %166
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #8
  br label %798

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

179:                                              ; preds = %148, %144
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %4, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #8
  br label %195

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

187:                                              ; preds = %161, %160
  %188 = landingpad { ptr, i32 }
          cleanup
  %189 = extractvalue { ptr, i32 } %188, 0
  store ptr %189, ptr %4, align 8
  %190 = extractvalue { ptr, i32 } %188, 1
  store i32 %190, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  br label %191

191:                                              ; preds = %187, %183
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #8
  %192 = load i1, ptr %17, align 1
  br i1 %192, label %193, label %194

193:                                              ; preds = %191
  call void @__cxa_free_exception(ptr %156) #8
  br label %194

194:                                              ; preds = %193, %191
  br label %195

195:                                              ; preds = %194, %179
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #8
  br label %196

196:                                              ; preds = %195, %175
  call void @llvm.lifetime.end.p0(i64 392, ptr %13) #8
  br label %798

197:                                              ; preds = %141
  br label %198

198:                                              ; preds = %197
  br label %199

199:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #8
  %200 = load ptr, ptr %10, align 8, !tbaa !5
  %201 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %200)
          to label %202 unwind label %253

202:                                              ; preds = %199
  %203 = getelementptr inbounds %"class.ngraph::Dimension", ptr %19, i32 0, i32 0
  %204 = getelementptr inbounds { i64, i64 }, ptr %203, i32 0, i32 0
  %205 = extractvalue { i64, i64 } %201, 0
  store i64 %205, ptr %204, align 8
  %206 = getelementptr inbounds { i64, i64 }, ptr %203, i32 0, i32 1
  %207 = extractvalue { i64, i64 } %201, 1
  store i64 %207, ptr %206, align 8
  %208 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %209 unwind label %253

209:                                              ; preds = %202
  br i1 %208, label %210, label %218

210:                                              ; preds = %209
  %211 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %212 unwind label %253

212:                                              ; preds = %210
  %213 = getelementptr inbounds %"class.ngraph::Dimension", ptr %18, i32 0, i32 0
  %214 = getelementptr inbounds { i64, i64 }, ptr %213, i32 0, i32 0
  %215 = extractvalue { i64, i64 } %211, 0
  store i64 %215, ptr %214, align 8
  %216 = getelementptr inbounds { i64, i64 }, ptr %213, i32 0, i32 1
  %217 = extractvalue { i64, i64 } %211, 1
  store i64 %217, ptr %216, align 8
  br label %222

218:                                              ; preds = %209
  %219 = load ptr, ptr %10, align 8, !tbaa !5
  %220 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %219, i64 noundef 0)
          to label %221 unwind label %253

221:                                              ; preds = %218
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 %220, i64 16, i1 false), !tbaa.struct !17
  br label %222

222:                                              ; preds = %221, %212
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #8
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 1, i1 noundef zeroext true)
          to label %223 unwind label %257

223:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %22) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %22, ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 1)
          to label %224 unwind label %261

224:                                              ; preds = %223
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.79") align 8 %21, ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %225 unwind label %265

225:                                              ; preds = %224
  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.144") align 8 %20, ptr noundef %21)
          to label %226 unwind label %269

226:                                              ; preds = %225
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  %227 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %20) #8
  br i1 %227, label %228, label %765

228:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #8
  %229 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %20) #8
  invoke void @_ZNK6ngraph2op2v08Constant11cast_vectorIlEESt6vectorIT_SaIS5_EEv(ptr dead_on_unwind writable sret(%"class.std::vector.147") align 8 %23, ptr noundef nonnull align 8 dereferenceable(729) %229)
          to label %230 unwind label %275

230:                                              ; preds = %228
  br label %231

231:                                              ; preds = %230
  %232 = call ptr @_ZNSt6vectorIlSaIlEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %233 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %24, i32 0, i32 0
  store ptr %232, ptr %233, align 8
  %234 = call ptr @_ZNSt6vectorIlSaIlEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %235 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %25, i32 0, i32 0
  store ptr %234, ptr %235, align 8
  %236 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %24, i32 0, i32 0
  %237 = load ptr, ptr %236, align 8
  %238 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %25, i32 0, i32 0
  %239 = load ptr, ptr %238, align 8
  %240 = invoke noundef zeroext i1 @"_ZSt7none_ofIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_0EbT_SC_T0_"(ptr %237, ptr %239)
          to label %241 unwind label %279

241:                                              ; preds = %231
  br i1 %240, label %305, label %242

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

243:                                              ; preds = %242
  %244 = getelementptr inbounds i8, ptr %27, i64 16
  %245 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef nonnull align 1 dereferenceable(33) @.str.18)
          to label %246 unwind label %287

246:                                              ; preds = %243
  store i1 true, ptr %30, align 1
  %247 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #8
  %248 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 0
  store ptr @.str.3, ptr %248, align 8, !tbaa !12
  %249 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 1
  store i32 272, ptr %249, align 8, !tbaa !15
  %250 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 2
  store ptr @.str.19, ptr %250, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(128) %27)
          to label %251 unwind label %291

251:                                              ; preds = %246
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %247, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef %83, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %252 unwind label %295

252:                                              ; preds = %251
  store i1 false, ptr %30, align 1
  invoke void @__cxa_throw(ptr %247, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %805 unwind label %295

253:                                              ; preds = %218, %210, %202, %199
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %4, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #8
  br label %797

257:                                              ; preds = %222
  %258 = landingpad { ptr, i32 }
          cleanup
  %259 = extractvalue { ptr, i32 } %258, 0
  store ptr %259, ptr %4, align 8
  %260 = extractvalue { ptr, i32 } %258, 1
  store i32 %260, ptr %5, align 4
  br label %797

261:                                              ; preds = %223
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %4, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %5, align 4
  br label %274

265:                                              ; preds = %224
  %266 = landingpad { ptr, i32 }
          cleanup
  %267 = extractvalue { ptr, i32 } %266, 0
  store ptr %267, ptr %4, align 8
  %268 = extractvalue { ptr, i32 } %266, 1
  store i32 %268, ptr %5, align 4
  br label %273

269:                                              ; preds = %225
  %270 = landingpad { ptr, i32 }
          cleanup
  %271 = extractvalue { ptr, i32 } %270, 0
  store ptr %271, ptr %4, align 8
  %272 = extractvalue { ptr, i32 } %270, 1
  store i32 %272, ptr %5, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #8
  br label %273

273:                                              ; preds = %269, %265
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  br label %274

274:                                              ; preds = %273, %261
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  br label %796

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

279:                                              ; preds = %231
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %4, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %5, align 4
  br label %763

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

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

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

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

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

301:                                              ; preds = %299
  call void @__cxa_free_exception(ptr %247) #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) %27) #8
  br label %304

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

305:                                              ; preds = %241
  br label %306

306:                                              ; preds = %305
  br label %307

307:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #8
  %308 = call ptr @_ZNSt6vectorIlSaIlEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %309 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %32, i32 0, i32 0
  store ptr %308, ptr %309, align 8
  %310 = call ptr @_ZNSt6vectorIlSaIlEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %311 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %33, i32 0, i32 0
  store ptr %310, ptr %311, align 8
  %312 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %32, i32 0, i32 0
  %313 = load ptr, ptr %312, align 8
  %314 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %33, i32 0, i32 0
  %315 = load ptr, ptr %314, align 8
  %316 = invoke noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_1ENSt15iterator_traitsIT_E15difference_typeESD_SD_T0_"(ptr %313, ptr %315)
          to label %317 unwind label %344

317:                                              ; preds = %307
  %318 = trunc i64 %316 to i32
  store i32 %318, ptr %31, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #8
  %319 = call ptr @_ZNSt6vectorIlSaIlEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %320 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %36, i32 0, i32 0
  store ptr %319, ptr %320, align 8
  %321 = call ptr @_ZNSt6vectorIlSaIlEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %322 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %37, i32 0, i32 0
  store ptr %321, ptr %322, align 8
  %323 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %36, i32 0, i32 0
  %324 = load ptr, ptr %323, align 8
  %325 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %37, i32 0, i32 0
  %326 = load ptr, ptr %325, align 8
  %327 = invoke noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_2ENSt15iterator_traitsIT_E15difference_typeESD_SD_T0_"(ptr %324, ptr %326)
          to label %328 unwind label %348

328:                                              ; preds = %317
  %329 = trunc i64 %327 to i32
  store i32 %329, ptr %35, align 4, !tbaa !20
  br label %330

330:                                              ; preds = %328
  %331 = load i32, ptr %35, align 4, !tbaa !20
  %332 = icmp sle i32 %331, 1
  br i1 %332, label %374, label %333

333:                                              ; preds = %330
  call void @llvm.lifetime.start.p0(i64 392, ptr %39) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %39)
          to label %334 unwind label %352

334:                                              ; preds = %333
  %335 = getelementptr inbounds i8, ptr %39, i64 16
  %336 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRiRA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %335, ptr noundef nonnull align 1 dereferenceable(41) @.str.20, ptr noundef nonnull align 4 dereferenceable(4) %35, ptr noundef nonnull align 1 dereferenceable(2) @.str.21)
          to label %337 unwind label %356

337:                                              ; preds = %334
  store i1 true, ptr %42, align 1
  %338 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #8
  %339 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %40, i32 0, i32 0
  store ptr @.str.3, ptr %339, align 8, !tbaa !12
  %340 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %40, i32 0, i32 1
  store i32 282, ptr %340, align 8, !tbaa !15
  %341 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %40, i32 0, i32 2
  store ptr @.str.22, ptr %341, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(128) %39)
          to label %342 unwind label %360

342:                                              ; preds = %337
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %338, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef %83, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %343 unwind label %364

343:                                              ; preds = %342
  store i1 false, ptr %42, align 1
  invoke void @__cxa_throw(ptr %338, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %805 unwind label %364

344:                                              ; preds = %307
  %345 = landingpad { ptr, i32 }
          cleanup
  %346 = extractvalue { ptr, i32 } %345, 0
  store ptr %346, ptr %4, align 8
  %347 = extractvalue { ptr, i32 } %345, 1
  store i32 %347, ptr %5, align 4
  br label %762

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

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

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

360:                                              ; preds = %337
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %4, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %5, align 4
  br label %368

364:                                              ; preds = %343, %342
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %4, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %368

368:                                              ; preds = %364, %360
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  %369 = load i1, ptr %42, align 1
  br i1 %369, label %370, label %371

370:                                              ; preds = %368
  call void @__cxa_free_exception(ptr %338) #8
  br label %371

371:                                              ; preds = %370, %368
  br label %372

372:                                              ; preds = %371, %356
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %39) #8
  br label %373

373:                                              ; preds = %372, %352
  call void @llvm.lifetime.end.p0(i64 392, ptr %39) #8
  br label %761

374:                                              ; preds = %330
  br label %375

375:                                              ; preds = %374
  br label %376

376:                                              ; preds = %375
  %377 = load i32, ptr %31, align 4, !tbaa !20
  %378 = icmp ne i32 %377, 0
  br i1 %378, label %379, label %383

379:                                              ; preds = %376
  %380 = getelementptr inbounds %"class.ngraph::op::v1::Reshape", ptr %83, i32 0, i32 1
  %381 = load i8, ptr %380, align 8, !tbaa !21, !range !75, !noundef !76
  %382 = trunc i8 %381 to i1
  br i1 %382, label %486, label %383

383:                                              ; preds = %379, %376
  %384 = load i32, ptr %35, align 4, !tbaa !20
  %385 = icmp ne i32 %384, 0
  br i1 %385, label %486, label %386

386:                                              ; preds = %383
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #8
  %387 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %20) #8
  invoke void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %43, ptr noundef nonnull align 8 dereferenceable(729) %387)
          to label %388 unwind label %397

388:                                              ; preds = %386
  call void @llvm.lifetime.start.p0(i64 24, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #8
  store i64 0, ptr %46, align 8, !tbaa !18
  %389 = getelementptr inbounds %"class.std::initializer_list.160", ptr %45, i32 0, i32 0
  store ptr %46, ptr %389, align 8, !tbaa !77
  %390 = getelementptr inbounds %"class.std::initializer_list.160", ptr %45, i32 0, i32 1
  store i64 1, ptr %390, align 8, !tbaa !79
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 8 dereferenceable(16) %45)
          to label %391 unwind label %401

391:                                              ; preds = %388
  %392 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %393 unwind label %405

393:                                              ; preds = %391
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #8
  br i1 %392, label %394, label %414

394:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 24, ptr %47) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %47)
          to label %395 unwind label %410

395:                                              ; preds = %394
  %396 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph5ShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %47) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #8
  br label %414

397:                                              ; preds = %386
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %4, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %5, align 4
  br label %485

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

405:                                              ; preds = %391
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %4, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %5, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #8
  br label %409

409:                                              ; preds = %405, %401
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #8
  br label %484

410:                                              ; preds = %394
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %4, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #8
  br label %484

414:                                              ; preds = %395, %393
  %415 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0)
          to label %416 unwind label %441

416:                                              ; preds = %414
  %417 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %415)
          to label %418 unwind label %441

418:                                              ; preds = %416
  br i1 %417, label %419, label %470

419:                                              ; preds = %418
  br label %420

420:                                              ; preds = %419
  %421 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0)
          to label %422 unwind label %441

422:                                              ; preds = %420
  %423 = invoke noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %421)
          to label %424 unwind label %441

424:                                              ; preds = %422
  %425 = invoke noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %426 unwind label %441

426:                                              ; preds = %424
  %427 = icmp eq i64 %423, %425
  br i1 %427, label %467, label %428

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

429:                                              ; preds = %428
  %430 = getelementptr inbounds i8, ptr %48, i64 16
  %431 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0)
          to label %432 unwind label %449

432:                                              ; preds = %429
  %433 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA24_cJRNS_5ShapeERA35_KcRKS2_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %430, ptr noundef nonnull align 1 dereferenceable(24) @.str.23, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 1 dereferenceable(35) @.str.24, ptr noundef nonnull align 8 dereferenceable(24) %431)
          to label %434 unwind label %449

434:                                              ; preds = %432
  store i1 true, ptr %51, align 1
  %435 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %49) #8
  %436 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %49, i32 0, i32 0
  store ptr @.str.3, ptr %436, align 8, !tbaa !12
  %437 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %49, i32 0, i32 1
  store i32 298, ptr %437, align 8, !tbaa !15
  %438 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %49, i32 0, i32 2
  store ptr @.str.25, ptr %438, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(128) %48)
          to label %439 unwind label %453

439:                                              ; preds = %434
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %435, ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef %83, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %440 unwind label %457

440:                                              ; preds = %439
  store i1 false, ptr %51, align 1
  invoke void @__cxa_throw(ptr %435, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %805 unwind label %457

441:                                              ; preds = %470, %424, %422, %420, %416, %414
  %442 = landingpad { ptr, i32 }
          cleanup
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %4, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %5, align 4
  br label %484

445:                                              ; preds = %428
  %446 = landingpad { ptr, i32 }
          cleanup
  %447 = extractvalue { ptr, i32 } %446, 0
  store ptr %447, ptr %4, align 8
  %448 = extractvalue { ptr, i32 } %446, 1
  store i32 %448, ptr %5, align 4
  br label %466

449:                                              ; preds = %432, %429
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %4, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %5, align 4
  br label %465

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

457:                                              ; preds = %440, %439
  %458 = landingpad { ptr, i32 }
          cleanup
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %4, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %461

461:                                              ; preds = %457, %453
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #8
  %462 = load i1, ptr %51, align 1
  br i1 %462, label %463, label %464

463:                                              ; preds = %461
  call void @__cxa_free_exception(ptr %435) #8
  br label %464

464:                                              ; preds = %463, %461
  br label %465

465:                                              ; preds = %464, %449
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %48) #8
  br label %466

466:                                              ; preds = %465, %445
  call void @llvm.lifetime.end.p0(i64 392, ptr %48) #8
  br label %484

467:                                              ; preds = %426
  br label %468

468:                                              ; preds = %467
  br label %469

469:                                              ; preds = %468
  br label %470

470:                                              ; preds = %469, %418
  %471 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0)
          to label %472 unwind label %441

472:                                              ; preds = %470
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %473 unwind label %475

473:                                              ; preds = %472
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %471, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %474 unwind label %479

474:                                              ; preds = %473
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  br label %760

475:                                              ; preds = %472
  %476 = landingpad { ptr, i32 }
          cleanup
  %477 = extractvalue { ptr, i32 } %476, 0
  store ptr %477, ptr %4, align 8
  %478 = extractvalue { ptr, i32 } %476, 1
  store i32 %478, ptr %5, align 4
  br label %483

479:                                              ; preds = %473
  %480 = landingpad { ptr, i32 }
          cleanup
  %481 = extractvalue { ptr, i32 } %480, 0
  store ptr %481, ptr %4, align 8
  %482 = extractvalue { ptr, i32 } %480, 1
  store i32 %482, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %483

483:                                              ; preds = %479, %475
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  br label %484

484:                                              ; preds = %483, %466, %441, %410, %409
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  br label %485

485:                                              ; preds = %484, %397
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  br label %761

486:                                              ; preds = %383, %379
  call void @llvm.lifetime.start.p0(i64 24, ptr %53) #8
  %487 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %488 unwind label %524

488:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %487, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %489 unwind label %528

489:                                              ; preds = %488
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #8
  %490 = call ptr @_ZNSt6vectorIlSaIlEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %491 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %55, i32 0, i32 0
  store ptr %490, ptr %491, align 8
  %492 = call ptr @_ZNSt6vectorIlSaIlEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %493 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %56, i32 0, i32 0
  store ptr %492, ptr %493, align 8
  %494 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  %495 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.161", ptr %57, i32 0, i32 0
  store ptr %494, ptr %495, align 8
  %496 = getelementptr inbounds %class.anon.162, ptr %58, i32 0, i32 0
  store ptr %83, ptr %496, align 8, !tbaa !80
  %497 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %55, i32 0, i32 0
  %498 = load ptr, ptr %497, align 8
  %499 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.155", ptr %56, i32 0, i32 0
  %500 = load ptr, ptr %499, align 8
  %501 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.161", ptr %57, i32 0, i32 0
  %502 = load ptr, ptr %501, align 8
  %503 = getelementptr inbounds %class.anon.162, ptr %58, i32 0, i32 0
  %504 = load ptr, ptr %503, align 8
  %505 = invoke ptr @"_ZSt9transformIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEENS1_IPN6ngraph9DimensionES3_IS8_SaIS8_EEEEZNS7_2op2v17Reshape24validate_and_infer_typesEvE3$_3ET0_T_SI_SH_T1_"(ptr %498, ptr %500, ptr %502, ptr %504)
          to label %506 unwind label %532

506:                                              ; preds = %489
  %507 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.161", ptr %59, i32 0, i32 0
  store ptr %505, ptr %507, align 8
  %508 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0)
          to label %509 unwind label %532

509:                                              ; preds = %506
  %510 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %508)
          to label %511 unwind label %532

511:                                              ; preds = %509
  br i1 %510, label %512, label %744

512:                                              ; preds = %511
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #8
  store i64 1, ptr %60, align 8, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #8
  store i32 -1, ptr %61, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #8
  %513 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0)
          to label %514 unwind label %536

514:                                              ; preds = %512
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %513)
          to label %515 unwind label %536

515:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #8
  %516 = invoke noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %62)
          to label %517 unwind label %540

517:                                              ; preds = %515
  store i64 %516, ptr %63, align 8, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #8
  store i64 0, ptr %64, align 8, !tbaa !18
  br label %518

518:                                              ; preds = %629, %517
  %519 = load i64, ptr %64, align 8, !tbaa !18
  %520 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %521 unwind label %544

521:                                              ; preds = %518
  %522 = icmp ult i64 %519, %520
  br i1 %522, label %548, label %523

523:                                              ; preds = %521
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #8
  br label %633

524:                                              ; preds = %486
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %4, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %5, align 4
  br label %759

528:                                              ; preds = %488
  %529 = landingpad { ptr, i32 }
          cleanup
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %4, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %5, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #8
  br label %759

532:                                              ; preds = %744, %509, %506, %489
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %4, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %5, align 4
  br label %758

536:                                              ; preds = %514, %512
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %4, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %5, align 4
  br label %743

540:                                              ; preds = %515
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %4, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %5, align 4
  br label %742

544:                                              ; preds = %518
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %4, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %5, align 4
  br label %632

548:                                              ; preds = %521
  %549 = load i64, ptr %64, align 8, !tbaa !18
  %550 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %549) #8
  %551 = load i64, ptr %550, align 8, !tbaa !18
  %552 = icmp eq i64 %551, 0
  br i1 %552, label %553, label %613

553:                                              ; preds = %548
  %554 = getelementptr inbounds %"class.ngraph::op::v1::Reshape", ptr %83, i32 0, i32 1
  %555 = load i8, ptr %554, align 8, !tbaa !21, !range !75, !noundef !76
  %556 = trunc i8 %555 to i1
  br i1 %556, label %557, label %613

557:                                              ; preds = %553
  br label %558

558:                                              ; preds = %557
  %559 = load i64, ptr %64, align 8, !tbaa !18
  %560 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  %561 = icmp ult i64 %559, %560
  br i1 %561, label %595, label %562

562:                                              ; preds = %558
  call void @llvm.lifetime.start.p0(i64 392, ptr %65) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %65)
          to label %563 unwind label %573

563:                                              ; preds = %562
  %564 = getelementptr inbounds i8, ptr %65, i64 16
  %565 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA30_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %564, ptr noundef nonnull align 1 dereferenceable(30) @.str.26)
          to label %566 unwind label %577

566:                                              ; preds = %563
  store i1 true, ptr %68, align 1
  %567 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %66) #8
  %568 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %66, i32 0, i32 0
  store ptr @.str.3, ptr %568, align 8, !tbaa !12
  %569 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %66, i32 0, i32 1
  store i32 328, ptr %569, align 8, !tbaa !15
  %570 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %66, i32 0, i32 2
  store ptr @.str.27, ptr %570, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(128) %65)
          to label %571 unwind label %581

571:                                              ; preds = %566
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %567, ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef %83, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %572 unwind label %585

572:                                              ; preds = %571
  store i1 false, ptr %68, align 1
  invoke void @__cxa_throw(ptr %567, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %805 unwind label %585

573:                                              ; preds = %562
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %4, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %5, align 4
  br label %594

577:                                              ; preds = %563
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %4, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %5, align 4
  br label %593

581:                                              ; preds = %566
  %582 = landingpad { ptr, i32 }
          cleanup
  %583 = extractvalue { ptr, i32 } %582, 0
  store ptr %583, ptr %4, align 8
  %584 = extractvalue { ptr, i32 } %582, 1
  store i32 %584, ptr %5, align 4
  br label %589

585:                                              ; preds = %572, %571
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %4, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  br label %589

589:                                              ; preds = %585, %581
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %66) #8
  %590 = load i1, ptr %68, align 1
  br i1 %590, label %591, label %592

591:                                              ; preds = %589
  call void @__cxa_free_exception(ptr %567) #8
  br label %592

592:                                              ; preds = %591, %589
  br label %593

593:                                              ; preds = %592, %577
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %65) #8
  br label %594

594:                                              ; preds = %593, %573
  call void @llvm.lifetime.end.p0(i64 392, ptr %65) #8
  br label %632

595:                                              ; preds = %558
  br label %596

596:                                              ; preds = %595
  br label %597

597:                                              ; preds = %596
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #8
  %598 = load i64, ptr %64, align 8, !tbaa !18
  %599 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %598) #8
  %600 = load i64, ptr %599, align 8, !tbaa !18
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %69, i64 noundef %600)
          to label %601 unwind label %609

601:                                              ; preds = %597
  %602 = load i64, ptr %64, align 8, !tbaa !18
  %603 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %602) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %603, ptr align 8 %69, i64 16, i1 false), !tbaa.struct !17
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #8
  %604 = load i64, ptr %64, align 8, !tbaa !18
  %605 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %604) #8
  %606 = load i64, ptr %605, align 8, !tbaa !18
  %607 = load i64, ptr %60, align 8, !tbaa !18
  %608 = mul i64 %607, %606
  store i64 %608, ptr %60, align 8, !tbaa !18
  br label %628

609:                                              ; preds = %597
  %610 = landingpad { ptr, i32 }
          cleanup
  %611 = extractvalue { ptr, i32 } %610, 0
  store ptr %611, ptr %4, align 8
  %612 = extractvalue { ptr, i32 } %610, 1
  store i32 %612, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #8
  br label %632

613:                                              ; preds = %553, %548
  %614 = load i64, ptr %64, align 8, !tbaa !18
  %615 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %614) #8
  %616 = load i64, ptr %615, align 8, !tbaa !18
  %617 = icmp eq i64 %616, -1
  br i1 %617, label %618, label %621

618:                                              ; preds = %613
  %619 = load i64, ptr %64, align 8, !tbaa !18
  %620 = trunc i64 %619 to i32
  store i32 %620, ptr %61, align 4, !tbaa !20
  br label %627

621:                                              ; preds = %613
  %622 = load i64, ptr %64, align 8, !tbaa !18
  %623 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %622) #8
  %624 = load i64, ptr %623, align 8, !tbaa !18
  %625 = load i64, ptr %60, align 8, !tbaa !18
  %626 = mul i64 %625, %624
  store i64 %626, ptr %60, align 8, !tbaa !18
  br label %627

627:                                              ; preds = %621, %618
  br label %628

628:                                              ; preds = %627, %601
  br label %629

629:                                              ; preds = %628
  %630 = load i64, ptr %64, align 8, !tbaa !18
  %631 = add i64 %630, 1
  store i64 %631, ptr %64, align 8, !tbaa !18
  br label %518, !llvm.loop !82

632:                                              ; preds = %609, %594, %544
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #8
  br label %742

633:                                              ; preds = %523
  %634 = load i32, ptr %61, align 4, !tbaa !20
  %635 = icmp ne i32 %634, -1
  br i1 %635, label %636, label %741

636:                                              ; preds = %633
  %637 = load i64, ptr %60, align 8, !tbaa !18
  %638 = icmp eq i64 %637, 0
  br i1 %638, label %639, label %687

639:                                              ; preds = %636
  br label %640

640:                                              ; preds = %639
  %641 = load i64, ptr %63, align 8, !tbaa !18
  %642 = icmp eq i64 %641, 0
  br i1 %642, label %676, label %643

643:                                              ; preds = %640
  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 %644 unwind label %654

644:                                              ; preds = %643
  %645 = getelementptr inbounds i8, ptr %70, i64 16
  %646 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA114_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %645, ptr noundef nonnull align 1 dereferenceable(114) @.str.28)
          to label %647 unwind label %658

647:                                              ; preds = %644
  store i1 true, ptr %73, align 1
  %648 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %71) #8
  %649 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %71, i32 0, i32 0
  store ptr @.str.3, ptr %649, align 8, !tbaa !12
  %650 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %71, i32 0, i32 1
  store i32 354, ptr %650, align 8, !tbaa !15
  %651 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %71, i32 0, i32 2
  store ptr @.str.29, ptr %651, align 8, !tbaa !16
  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 %652 unwind label %662

652:                                              ; preds = %647
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %648, ptr noundef nonnull align 8 dereferenceable(24) %71, ptr noundef %83, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %653 unwind label %666

653:                                              ; preds = %652
  store i1 false, ptr %73, align 1
  invoke void @__cxa_throw(ptr %648, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %805 unwind label %666

654:                                              ; preds = %643
  %655 = landingpad { ptr, i32 }
          cleanup
  %656 = extractvalue { ptr, i32 } %655, 0
  store ptr %656, ptr %4, align 8
  %657 = extractvalue { ptr, i32 } %655, 1
  store i32 %657, ptr %5, align 4
  br label %675

658:                                              ; preds = %644
  %659 = landingpad { ptr, i32 }
          cleanup
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %4, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %5, align 4
  br label %674

662:                                              ; preds = %647
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %4, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %5, align 4
  br label %670

666:                                              ; preds = %653, %652
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %4, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  br label %670

670:                                              ; preds = %666, %662
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #8
  %671 = load i1, ptr %73, align 1
  br i1 %671, label %672, label %673

672:                                              ; preds = %670
  call void @__cxa_free_exception(ptr %648) #8
  br label %673

673:                                              ; preds = %672, %670
  br label %674

674:                                              ; preds = %673, %658
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %70) #8
  br label %675

675:                                              ; preds = %674, %654
  call void @llvm.lifetime.end.p0(i64 392, ptr %70) #8
  br label %742

676:                                              ; preds = %640
  br label %677

677:                                              ; preds = %676
  br label %678

678:                                              ; preds = %677
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %74, i64 noundef 0)
          to label %679 unwind label %683

679:                                              ; preds = %678
  %680 = load i32, ptr %61, align 4, !tbaa !20
  %681 = sext i32 %680 to i64
  %682 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %681) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %682, ptr align 8 %74, i64 16, i1 false), !tbaa.struct !17
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #8
  br label %740

683:                                              ; preds = %678
  %684 = landingpad { ptr, i32 }
          cleanup
  %685 = extractvalue { ptr, i32 } %684, 0
  store ptr %685, ptr %4, align 8
  %686 = extractvalue { ptr, i32 } %684, 1
  store i32 %686, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #8
  br label %742

687:                                              ; preds = %636
  br label %688

688:                                              ; preds = %687
  %689 = load i64, ptr %63, align 8, !tbaa !18
  %690 = load i64, ptr %60, align 8, !tbaa !18
  %691 = urem i64 %689, %690
  %692 = icmp eq i64 %691, 0
  br i1 %692, label %726, label %693

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

694:                                              ; preds = %693
  %695 = getelementptr inbounds i8, ptr %75, i64 16
  %696 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA69_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %695, ptr noundef nonnull align 1 dereferenceable(69) @.str.30)
          to label %697 unwind label %708

697:                                              ; preds = %694
  store i1 true, ptr %78, align 1
  %698 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %76) #8
  %699 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %76, i32 0, i32 0
  store ptr @.str.3, ptr %699, align 8, !tbaa !12
  %700 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %76, i32 0, i32 1
  store i32 362, ptr %700, align 8, !tbaa !15
  %701 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %76, i32 0, i32 2
  store ptr @.str.31, ptr %701, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(128) %75)
          to label %702 unwind label %712

702:                                              ; preds = %697
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %698, ptr noundef nonnull align 8 dereferenceable(24) %76, ptr noundef %83, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %703 unwind label %716

703:                                              ; preds = %702
  store i1 false, ptr %78, align 1
  invoke void @__cxa_throw(ptr %698, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %805 unwind label %716

704:                                              ; preds = %693
  %705 = landingpad { ptr, i32 }
          cleanup
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %4, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %5, align 4
  br label %725

708:                                              ; preds = %694
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %4, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %5, align 4
  br label %724

712:                                              ; preds = %697
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %4, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %5, align 4
  br label %720

716:                                              ; preds = %703, %702
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %4, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  br label %720

720:                                              ; preds = %716, %712
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #8
  %721 = load i1, ptr %78, align 1
  br i1 %721, label %722, label %723

722:                                              ; preds = %720
  call void @__cxa_free_exception(ptr %698) #8
  br label %723

723:                                              ; preds = %722, %720
  br label %724

724:                                              ; preds = %723, %708
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %75) #8
  br label %725

725:                                              ; preds = %724, %704
  call void @llvm.lifetime.end.p0(i64 392, ptr %75) #8
  br label %742

726:                                              ; preds = %688
  br label %727

727:                                              ; preds = %726
  br label %728

728:                                              ; preds = %727
  call void @llvm.lifetime.start.p0(i64 16, ptr %79) #8
  %729 = load i64, ptr %63, align 8, !tbaa !18
  %730 = load i64, ptr %60, align 8, !tbaa !18
  %731 = udiv i64 %729, %730
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %79, i64 noundef %731)
          to label %732 unwind label %736

732:                                              ; preds = %728
  %733 = load i32, ptr %61, align 4, !tbaa !20
  %734 = sext i32 %733 to i64
  %735 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %734) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %735, ptr align 8 %79, i64 16, i1 false), !tbaa.struct !17
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #8
  br label %740

736:                                              ; preds = %728
  %737 = landingpad { ptr, i32 }
          cleanup
  %738 = extractvalue { ptr, i32 } %737, 0
  store ptr %738, ptr %4, align 8
  %739 = extractvalue { ptr, i32 } %737, 1
  store i32 %739, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #8
  br label %742

740:                                              ; preds = %732, %679
  br label %741

741:                                              ; preds = %740, %633
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #8
  br label %744

742:                                              ; preds = %736, %725, %683, %675, %632, %540
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  br label %743

743:                                              ; preds = %742, %536
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #8
  br label %758

744:                                              ; preds = %741, %511
  %745 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0)
          to label %746 unwind label %532

746:                                              ; preds = %744
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(24) %53)
          to label %747 unwind label %749

747:                                              ; preds = %746
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %745, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %748 unwind label %753

748:                                              ; preds = %747
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #8
  br label %760

749:                                              ; preds = %746
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %4, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %5, align 4
  br label %757

753:                                              ; preds = %747
  %754 = landingpad { ptr, i32 }
          cleanup
  %755 = extractvalue { ptr, i32 } %754, 0
  store ptr %755, ptr %4, align 8
  %756 = extractvalue { ptr, i32 } %754, 1
  store i32 %756, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  br label %757

757:                                              ; preds = %753, %749
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  br label %758

758:                                              ; preds = %757, %743, %532
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  br label %759

759:                                              ; preds = %758, %528, %524
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #8
  br label %761

760:                                              ; preds = %748, %474
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  call void @_ZNSt6vectorIlSaIlEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  br label %794

761:                                              ; preds = %759, %485, %373, %348
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  br label %762

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

763:                                              ; preds = %762, %304, %279
  call void @_ZNSt6vectorIlSaIlEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  br label %764

764:                                              ; preds = %763, %275
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  br label %795

765:                                              ; preds = %226
  %766 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0)
          to label %767 unwind label %781

767:                                              ; preds = %765
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #8
  %768 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %769 unwind label %785

769:                                              ; preds = %767
  %770 = getelementptr inbounds %"class.ngraph::Dimension", ptr %82, i32 0, i32 0
  %771 = getelementptr inbounds { i64, i64 }, ptr %770, i32 0, i32 0
  %772 = extractvalue { i64, i64 } %768, 0
  store i64 %772, ptr %771, align 8
  %773 = getelementptr inbounds { i64, i64 }, ptr %770, i32 0, i32 1
  %774 = extractvalue { i64, i64 } %768, 1
  store i64 %774, ptr %773, align 8
  %775 = getelementptr inbounds { i64, i64 }, ptr %82, i32 0, i32 0
  %776 = load i64, ptr %775, align 8
  %777 = getelementptr inbounds { i64, i64 }, ptr %82, i32 0, i32 1
  %778 = load i64, ptr %777, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %81, i64 %776, i64 %778)
          to label %779 unwind label %785

779:                                              ; preds = %769
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %83, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %766, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %780 unwind label %789

780:                                              ; preds = %779
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #8
  br label %794

781:                                              ; preds = %765
  %782 = landingpad { ptr, i32 }
          cleanup
  %783 = extractvalue { ptr, i32 } %782, 0
  store ptr %783, ptr %4, align 8
  %784 = extractvalue { ptr, i32 } %782, 1
  store i32 %784, ptr %5, align 4
  br label %795

785:                                              ; preds = %769, %767
  %786 = landingpad { ptr, i32 }
          cleanup
  %787 = extractvalue { ptr, i32 } %786, 0
  store ptr %787, ptr %4, align 8
  %788 = extractvalue { ptr, i32 } %786, 1
  store i32 %788, ptr %5, align 4
  br label %793

789:                                              ; preds = %779
  %790 = landingpad { ptr, i32 }
          cleanup
  %791 = extractvalue { ptr, i32 } %790, 0
  store ptr %791, ptr %4, align 8
  %792 = extractvalue { ptr, i32 } %790, 1
  store i32 %792, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  br label %793

793:                                              ; preds = %789, %785
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #8
  br label %795

794:                                              ; preds = %780, %760
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #8
  ret void

795:                                              ; preds = %793, %781, %764
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #8
  br label %796

796:                                              ; preds = %795, %274
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #8
  br label %797

797:                                              ; preds = %796, %257, %253
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #8
  br label %798

798:                                              ; preds = %797, %196, %174, %162
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  br label %799

799:                                              ; preds = %798, %124, %99
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #8
  br label %800

800:                                              ; preds = %799
  %801 = load ptr, ptr %4, align 8
  %802 = load i32, ptr %5, align 4
  %803 = insertvalue { ptr, i32 } poison, ptr %801, 0
  %804 = insertvalue { ptr, i32 } %803, i32 %802, 1
  resume { ptr, i32 } %804

805:                                              ; preds = %703, %653, %572, %440, %343, %252, %161, %98
  unreachable
}

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_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.144") align 8, ptr noundef) #4

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16)) #5 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)) #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZSt7none_ofIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_0EbT_SC_T0_"(ptr, ptr) #7

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_1ENSt15iterator_traitsIT_E15difference_typeESD_SD_T0_"(ptr, ptr) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_2ENSt15iterator_traitsIT_E15difference_typeESD_SD_T0_"(ptr, ptr) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRiRA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(41), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(2)) #7

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #7

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

declare void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3

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

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden ptr @"_ZSt9transformIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEENS1_IPN6ngraph9DimensionES3_IS8_SaIS8_EEEEZNS7_2op2v17Reshape24validate_and_infer_typesEvE3$_3ET0_T_SI_SH_T1_"(ptr, ptr, ptr, ptr) #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.79", i64 }
%"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::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::shared_ptr.144" = type { %"class.std::__shared_ptr.145" }
%"class.std::__shared_ptr.145" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector.147" = type { %"struct.std::_Vector_base.148" }
%"struct.std::_Vector_base.148" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.160" = type { ptr, i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.82" }
%"class.std::vector.82" = type { %"struct.std::_Vector_base.83" }
%"struct.std::_Vector_base.83" = 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.std::allocator.84" = type { i8 }

@.str.3 = external hidden unnamed_addr constant [81 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.13 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [38 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: nounwind
declare void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2

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

; 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 nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5 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

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

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

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

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

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

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

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

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

; 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 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) local_unnamed_addr #3

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v17Reshape24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(681) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::element::Type", align 4
  %3 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %4 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.ngraph::Dimension", align 8
  %7 = alloca %"class.ngraph::Dimension", align 8
  %8 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %9 = alloca %"class.ngraph::Dimension", align 8
  %10 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.ngraph::Dimension", align 8
  %13 = alloca %"class.ngraph::Dimension", align 8
  %14 = alloca %"class.std::shared_ptr.144", align 8
  %15 = alloca %"class.std::shared_ptr.79", align 8
  %16 = alloca %"class.ngraph::Output", align 8
  %17 = alloca %"class.std::vector.147", align 8
  %18 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %19 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %23 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.ngraph::Shape", align 8
  %26 = alloca %"class.ngraph::Shape", align 8
  %27 = alloca %"class.std::initializer_list.160", align 8
  %28 = alloca [1 x i64], align 8
  %29 = alloca %"class.ngraph::Shape", align 8
  %30 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %31 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.ngraph::PartialShape", align 8
  %34 = alloca %"class.std::vector.82", align 8
  %35 = alloca %"class.std::allocator.84", align 1
  %36 = alloca %"class.ngraph::Shape", align 8
  %37 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %38 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.ngraph::Dimension", align 8
  %41 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %42 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.ngraph::Dimension", align 8
  %45 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %46 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.ngraph::Dimension", align 8
  %49 = alloca %"class.ngraph::PartialShape", align 8
  %50 = alloca %"class.ngraph::PartialShape", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #8
  %51 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  %52 = load i32, ptr %51, align 4, !tbaa !5
  store i32 %52, ptr %2, align 4, !tbaa !5
  %53 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type18is_integral_numberEv(ptr noundef nonnull align 4 dereferenceable(4) %2)
          to label %54 unwind label %66

54:                                               ; preds = %1
  br i1 %53, label %78, label %55

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

56:                                               ; preds = %55
  %57 = getelementptr inbounds i8, ptr %3, i64 16
  %58 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA36_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 1 dereferenceable(36) @.str.13)
          to label %59 unwind label %70

59:                                               ; preds = %56
  %60 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #8
  store ptr @.str.3, ptr %4, align 8, !tbaa !9
  %61 = getelementptr inbounds i8, ptr %4, i64 8
  store i32 252, ptr %61, align 8, !tbaa !13
  %62 = getelementptr inbounds i8, ptr %4, i64 16
  store ptr @.str.14, ptr %62, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(128) %3)
          to label %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) %4, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %65 unwind label %.thread182

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

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

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

68:                                               ; preds = %55
  %69 = landingpad { ptr, i32 }
          cleanup
  br label %77

70:                                               ; preds = %56
  %71 = landingpad { ptr, i32 }
          cleanup
  br label %76

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

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

75:                                               ; preds = %.thread182, %.thread
  %.pn181 = phi { ptr, i32 } [ %72, %.thread ], [ %64, %.thread182 ]
  call void @__cxa_free_exception(ptr %60) #8
  br label %76

76:                                               ; preds = %73, %75, %70
  %.pn.pn = phi { ptr, i32 } [ %.pn181, %75 ], [ %74, %73 ], [ %71, %70 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3) #8
  br label %77

77:                                               ; preds = %76, %68
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %76 ], [ %69, %68 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %3) #8
  br label %486

78:                                               ; preds = %54
  %79 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %80 unwind label %105

80:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #8
  %81 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %82 unwind label %107

82:                                               ; preds = %80
  %83 = extractvalue { i64, i64 } %81, 0
  store i64 %83, ptr %6, align 8
  %84 = getelementptr inbounds i8, ptr %6, i64 8
  %85 = extractvalue { i64, i64 } %81, 1
  store i64 %85, ptr %84, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %7, i64 noundef 1)
          to label %86 unwind label %109

86:                                               ; preds = %82
  %87 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull align 8 dereferenceable(16) %7)
          to label %88 unwind label %109

88:                                               ; preds = %86
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8
  br i1 %87, label %122, label %89

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

90:                                               ; preds = %89
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #8
  %91 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %92 unwind label %114

92:                                               ; preds = %90
  %93 = getelementptr inbounds i8, ptr %8, i64 16
  %94 = extractvalue { i64, i64 } %91, 0
  store i64 %94, ptr %9, align 8
  %95 = getelementptr inbounds i8, ptr %9, i64 8
  %96 = extractvalue { i64, i64 } %91, 1
  store i64 %96, ptr %95, align 8
  %97 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJNS_9DimensionERA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull align 1 dereferenceable(37) @.str.15, ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef nonnull align 1 dereferenceable(2) @.str.16)
          to label %98 unwind label %114

98:                                               ; preds = %92
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #8
  %99 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #8
  store ptr @.str.3, ptr %10, align 8, !tbaa !9
  %100 = getelementptr inbounds i8, ptr %10, i64 8
  store i32 260, ptr %100, align 8, !tbaa !13
  %101 = getelementptr inbounds i8, ptr %10, i64 16
  store ptr @.str.17, ptr %101, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(128) %8)
          to label %102 unwind label %.thread184

102:                                              ; preds = %98
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %99, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %104 unwind label %.thread188

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

104:                                              ; preds = %102
  invoke void @__cxa_throw(ptr nonnull %99, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %487 unwind label %117

105:                                              ; preds = %78
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %486

107:                                              ; preds = %80
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %111

109:                                              ; preds = %86, %82
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  br label %111

111:                                              ; preds = %109, %107
  %.pn120 = phi { ptr, i32 } [ %110, %109 ], [ %108, %107 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8
  br label %486

112:                                              ; preds = %89
  %113 = landingpad { ptr, i32 }
          cleanup
  br label %121

114:                                              ; preds = %92, %90
  %115 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #8
  br label %120

.thread184:                                       ; preds = %98
  %116 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #8
  br label %119

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

119:                                              ; preds = %.thread188, %.thread184
  %.pn173187 = phi { ptr, i32 } [ %116, %.thread184 ], [ %103, %.thread188 ]
  call void @__cxa_free_exception(ptr %99) #8
  br label %120

120:                                              ; preds = %117, %119, %114
  %.pn173.pn = phi { ptr, i32 } [ %.pn173187, %119 ], [ %118, %117 ], [ %115, %114 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #8
  br label %121

121:                                              ; preds = %120, %112
  %.pn173.pn.pn = phi { ptr, i32 } [ %.pn173.pn, %120 ], [ %113, %112 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %8) #8
  br label %486

122:                                              ; preds = %88
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #8
  %123 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %124 unwind label %162

124:                                              ; preds = %122
  %125 = extractvalue { i64, i64 } %123, 0
  store i64 %125, ptr %13, align 8
  %126 = getelementptr inbounds i8, ptr %13, i64 8
  %127 = extractvalue { i64, i64 } %123, 1
  store i64 %127, ptr %126, align 8
  %128 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %13)
          to label %129 unwind label %162

129:                                              ; preds = %124
  br i1 %128, label %130, label %135

130:                                              ; preds = %129
  %131 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %132 = extractvalue { i64, i64 } %131, 0
  store i64 %132, ptr %12, align 8
  %133 = getelementptr inbounds i8, ptr %12, i64 8
  %134 = extractvalue { i64, i64 } %131, 1
  store i64 %134, ptr %133, align 8
  br label %138

135:                                              ; preds = %129
  %136 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %79, i64 noundef 0)
          to label %137 unwind label %162

137:                                              ; preds = %135
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(16) %136, i64 16, i1 false), !tbaa.struct !15
  br label %138

138:                                              ; preds = %137, %130
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #8
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1, i1 noundef zeroext true)
          to label %139 unwind label %164

139:                                              ; preds = %138
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %16, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %140 unwind label %166

140:                                              ; preds = %139
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.79") align 8 %15, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %141 unwind label %168

141:                                              ; preds = %140
  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.144") align 8 %14, ptr noundef nonnull %15)
          to label %142 unwind label %170

142:                                              ; preds = %141
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  %143 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %14) #8
  br i1 %143, label %144, label %467

144:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #8
  %145 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  invoke void @_ZNK6ngraph2op2v08Constant11cast_vectorIlEESt6vectorIT_SaIS5_EEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.147") align 8 %17, ptr noundef nonnull align 8 dereferenceable(729) %145)
          to label %146 unwind label %174

146:                                              ; preds = %144
  %147 = call ptr @_ZNSt6vectorIlSaIlEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %148 = call ptr @_ZNSt6vectorIlSaIlEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %149 = invoke noundef zeroext i1 @"_ZSt7none_ofIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_0EbT_SC_T0_"(ptr %147, ptr %148)
          to label %150 unwind label %176

150:                                              ; preds = %146
  br i1 %149, label %188, label %151

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

152:                                              ; preds = %151
  %153 = getelementptr inbounds i8, ptr %18, i64 16
  %154 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %153, ptr noundef nonnull align 1 dereferenceable(33) @.str.18)
          to label %155 unwind label %180

155:                                              ; preds = %152
  %156 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #8
  store ptr @.str.3, ptr %19, align 8, !tbaa !9
  %157 = getelementptr inbounds i8, ptr %19, i64 8
  store i32 272, ptr %157, align 8, !tbaa !13
  %158 = getelementptr inbounds i8, ptr %19, i64 16
  store ptr @.str.19, ptr %158, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(128) %18)
          to label %159 unwind label %.thread190

159:                                              ; preds = %155
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %156, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %161 unwind label %.thread194

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

161:                                              ; preds = %159
  invoke void @__cxa_throw(ptr nonnull %156, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %487 unwind label %183

162:                                              ; preds = %135, %124, %122
  %163 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #8
  br label %485

164:                                              ; preds = %138
  %165 = landingpad { ptr, i32 }
          cleanup
  br label %485

166:                                              ; preds = %139
  %167 = landingpad { ptr, i32 }
          cleanup
  br label %173

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

170:                                              ; preds = %141
  %171 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #8
  br label %172

172:                                              ; preds = %170, %168
  %.pn122 = phi { ptr, i32 } [ %171, %170 ], [ %169, %168 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  br label %173

173:                                              ; preds = %172, %166
  %.pn122.pn = phi { ptr, i32 } [ %.pn122, %172 ], [ %167, %166 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  br label %484

174:                                              ; preds = %144
  %175 = landingpad { ptr, i32 }
          cleanup
  br label %466

176:                                              ; preds = %146
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %465

178:                                              ; preds = %151
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %187

180:                                              ; preds = %152
  %181 = landingpad { ptr, i32 }
          cleanup
  br label %186

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

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

185:                                              ; preds = %.thread194, %.thread190
  %.pn127193 = phi { ptr, i32 } [ %182, %.thread190 ], [ %160, %.thread194 ]
  call void @__cxa_free_exception(ptr %156) #8
  br label %186

186:                                              ; preds = %183, %185, %180
  %.pn127.pn = phi { ptr, i32 } [ %.pn127193, %185 ], [ %184, %183 ], [ %181, %180 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %18) #8
  br label %187

187:                                              ; preds = %186, %178
  %.pn127.pn.pn = phi { ptr, i32 } [ %.pn127.pn, %186 ], [ %179, %178 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %18) #8
  br label %465

188:                                              ; preds = %150
  %189 = call ptr @_ZNSt6vectorIlSaIlEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %190 = call ptr @_ZNSt6vectorIlSaIlEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %191 = invoke noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_1ENSt15iterator_traitsIT_E15difference_typeESD_SD_T0_"(ptr %189, ptr %190)
          to label %192 unwind label %210

192:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #8
  %193 = call ptr @_ZNSt6vectorIlSaIlEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %194 = call ptr @_ZNSt6vectorIlSaIlEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %195 = invoke noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_2ENSt15iterator_traitsIT_E15difference_typeESD_SD_T0_"(ptr %193, ptr %194)
          to label %196 unwind label %212

196:                                              ; preds = %192
  %197 = trunc i64 %195 to i32
  store i32 %197, ptr %21, align 4, !tbaa !18
  %198 = icmp slt i32 %197, 2
  br i1 %198, label %224, label %199

199:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %22) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %22)
          to label %200 unwind label %214

200:                                              ; preds = %199
  %201 = getelementptr inbounds i8, ptr %22, i64 16
  %202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJRiRA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %201, ptr noundef nonnull align 1 dereferenceable(41) @.str.20, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 1 dereferenceable(2) @.str.21)
          to label %203 unwind label %216

203:                                              ; preds = %200
  %204 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #8
  store ptr @.str.3, ptr %23, align 8, !tbaa !9
  %205 = getelementptr inbounds i8, ptr %23, i64 8
  store i32 282, ptr %205, align 8, !tbaa !13
  %206 = getelementptr inbounds i8, ptr %23, i64 16
  store ptr @.str.22, ptr %206, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(128) %22)
          to label %207 unwind label %.thread196

207:                                              ; preds = %203
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %204, ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %209 unwind label %.thread200

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

209:                                              ; preds = %207
  invoke void @__cxa_throw(ptr nonnull %204, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %487 unwind label %219

210:                                              ; preds = %188
  %211 = landingpad { ptr, i32 }
          cleanup
  br label %465

212:                                              ; preds = %192
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %464

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

216:                                              ; preds = %200
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %222

.thread196:                                       ; preds = %203
  %218 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #8
  br label %221

219:                                              ; preds = %209
  %220 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #8
  br label %222

221:                                              ; preds = %.thread200, %.thread196
  %.pn131199 = phi { ptr, i32 } [ %218, %.thread196 ], [ %208, %.thread200 ]
  call void @__cxa_free_exception(ptr %204) #8
  br label %222

222:                                              ; preds = %219, %221, %216
  %.pn131.pn = phi { ptr, i32 } [ %.pn131199, %221 ], [ %220, %219 ], [ %217, %216 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %22) #8
  br label %223

223:                                              ; preds = %222, %214
  %.pn131.pn.pn = phi { ptr, i32 } [ %.pn131.pn, %222 ], [ %215, %214 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %22) #8
  br label %464

224:                                              ; preds = %196
  %225 = and i64 %191, 4294967295
  %.not = icmp eq i64 %225, 0
  br i1 %.not, label %231, label %226

226:                                              ; preds = %224
  %227 = getelementptr inbounds i8, ptr %0, i64 680
  %228 = load i8, ptr %227, align 8, !tbaa !19, !range !73, !noundef !74
  %229 = trunc nuw i8 %228 to i1
  %230 = icmp ne i32 %197, 0
  %or.cond = or i1 %230, %229
  br i1 %or.cond, label %299, label %232

231:                                              ; preds = %224
  %.old1.not = icmp eq i32 %197, 0
  br i1 %.old1.not, label %232, label %299

232:                                              ; preds = %226, %231
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #8
  %233 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  invoke void @_ZNK6ngraph2op2v08Constant13get_shape_valEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %25, ptr noundef nonnull align 8 dereferenceable(729) %233)
          to label %234 unwind label %242

234:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #8
  store i64 0, ptr %28, align 8, !tbaa !16
  store ptr %28, ptr %27, align 8, !tbaa !75
  %235 = getelementptr inbounds i8, ptr %27, i64 8
  store i64 1, ptr %235, align 8, !tbaa !77
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %236 unwind label %244

236:                                              ; preds = %234
  %237 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(24) %26)
          to label %238 unwind label %246

238:                                              ; preds = %236
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #8
  br i1 %237, label %239, label %251

239:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %240 unwind label %249

240:                                              ; preds = %239
  %241 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph5ShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %251

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

244:                                              ; preds = %234
  %245 = landingpad { ptr, i32 }
          cleanup
  br label %248

246:                                              ; preds = %236
  %247 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  br label %248

248:                                              ; preds = %246, %244
  %.pn135 = phi { ptr, i32 } [ %247, %246 ], [ %245, %244 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #8
  br label %297

249:                                              ; preds = %239
  %250 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %297

251:                                              ; preds = %240, %238
  %252 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %253 unwind label %275

253:                                              ; preds = %251
  %254 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %252)
          to label %255 unwind label %275

255:                                              ; preds = %253
  br i1 %254, label %256, label %287

256:                                              ; preds = %255
  %257 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %258 unwind label %275

258:                                              ; preds = %256
  %259 = call noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %257)
  %260 = call noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %25)
  %261 = icmp eq i64 %259, %260
  br i1 %261, label %287, label %262

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

263:                                              ; preds = %262
  %264 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %265 unwind label %279

265:                                              ; preds = %263
  %266 = getelementptr inbounds i8, ptr %30, i64 16
  %267 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA24_cJRNS_5ShapeERA35_KcRKS2_EEERSoS9_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %266, ptr noundef nonnull align 1 dereferenceable(24) @.str.23, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 1 dereferenceable(35) @.str.24, ptr noundef nonnull align 8 dereferenceable(24) %264)
          to label %268 unwind label %279

268:                                              ; preds = %265
  %269 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #8
  store ptr @.str.3, ptr %31, align 8, !tbaa !9
  %270 = getelementptr inbounds i8, ptr %31, i64 8
  store i32 298, ptr %270, align 8, !tbaa !13
  %271 = getelementptr inbounds i8, ptr %31, i64 16
  store ptr @.str.25, ptr %271, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(128) %30)
          to label %272 unwind label %.thread202

272:                                              ; preds = %268
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %269, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %274 unwind label %.thread206

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

274:                                              ; preds = %272
  invoke void @__cxa_throw(ptr nonnull %269, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %487 unwind label %282

275:                                              ; preds = %287, %256, %253, %251
  %276 = landingpad { ptr, i32 }
          cleanup
  br label %297

277:                                              ; preds = %262
  %278 = landingpad { ptr, i32 }
          cleanup
  br label %286

279:                                              ; preds = %265, %263
  %280 = landingpad { ptr, i32 }
          cleanup
  br label %285

.thread202:                                       ; preds = %268
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #8
  br label %284

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

284:                                              ; preds = %.thread206, %.thread202
  %.pn137205 = phi { ptr, i32 } [ %281, %.thread202 ], [ %273, %.thread206 ]
  call void @__cxa_free_exception(ptr %269) #8
  br label %285

285:                                              ; preds = %282, %284, %279
  %.pn137.pn = phi { ptr, i32 } [ %.pn137205, %284 ], [ %283, %282 ], [ %280, %279 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30) #8
  br label %286

286:                                              ; preds = %285, %277
  %.pn137.pn.pn = phi { ptr, i32 } [ %.pn137.pn, %285 ], [ %278, %277 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %30) #8
  br label %297

287:                                              ; preds = %258, %255
  %288 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %289 unwind label %275

289:                                              ; preds = %287
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(24) %25)
          to label %290 unwind label %292

290:                                              ; preds = %289
  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) %288, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %291 unwind label %294

291:                                              ; preds = %290
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #8
  br label %463

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

294:                                              ; preds = %290
  %295 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  br label %296

296:                                              ; preds = %294, %292
  %.pn141 = phi { ptr, i32 } [ %295, %294 ], [ %293, %292 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  br label %297

297:                                              ; preds = %296, %286, %275, %249, %248
  %.pn141.pn = phi { ptr, i32 } [ %.pn141, %296 ], [ %276, %275 ], [ %.pn137.pn.pn, %286 ], [ %250, %249 ], [ %.pn135, %248 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  br label %298

298:                                              ; preds = %297, %242
  %.pn141.pn.pn = phi { ptr, i32 } [ %.pn141.pn, %297 ], [ %243, %242 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #8
  br label %464

299:                                              ; preds = %231, %226
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #8
  %300 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %301 unwind label %323

301:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #8
  call void @_ZNSaIN6ngraph9DimensionEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #8
  invoke void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef %300, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %302 unwind label %325

302:                                              ; preds = %301
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #8
  %303 = call ptr @_ZNSt6vectorIlSaIlEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %304 = call ptr @_ZNSt6vectorIlSaIlEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %305 = call ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  %306 = invoke ptr @"_ZSt9transformIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEENS1_IPN6ngraph9DimensionES3_IS8_SaIS8_EEEEZNS7_2op2v17Reshape24validate_and_infer_typesEvE3$_3ET0_T_SI_SH_T1_"(ptr %303, ptr %304, ptr %305, ptr nonnull %0)
          to label %307 unwind label %327

307:                                              ; preds = %302
  %308 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %309 unwind label %327

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

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

312:                                              ; preds = %311
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #8
  %313 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %314 unwind label %329

314:                                              ; preds = %312
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %36, ptr noundef nonnull align 8 dereferenceable(32) %313)
          to label %315 unwind label %329

315:                                              ; preds = %314
  %316 = call noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %36)
  %317 = getelementptr inbounds i8, ptr %0, i64 680
  br label %318

318:                                              ; preds = %384, %315
  %.0106 = phi i64 [ 1, %315 ], [ %.1107, %384 ]
  %.0104 = phi i32 [ -1, %315 ], [ %.1105, %384 ]
  %.0101 = phi i64 [ 0, %315 ], [ %385, %384 ]
  %319 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %320 unwind label %331

320:                                              ; preds = %318
  %321 = icmp ult i64 %.0101, %319
  br i1 %321, label %333, label %322

322:                                              ; preds = %320
  %.not145 = icmp eq i32 %.0104, -1
  br i1 %.not145, label %448, label %386

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

325:                                              ; preds = %301
  %326 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph9DimensionEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #8
  br label %462

327:                                              ; preds = %451, %309, %307, %302
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %461

329:                                              ; preds = %314, %312
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %450

331:                                              ; preds = %318
  %332 = landingpad { ptr, i32 }
          cleanup
  br label %449

333:                                              ; preds = %320
  %334 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0101) #8
  %335 = load i64, ptr %334, align 8, !tbaa !16
  %336 = icmp eq i64 %335, 0
  br i1 %336, label %337, label %374

337:                                              ; preds = %333
  %338 = load i8, ptr %317, align 8, !tbaa !19, !range !73, !noundef !74
  %339 = trunc nuw i8 %338 to i1
  br i1 %339, label %340, label %374

340:                                              ; preds = %337
  %341 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  %342 = icmp ult i64 %.0101, %341
  br i1 %342, label %364, label %343

343:                                              ; preds = %340
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %37) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %37)
          to label %344 unwind label %354

344:                                              ; preds = %343
  %345 = getelementptr inbounds i8, ptr %37, i64 16
  %346 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA30_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %345, ptr noundef nonnull align 1 dereferenceable(30) @.str.26)
          to label %347 unwind label %356

347:                                              ; preds = %344
  %348 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #8
  store ptr @.str.3, ptr %38, align 8, !tbaa !9
  %349 = getelementptr inbounds i8, ptr %38, i64 8
  store i32 328, ptr %349, align 8, !tbaa !13
  %350 = getelementptr inbounds i8, ptr %38, i64 16
  store ptr @.str.27, ptr %350, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(128) %37)
          to label %351 unwind label %.thread208

351:                                              ; preds = %347
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %348, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %353 unwind label %.thread212

.thread212:                                       ; preds = %351
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #8
  br label %361

353:                                              ; preds = %351
  invoke void @__cxa_throw(ptr nonnull %348, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %487 unwind label %359

354:                                              ; preds = %343
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %363

356:                                              ; preds = %344
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %362

.thread208:                                       ; preds = %347
  %358 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #8
  br label %361

359:                                              ; preds = %353
  %360 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #8
  br label %362

361:                                              ; preds = %.thread212, %.thread208
  %.pn156211 = phi { ptr, i32 } [ %358, %.thread208 ], [ %352, %.thread212 ]
  call void @__cxa_free_exception(ptr %348) #8
  br label %362

362:                                              ; preds = %359, %361, %356
  %.pn156.pn = phi { ptr, i32 } [ %.pn156211, %361 ], [ %360, %359 ], [ %357, %356 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %37) #8
  br label %363

363:                                              ; preds = %362, %354
  %.pn156.pn.pn = phi { ptr, i32 } [ %.pn156.pn, %362 ], [ %355, %354 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %37) #8
  br label %449

364:                                              ; preds = %340
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #8
  %365 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %.0101) #8
  %366 = load i64, ptr %365, align 8, !tbaa !16
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %40, i64 noundef %366)
          to label %367 unwind label %372

367:                                              ; preds = %364
  %368 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef %.0101) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %368, ptr noundef nonnull align 8 dereferenceable(16) %40, i64 16, i1 false), !tbaa.struct !15
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #8
  %369 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %.0101) #8
  %370 = load i64, ptr %369, align 8, !tbaa !16
  %371 = mul i64 %370, %.0106
  br label %384

372:                                              ; preds = %364
  %373 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #8
  br label %449

374:                                              ; preds = %337, %333
  %375 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0101) #8
  %376 = load i64, ptr %375, align 8, !tbaa !16
  %377 = icmp eq i64 %376, -1
  br i1 %377, label %378, label %380

378:                                              ; preds = %374
  %379 = trunc i64 %.0101 to i32
  br label %384

380:                                              ; preds = %374
  %381 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIlSaIlEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0101) #8
  %382 = load i64, ptr %381, align 8, !tbaa !16
  %383 = mul i64 %382, %.0106
  br label %384

384:                                              ; preds = %367, %380, %378
  %.1107 = phi i64 [ %371, %367 ], [ %.0106, %378 ], [ %383, %380 ]
  %.1105 = phi i32 [ %.0104, %367 ], [ %379, %378 ], [ %.0104, %380 ]
  %385 = add nuw i64 %.0101, 1
  br label %318, !llvm.loop !78

386:                                              ; preds = %322
  %387 = icmp eq i64 %.0106, 0
  br i1 %387, label %388, label %417

388:                                              ; preds = %386
  %389 = icmp eq i64 %316, 0
  br i1 %389, label %411, label %390

390:                                              ; preds = %388
  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 %391 unwind label %401

391:                                              ; preds = %390
  %392 = getelementptr inbounds i8, ptr %41, i64 16
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA114_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %392, ptr noundef nonnull align 1 dereferenceable(114) @.str.28)
          to label %394 unwind label %403

394:                                              ; preds = %391
  %395 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #8
  store ptr @.str.3, ptr %42, align 8, !tbaa !9
  %396 = getelementptr inbounds i8, ptr %42, i64 8
  store i32 354, ptr %396, align 8, !tbaa !13
  %397 = getelementptr inbounds i8, ptr %42, i64 16
  store ptr @.str.29, ptr %397, align 8, !tbaa !14
  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 %398 unwind label %.thread214

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

.thread218:                                       ; preds = %398
  %399 = 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 %408

400:                                              ; preds = %398
  invoke void @__cxa_throw(ptr nonnull %395, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %487 unwind label %406

401:                                              ; preds = %390
  %402 = landingpad { ptr, i32 }
          cleanup
  br label %410

403:                                              ; preds = %391
  %404 = landingpad { ptr, i32 }
          cleanup
  br label %409

.thread214:                                       ; preds = %394
  %405 = 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 %408

406:                                              ; preds = %400
  %407 = 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 %409

408:                                              ; preds = %.thread218, %.thread214
  %.pn150217 = phi { ptr, i32 } [ %405, %.thread214 ], [ %399, %.thread218 ]
  call void @__cxa_free_exception(ptr %395) #8
  br label %409

409:                                              ; preds = %406, %408, %403
  %.pn150.pn = phi { ptr, i32 } [ %.pn150217, %408 ], [ %407, %406 ], [ %404, %403 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %41) #8
  br label %410

410:                                              ; preds = %409, %401
  %.pn150.pn.pn = phi { ptr, i32 } [ %.pn150.pn, %409 ], [ %402, %401 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %41) #8
  br label %449

411:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %44, i64 noundef 0)
          to label %412 unwind label %415

412:                                              ; preds = %411
  %413 = sext i32 %.0104 to i64
  %414 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef %413) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %414, ptr noundef nonnull align 8 dereferenceable(16) %44, i64 16, i1 false), !tbaa.struct !15
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  br label %448

415:                                              ; preds = %411
  %416 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  br label %449

417:                                              ; preds = %386
  %418 = urem i64 %316, %.0106
  %419 = udiv i64 %316, %.0106
  %420 = icmp eq i64 %418, 0
  br i1 %420, label %442, label %421

421:                                              ; preds = %417
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %45) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %45)
          to label %422 unwind label %432

422:                                              ; preds = %421
  %423 = getelementptr inbounds i8, ptr %45, i64 16
  %424 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA69_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %423, ptr noundef nonnull align 1 dereferenceable(69) @.str.30)
          to label %425 unwind label %434

425:                                              ; preds = %422
  %426 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #8
  store ptr @.str.3, ptr %46, align 8, !tbaa !9
  %427 = getelementptr inbounds i8, ptr %46, i64 8
  store i32 362, ptr %427, align 8, !tbaa !13
  %428 = getelementptr inbounds i8, ptr %46, i64 16
  store ptr @.str.31, ptr %428, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(128) %45)
          to label %429 unwind label %.thread220

429:                                              ; preds = %425
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %426, ptr noundef nonnull align 8 dereferenceable(24) %46, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %431 unwind label %.thread224

.thread224:                                       ; preds = %429
  %430 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #8
  br label %439

431:                                              ; preds = %429
  invoke void @__cxa_throw(ptr nonnull %426, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %487 unwind label %437

432:                                              ; preds = %421
  %433 = landingpad { ptr, i32 }
          cleanup
  br label %441

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

.thread220:                                       ; preds = %425
  %436 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #8
  br label %439

437:                                              ; preds = %431
  %438 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #8
  br label %440

439:                                              ; preds = %.thread224, %.thread220
  %.pn146223 = phi { ptr, i32 } [ %436, %.thread220 ], [ %430, %.thread224 ]
  call void @__cxa_free_exception(ptr %426) #8
  br label %440

440:                                              ; preds = %437, %439, %434
  %.pn146.pn = phi { ptr, i32 } [ %.pn146223, %439 ], [ %438, %437 ], [ %435, %434 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %45) #8
  br label %441

441:                                              ; preds = %440, %432
  %.pn146.pn.pn = phi { ptr, i32 } [ %.pn146.pn, %440 ], [ %433, %432 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %45) #8
  br label %449

442:                                              ; preds = %417
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %48) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %48, i64 noundef %419)
          to label %443 unwind label %446

443:                                              ; preds = %442
  %444 = sext i32 %.0104 to i64
  %445 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef %444) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %445, ptr noundef nonnull align 8 dereferenceable(16) %48, i64 16, i1 false), !tbaa.struct !15
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #8
  br label %448

446:                                              ; preds = %442
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #8
  br label %449

448:                                              ; preds = %412, %443, %322
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  br label %451

449:                                              ; preds = %331, %363, %372, %446, %441, %415, %410
  %.pn160.pn = phi { ptr, i32 } [ %416, %415 ], [ %.pn150.pn.pn, %410 ], [ %447, %446 ], [ %.pn146.pn.pn, %441 ], [ %373, %372 ], [ %.pn156.pn.pn, %363 ], [ %332, %331 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  br label %450

450:                                              ; preds = %449, %329
  %.pn160.pn.pn = phi { ptr, i32 } [ %.pn160.pn, %449 ], [ %330, %329 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  br label %461

451:                                              ; preds = %448, %311
  %452 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %453 unwind label %327

453:                                              ; preds = %451
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %454 unwind label %456

454:                                              ; preds = %453
  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) %452, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %455 unwind label %458

455:                                              ; preds = %454
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  br label %463

456:                                              ; preds = %453
  %457 = landingpad { ptr, i32 }
          cleanup
  br label %460

458:                                              ; preds = %454
  %459 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %460

460:                                              ; preds = %458, %456
  %.pn154 = phi { ptr, i32 } [ %459, %458 ], [ %457, %456 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  br label %461

461:                                              ; preds = %460, %450, %327
  %.pn160.pn.pn.pn = phi { ptr, i32 } [ %.pn160.pn.pn, %450 ], [ %.pn154, %460 ], [ %328, %327 ]
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  br label %462

462:                                              ; preds = %461, %325, %323
  %.pn160.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn160.pn.pn.pn, %461 ], [ %326, %325 ], [ %324, %323 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  br label %464

463:                                              ; preds = %455, %291
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #8
  call void @_ZNSt6vectorIlSaIlEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  br label %482

464:                                              ; preds = %462, %298, %223, %212
  %.pn160.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn160.pn.pn.pn.pn, %462 ], [ %.pn141.pn.pn, %298 ], [ %.pn131.pn.pn, %223 ], [ %213, %212 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #8
  br label %465

465:                                              ; preds = %210, %464, %187, %176
  %.pn160.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn127.pn.pn, %187 ], [ %177, %176 ], [ %.pn160.pn.pn.pn.pn.pn, %464 ], [ %211, %210 ]
  call void @_ZNSt6vectorIlSaIlEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  br label %466

466:                                              ; preds = %465, %174
  %.pn160.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn160.pn.pn.pn.pn.pn.pn.pn, %465 ], [ %175, %174 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  br label %483

467:                                              ; preds = %142
  %468 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %469 unwind label %475

469:                                              ; preds = %467
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #8
  %470 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %471 = extractvalue { i64, i64 } %470, 0
  %472 = extractvalue { i64, i64 } %470, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %50, i64 %471, i64 %472)
          to label %473 unwind label %477

473:                                              ; preds = %469
  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) %468, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %474 unwind label %479

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

475:                                              ; preds = %467
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %483

477:                                              ; preds = %469
  %478 = landingpad { ptr, i32 }
          cleanup
  br label %481

479:                                              ; preds = %473
  %480 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %481

481:                                              ; preds = %479, %477
  %.pn125 = phi { ptr, i32 } [ %480, %479 ], [ %478, %477 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  br label %483

482:                                              ; preds = %474, %463
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  ret void

483:                                              ; preds = %481, %475, %466
  %.pn160.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn160.pn.pn.pn.pn.pn.pn.pn.pn, %466 ], [ %.pn125, %481 ], [ %476, %475 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #8
  br label %484

484:                                              ; preds = %483, %173
  %.pn160.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn160.pn.pn.pn.pn.pn.pn.pn.pn.pn, %483 ], [ %.pn122.pn, %173 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  br label %485

485:                                              ; preds = %484, %164, %162
  %.pn160.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn160.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %484 ], [ %165, %164 ], [ %163, %162 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #8
  br label %486

486:                                              ; preds = %105, %111, %121, %485, %77, %66
  %.pn173.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %77 ], [ %67, %66 ], [ %.pn173.pn.pn, %121 ], [ %.pn160.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %485 ], [ %.pn120, %111 ], [ %106, %105 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  resume { ptr, i32 } %.pn173.pn.pn.pn.pn

487:                                              ; preds = %431, %400, %353, %274, %209, %161, %104, %65
  unreachable
}

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_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.144") align 8, ptr noundef) local_unnamed_addr #4

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 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 #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZSt7none_ofIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_0EbT_SC_T0_"(ptr, ptr) local_unnamed_addr #7

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_1ENSt15iterator_traitsIT_E15difference_typeESD_SD_T0_"(ptr, ptr) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i64 @"_ZSt8count_ifIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEZN6ngraph2op2v17Reshape24validate_and_infer_typesEvE3$_2ENSt15iterator_traitsIT_E15difference_typeESD_SD_T0_"(ptr, ptr) local_unnamed_addr #7

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

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

declare void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3

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

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden ptr @"_ZSt9transformIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEENS1_IPN6ngraph9DimensionES3_IS8_SaIS8_EEEEZNS7_2op2v17Reshape24validate_and_infer_typesEvE3$_3ET0_T_SI_SH_T1_"(ptr, ptr, ptr, ptr) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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


; Effective O3 passes: CorrelatedValuePropagationPass,DivRemPairsPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopUnrollPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass