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

; 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::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.83" }
%"class.std::vector.83" = type { %"struct.std::_Vector_base.84" }
%"struct.std::_Vector_base.84" = 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.88" = type { ptr, i64 }
%"class.std::shared_ptr.89" = type { %"class.std::__shared_ptr.90" }
%"class.std::__shared_ptr.90" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Coordinate" = type { %"class.std::vector.83" }
%"class.std::shared_ptr.92" = type { %"class.std::__shared_ptr.93" }
%"class.std::__shared_ptr.93" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::AxisVector" = type { %"class.std::vector.83" }
%"class.std::shared_ptr.95" = type { %"class.std::__shared_ptr.96" }
%"class.std::__shared_ptr.96" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.98" = type { %"class.std::__shared_ptr.99" }
%"class.std::__shared_ptr.99" = type { ptr, %"class.std::__shared_count" }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::allocator.71" = type { i8 }
%"class.ngraph::op::v0::BatchMatMulTranspose" = type <{ %"class.ngraph::op::util::FusedOp", i8, i8, [6 x i8] }>
%"class.ngraph::op::util::FusedOp" = type { %"class.ngraph::op::Op" }
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.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 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [26 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.3 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [26 x i8], align 1
@constinit = external hidden constant [3 x i64], align 8

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v020BatchMatMulTranspose12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.69") align 8 %0, ptr noundef nonnull align 8 dereferenceable(682) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca i1, align 1
  %13 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %14 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca i1, align 1
  %17 = alloca %"class.ngraph::Shape", align 8
  %18 = alloca i64, align 8
  %19 = alloca %"class.std::vector.69", align 8
  %20 = alloca i64, align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.ngraph::Shape", align 8
  %23 = alloca %"class.ngraph::Shape", align 8
  %24 = alloca %"class.std::initializer_list.88", align 8
  %25 = alloca [2 x i64], align 8
  %26 = alloca %"class.ngraph::Shape", align 8
  %27 = alloca %"class.std::initializer_list.88", align 8
  %28 = alloca [2 x i64], align 8
  %29 = alloca i8, align 1
  %30 = alloca i64, align 8
  %31 = alloca %"class.std::shared_ptr.89", align 8
  %32 = alloca %"class.ngraph::Output", align 8
  %33 = alloca %"class.ngraph::Coordinate", align 8
  %34 = alloca %"class.std::initializer_list.88", align 8
  %35 = alloca [3 x i64], align 8
  %36 = alloca %"class.ngraph::Coordinate", align 8
  %37 = alloca %"class.std::initializer_list.88", align 8
  %38 = alloca [3 x i64], align 8
  %39 = alloca %"class.std::shared_ptr.92", align 8
  %40 = alloca %"class.ngraph::AxisVector", align 8
  %41 = alloca %"class.std::initializer_list.88", align 8
  %42 = alloca [3 x i64], align 8
  %43 = alloca %"class.ngraph::Output", align 8
  %44 = alloca %"class.std::shared_ptr.92", align 8
  %45 = alloca %"class.ngraph::AxisVector", align 8
  %46 = alloca i1, align 1
  %47 = alloca %"class.std::initializer_list.88", align 8
  %48 = alloca [2 x i64], align 8
  %49 = alloca i1, align 1
  %50 = alloca %"class.std::vector.69", align 8
  %51 = alloca i64, align 8
  %52 = alloca %"class.std::shared_ptr.95", align 8
  %53 = alloca %"class.ngraph::Shape", align 8
  %54 = alloca %"class.std::shared_ptr.92", align 8
  %55 = alloca %"class.ngraph::AxisVector", align 8
  %56 = alloca %"class.std::initializer_list.88", align 8
  %57 = alloca [2 x i64], align 8
  %58 = alloca %"class.ngraph::Shape", align 8
  %59 = alloca %"class.std::initializer_list.88", align 8
  %60 = alloca [3 x i64], align 8
  %61 = alloca %"class.ngraph::Output", align 8
  %62 = alloca %"class.std::shared_ptr.98", align 8
  %63 = alloca i32, align 4
  %64 = alloca %"class.std::initializer_list", align 8
  %65 = alloca [1 x %"class.ngraph::Output"], align 8
  %66 = alloca ptr, align 8
  %67 = alloca %"class.std::allocator.71", align 1
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  %68 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #8
  %69 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %68, i64 noundef 0)
  store ptr %69, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #8
  %70 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %68, i64 noundef 1)
  store ptr %70, ptr %6, align 8, !tbaa !5
  br label %71

71:                                               ; preds = %2
  %72 = load ptr, ptr %5, align 8, !tbaa !5
  %73 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %72)
  br i1 %73, label %74, label %102

74:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 392, ptr %7) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7)
  %75 = getelementptr inbounds i8, ptr %7, i64 16
  %76 = load ptr, ptr %5, align 8, !tbaa !5
  %77 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA61_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 1 dereferenceable(61) @.str, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %78 unwind label %85

78:                                               ; preds = %74
  store i1 true, ptr %12, align 1
  %79 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #8
  %80 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 0
  store ptr @.str.1, ptr %80, align 8, !tbaa !9
  %81 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 1
  store i32 50, ptr %81, align 8, !tbaa !12
  %82 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 2
  store ptr @.str.2, ptr %82, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(128) %7)
          to label %83 unwind label %89

83:                                               ; preds = %78
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %79, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef %68, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %84 unwind label %93

84:                                               ; preds = %83
  store i1 false, ptr %12, align 1
  invoke void @__cxa_throw(ptr %79, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %443 unwind label %93

85:                                               ; preds = %74
  %86 = landingpad { ptr, i32 }
          cleanup
  %87 = extractvalue { ptr, i32 } %86, 0
  store ptr %87, ptr %8, align 8
  %88 = extractvalue { ptr, i32 } %86, 1
  store i32 %88, ptr %9, align 4
  br label %101

89:                                               ; preds = %78
  %90 = landingpad { ptr, i32 }
          cleanup
  %91 = extractvalue { ptr, i32 } %90, 0
  store ptr %91, ptr %8, align 8
  %92 = extractvalue { ptr, i32 } %90, 1
  store i32 %92, ptr %9, align 4
  br label %97

93:                                               ; preds = %84, %83
  %94 = landingpad { ptr, i32 }
          cleanup
  %95 = extractvalue { ptr, i32 } %94, 0
  store ptr %95, ptr %8, align 8
  %96 = extractvalue { ptr, i32 } %94, 1
  store i32 %96, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  br label %97

97:                                               ; preds = %93, %89
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #8
  %98 = load i1, ptr %12, align 1
  br i1 %98, label %99, label %100

99:                                               ; preds = %97
  call void @__cxa_free_exception(ptr %79) #8
  br label %100

100:                                              ; preds = %99, %97
  br label %101

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

102:                                              ; preds = %71
  br label %103

103:                                              ; preds = %102
  br label %104

104:                                              ; preds = %103
  br label %105

105:                                              ; preds = %104
  %106 = load ptr, ptr %6, align 8, !tbaa !5
  %107 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %106)
  br i1 %107, label %108, label %136

108:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 392, ptr %13) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13)
  %109 = getelementptr inbounds i8, ptr %13, i64 16
  %110 = load ptr, ptr %6, align 8, !tbaa !5
  %111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA61_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef nonnull align 1 dereferenceable(61) @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %112 unwind label %119

112:                                              ; preds = %108
  store i1 true, ptr %16, align 1
  %113 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #8
  %114 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 0
  store ptr @.str.1, ptr %114, align 8, !tbaa !9
  %115 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 1
  store i32 55, ptr %115, align 8, !tbaa !12
  %116 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 2
  store ptr @.str.4, ptr %116, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(128) %13)
          to label %117 unwind label %123

117:                                              ; preds = %112
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %113, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %68, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %118 unwind label %127

118:                                              ; preds = %117
  store i1 false, ptr %16, align 1
  invoke void @__cxa_throw(ptr %113, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %443 unwind label %127

119:                                              ; preds = %108
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %8, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %9, align 4
  br label %135

123:                                              ; preds = %112
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %8, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %9, align 4
  br label %131

127:                                              ; preds = %118, %117
  %128 = landingpad { ptr, i32 }
          cleanup
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %8, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  br label %131

131:                                              ; preds = %127, %123
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #8
  %132 = load i1, ptr %16, align 1
  br i1 %132, label %133, label %134

133:                                              ; preds = %131
  call void @__cxa_free_exception(ptr %113) #8
  br label %134

134:                                              ; preds = %133, %131
  br label %135

135:                                              ; preds = %134, %119
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %13) #8
  br label %437

136:                                              ; preds = %105
  br label %137

137:                                              ; preds = %136
  br label %138

138:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  %139 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %68, i64 noundef 0)
  call void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %139)
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #8
  %140 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 0)
          to label %141 unwind label %147

141:                                              ; preds = %138
  %142 = load i64, ptr %140, align 8, !tbaa !14
  store i64 %142, ptr %18, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 24, ptr %19) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #8
  store i64 0, ptr %20, align 8, !tbaa !14
  br label %143

143:                                              ; preds = %310, %141
  %144 = load i64, ptr %20, align 8, !tbaa !14
  %145 = icmp ult i64 %144, 2
  br i1 %145, label %151, label %146

146:                                              ; preds = %143
  store i32 6, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  br label %316

147:                                              ; preds = %138
  %148 = landingpad { ptr, i32 }
          cleanup
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %8, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %9, align 4
  br label %436

151:                                              ; preds = %143
  call void @llvm.lifetime.start.p0(i64 24, ptr %22) #8
  %152 = load i64, ptr %20, align 8, !tbaa !14
  %153 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %68, i64 noundef %152)
          to label %154 unwind label %194

154:                                              ; preds = %151
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %153)
          to label %155 unwind label %194

155:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #8
  %156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef 1)
          to label %157 unwind label %198

157:                                              ; preds = %155
  %158 = load i64, ptr %156, align 8, !tbaa !14
  store i64 %158, ptr %25, align 8, !tbaa !14
  %159 = getelementptr inbounds i64, ptr %25, i64 1
  %160 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef 2)
          to label %161 unwind label %198

161:                                              ; preds = %157
  %162 = load i64, ptr %160, align 8, !tbaa !14
  store i64 %162, ptr %159, align 8, !tbaa !14
  %163 = getelementptr inbounds %"class.std::initializer_list.88", ptr %24, i32 0, i32 0
  store ptr %25, ptr %163, align 8, !tbaa !16
  %164 = getelementptr inbounds %"class.std::initializer_list.88", ptr %24, i32 0, i32 1
  store i64 2, ptr %164, align 8, !tbaa !18
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %165 unwind label %198

165:                                              ; preds = %161
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #8
  %166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef 2)
          to label %167 unwind label %202

167:                                              ; preds = %165
  %168 = load i64, ptr %166, align 8, !tbaa !14
  store i64 %168, ptr %28, align 8, !tbaa !14
  %169 = getelementptr inbounds i64, ptr %28, i64 1
  %170 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef 1)
          to label %171 unwind label %202

171:                                              ; preds = %167
  %172 = load i64, ptr %170, align 8, !tbaa !14
  store i64 %172, ptr %169, align 8, !tbaa !14
  %173 = getelementptr inbounds %"class.std::initializer_list.88", ptr %27, i32 0, i32 0
  store ptr %28, ptr %173, align 8, !tbaa !16
  %174 = getelementptr inbounds %"class.std::initializer_list.88", ptr %27, i32 0, i32 1
  store i64 2, ptr %174, align 8, !tbaa !18
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %175 unwind label %202

175:                                              ; preds = %171
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %29) #8
  %176 = load i64, ptr %20, align 8, !tbaa !14
  %177 = icmp eq i64 %176, 0
  br i1 %177, label %178, label %182

178:                                              ; preds = %175
  %179 = getelementptr inbounds %"class.ngraph::op::v0::BatchMatMulTranspose", ptr %68, i32 0, i32 1
  %180 = load i8, ptr %179, align 8, !tbaa !19, !range !74, !noundef !75
  %181 = trunc i8 %180 to i1
  br label %186

182:                                              ; preds = %175
  %183 = getelementptr inbounds %"class.ngraph::op::v0::BatchMatMulTranspose", ptr %68, i32 0, i32 2
  %184 = load i8, ptr %183, align 1, !tbaa !76, !range !74, !noundef !75
  %185 = trunc i8 %184 to i1
  br label %186

186:                                              ; preds = %182, %178
  %187 = phi i1 [ %181, %178 ], [ %185, %182 ]
  %188 = zext i1 %187 to i8
  store i8 %188, ptr %29, align 1, !tbaa !77
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #8
  store i64 0, ptr %30, align 8, !tbaa !14
  br label %189

189:                                              ; preds = %251, %186
  %190 = load i64, ptr %30, align 8, !tbaa !14
  %191 = load i64, ptr %18, align 8, !tbaa !14
  %192 = icmp ult i64 %190, %191
  br i1 %192, label %206, label %193

193:                                              ; preds = %189
  store i32 9, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  br label %309

194:                                              ; preds = %154, %151
  %195 = landingpad { ptr, i32 }
          cleanup
  %196 = extractvalue { ptr, i32 } %195, 0
  store ptr %196, ptr %8, align 8
  %197 = extractvalue { ptr, i32 } %195, 1
  store i32 %197, ptr %9, align 4
  br label %315

198:                                              ; preds = %161, %157, %155
  %199 = landingpad { ptr, i32 }
          cleanup
  %200 = extractvalue { ptr, i32 } %199, 0
  store ptr %200, ptr %8, align 8
  %201 = extractvalue { ptr, i32 } %199, 1
  store i32 %201, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  br label %314

202:                                              ; preds = %171, %167, %165
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %8, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  br label %313

206:                                              ; preds = %189
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %32) #8
  %207 = load i64, ptr %20, align 8, !tbaa !14
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %32, ptr noundef nonnull align 8 dereferenceable(680) %68, i64 noundef %207)
          to label %208 unwind label %254

208:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #8
  %209 = load i64, ptr %30, align 8, !tbaa !14
  store i64 %209, ptr %35, align 8, !tbaa !14
  %210 = getelementptr inbounds i64, ptr %35, i64 1
  store i64 0, ptr %210, align 8, !tbaa !14
  %211 = getelementptr inbounds i64, ptr %35, i64 2
  store i64 0, ptr %211, align 8, !tbaa !14
  %212 = getelementptr inbounds %"class.std::initializer_list.88", ptr %34, i32 0, i32 0
  store ptr %35, ptr %212, align 8, !tbaa !16
  %213 = getelementptr inbounds %"class.std::initializer_list.88", ptr %34, i32 0, i32 1
  store i64 3, ptr %213, align 8, !tbaa !18
  invoke void @_ZN6ngraph10CoordinateC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %214 unwind label %258

214:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #8
  %215 = load i64, ptr %30, align 8, !tbaa !14
  %216 = add i64 %215, 1
  store i64 %216, ptr %38, align 8, !tbaa !14
  %217 = getelementptr inbounds i64, ptr %38, i64 1
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef 1)
          to label %219 unwind label %262

219:                                              ; preds = %214
  %220 = load i64, ptr %218, align 8, !tbaa !14
  store i64 %220, ptr %217, align 8, !tbaa !14
  %221 = getelementptr inbounds i64, ptr %38, i64 2
  %222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef 2)
          to label %223 unwind label %262

223:                                              ; preds = %219
  %224 = load i64, ptr %222, align 8, !tbaa !14
  store i64 %224, ptr %221, align 8, !tbaa !14
  %225 = getelementptr inbounds %"class.std::initializer_list.88", ptr %37, i32 0, i32 0
  store ptr %38, ptr %225, align 8, !tbaa !16
  %226 = getelementptr inbounds %"class.std::initializer_list.88", ptr %37, i32 0, i32 1
  store i64 3, ptr %226, align 8, !tbaa !18
  invoke void @_ZN6ngraph10CoordinateC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %227 unwind label %262

227:                                              ; preds = %223
  invoke void @_ZSt11make_sharedIN6ngraph2op2v05SliceEJNS0_6OutputINS0_4NodeEEENS0_10CoordinateES7_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.89") align 8 %31, ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %228 unwind label %266

228:                                              ; preds = %227
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #8
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %42) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %42, ptr align 8 @constinit, i64 24, i1 false), !tbaa.struct !78
  %229 = getelementptr inbounds %"class.std::initializer_list.88", ptr %41, i32 0, i32 0
  store ptr %42, ptr %229, align 8, !tbaa !16
  %230 = getelementptr inbounds %"class.std::initializer_list.88", ptr %41, i32 0, i32 1
  store i64 3, ptr %230, align 8, !tbaa !18
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %231 unwind label %273

231:                                              ; preds = %228
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_5SliceEENS0_10AxisVectorERKNS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.92") align 8 %39, ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %23)
          to label %232 unwind label %277

232:                                              ; preds = %231
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #8
  %233 = load i8, ptr %29, align 1, !tbaa !77, !range !74, !noundef !75
  %234 = trunc i8 %233 to i1
  store i1 false, ptr %46, align 1
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #8
  store i1 false, ptr %49, align 1
  br i1 %234, label %235, label %241

235:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #8
  store i1 true, ptr %46, align 1
  store i64 1, ptr %48, align 8, !tbaa !14
  %236 = getelementptr inbounds i64, ptr %48, i64 1
  store i64 0, ptr %236, align 8, !tbaa !14
  %237 = getelementptr inbounds %"class.std::initializer_list.88", ptr %47, i32 0, i32 0
  store ptr %48, ptr %237, align 8, !tbaa !16
  %238 = getelementptr inbounds %"class.std::initializer_list.88", ptr %47, i32 0, i32 1
  store i64 2, ptr %238, align 8, !tbaa !18
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %239 unwind label %282

239:                                              ; preds = %235
  store i1 true, ptr %49, align 1
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrIS3_ENS0_10AxisVectorERKNS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.92") align 8 %44, ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %26)
          to label %240 unwind label %286

240:                                              ; preds = %239
  br label %242

241:                                              ; preds = %232
  call void @_ZNSt10shared_ptrIN6ngraph2op2v07ReshapeEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %44, ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  br label %242

242:                                              ; preds = %241, %240
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %243 unwind label %290

243:                                              ; preds = %242
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %244 unwind label %294

244:                                              ; preds = %243
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #8
  %245 = load i1, ptr %49, align 1
  br i1 %245, label %246, label %247

246:                                              ; preds = %244
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  br label %247

247:                                              ; preds = %246, %244
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  %248 = load i1, ptr %46, align 1
  br i1 %248, label %249, label %250

249:                                              ; preds = %247
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  br label %250

250:                                              ; preds = %249, %247
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v05SliceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  br label %251

251:                                              ; preds = %250
  %252 = load i64, ptr %30, align 8, !tbaa !14
  %253 = add i64 %252, 1
  store i64 %253, ptr %30, align 8, !tbaa !14
  br label %189, !llvm.loop !80

254:                                              ; preds = %206
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %8, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %9, align 4
  br label %272

258:                                              ; preds = %208
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %8, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %9, align 4
  br label %271

262:                                              ; preds = %223, %219, %214
  %263 = landingpad { ptr, i32 }
          cleanup
  %264 = extractvalue { ptr, i32 } %263, 0
  store ptr %264, ptr %8, align 8
  %265 = extractvalue { ptr, i32 } %263, 1
  store i32 %265, ptr %9, align 4
  br label %270

266:                                              ; preds = %227
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %8, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %9, align 4
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  br label %270

270:                                              ; preds = %266, %262
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #8
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  br label %271

271:                                              ; preds = %270, %258
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #8
  br label %272

272:                                              ; preds = %271, %254
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #8
  br label %308

273:                                              ; preds = %228
  %274 = landingpad { ptr, i32 }
          cleanup
  %275 = extractvalue { ptr, i32 } %274, 0
  store ptr %275, ptr %8, align 8
  %276 = extractvalue { ptr, i32 } %274, 1
  store i32 %276, ptr %9, align 4
  br label %281

277:                                              ; preds = %231
  %278 = landingpad { ptr, i32 }
          cleanup
  %279 = extractvalue { ptr, i32 } %278, 0
  store ptr %279, ptr %8, align 8
  %280 = extractvalue { ptr, i32 } %278, 1
  store i32 %280, ptr %9, align 4
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  br label %281

281:                                              ; preds = %277, %273
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  br label %307

282:                                              ; preds = %235
  %283 = landingpad { ptr, i32 }
          cleanup
  %284 = extractvalue { ptr, i32 } %283, 0
  store ptr %284, ptr %8, align 8
  %285 = extractvalue { ptr, i32 } %283, 1
  store i32 %285, ptr %9, align 4
  br label %303

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

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

294:                                              ; preds = %243
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %8, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %9, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  br label %298

298:                                              ; preds = %294, %290
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #8
  br label %299

299:                                              ; preds = %298, %286
  %300 = load i1, ptr %49, align 1
  br i1 %300, label %301, label %302

301:                                              ; preds = %299
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  br label %302

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

303:                                              ; preds = %302, %282
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  %304 = load i1, ptr %46, align 1
  br i1 %304, label %305, label %306

305:                                              ; preds = %303
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  br label %306

306:                                              ; preds = %305, %303
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  br label %307

307:                                              ; preds = %306, %281
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v05SliceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #8
  br label %308

308:                                              ; preds = %307, %272
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  br label %313

309:                                              ; preds = %193
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  br label %310

310:                                              ; preds = %309
  %311 = load i64, ptr %20, align 8, !tbaa !14
  %312 = add i64 %311, 1
  store i64 %312, ptr %20, align 8, !tbaa !14
  br label %143, !llvm.loop !82

313:                                              ; preds = %308, %202
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  br label %314

314:                                              ; preds = %313, %198
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  br label %315

315:                                              ; preds = %314, %194
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  br label %435

316:                                              ; preds = %146
  call void @llvm.lifetime.start.p0(i64 24, ptr %50) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #8
  store i64 0, ptr %51, align 8, !tbaa !14
  br label %317

317:                                              ; preds = %352, %316
  %318 = load i64, ptr %51, align 8, !tbaa !14
  %319 = load i64, ptr %18, align 8, !tbaa !14
  %320 = icmp ult i64 %318, %319
  br i1 %320, label %322, label %321

321:                                              ; preds = %317
  store i32 12, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #8
  br label %389

322:                                              ; preds = %317
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #8
  %323 = load i64, ptr %51, align 8, !tbaa !14
  %324 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %323) #8
  %325 = load i64, ptr %51, align 8, !tbaa !14
  %326 = load i64, ptr %18, align 8, !tbaa !14
  %327 = add i64 %325, %326
  %328 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %327) #8
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRNS0_6OutputINS0_4NodeEEES7_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.95") align 8 %52, ptr noundef nonnull align 8 dereferenceable(24) %324, ptr noundef nonnull align 8 dereferenceable(24) %328)
          to label %329 unwind label %355

329:                                              ; preds = %322
  call void @llvm.lifetime.start.p0(i64 24, ptr %53) #8
  %330 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %52) #8
  %331 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %330, i64 noundef 0)
          to label %332 unwind label %359

332:                                              ; preds = %329
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %331)
          to label %333 unwind label %359

333:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #8
  store i64 0, ptr %57, align 8, !tbaa !14
  %334 = getelementptr inbounds i64, ptr %57, i64 1
  store i64 1, ptr %334, align 8, !tbaa !14
  %335 = getelementptr inbounds %"class.std::initializer_list.88", ptr %56, i32 0, i32 0
  store ptr %57, ptr %335, align 8, !tbaa !16
  %336 = getelementptr inbounds %"class.std::initializer_list.88", ptr %56, i32 0, i32 1
  store i64 2, ptr %336, align 8, !tbaa !18
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %337 unwind label %363

337:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 24, ptr %58) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %60) #8
  store i64 1, ptr %60, align 8, !tbaa !14
  %338 = getelementptr inbounds i64, ptr %60, i64 1
  %339 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef 0)
          to label %340 unwind label %367

340:                                              ; preds = %337
  %341 = load i64, ptr %339, align 8, !tbaa !14
  store i64 %341, ptr %338, align 8, !tbaa !14
  %342 = getelementptr inbounds i64, ptr %60, i64 2
  %343 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef 1)
          to label %344 unwind label %367

344:                                              ; preds = %340
  %345 = load i64, ptr %343, align 8, !tbaa !14
  store i64 %345, ptr %342, align 8, !tbaa !14
  %346 = getelementptr inbounds %"class.std::initializer_list.88", ptr %59, i32 0, i32 0
  store ptr %60, ptr %346, align 8, !tbaa !16
  %347 = getelementptr inbounds %"class.std::initializer_list.88", ptr %59, i32 0, i32 1
  store i64 3, ptr %347, align 8, !tbaa !18
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %348 unwind label %367

348:                                              ; preds = %344
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_3DotEENS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.92") align 8 %54, ptr noundef nonnull align 8 dereferenceable(16) %52, ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(24) %58)
          to label %349 unwind label %371

349:                                              ; preds = %348
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #8
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %61) #8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %350 unwind label %377

350:                                              ; preds = %349
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 8 dereferenceable(24) %61)
          to label %351 unwind label %381

351:                                              ; preds = %350
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %52) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #8
  br label %352

352:                                              ; preds = %351
  %353 = load i64, ptr %51, align 8, !tbaa !14
  %354 = add i64 %353, 1
  store i64 %354, ptr %51, align 8, !tbaa !14
  br label %317, !llvm.loop !83

355:                                              ; preds = %322
  %356 = landingpad { ptr, i32 }
          cleanup
  %357 = extractvalue { ptr, i32 } %356, 0
  store ptr %357, ptr %8, align 8
  %358 = extractvalue { ptr, i32 } %356, 1
  store i32 %358, ptr %9, align 4
  br label %388

359:                                              ; preds = %332, %329
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %8, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %9, align 4
  br label %387

363:                                              ; preds = %333
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %8, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %9, align 4
  br label %376

367:                                              ; preds = %344, %340, %337
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %8, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %9, align 4
  br label %375

371:                                              ; preds = %348
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %8, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %9, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #8
  br label %375

375:                                              ; preds = %371, %367
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #8
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #8
  br label %376

376:                                              ; preds = %375, %363
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #8
  br label %386

377:                                              ; preds = %349
  %378 = landingpad { ptr, i32 }
          cleanup
  %379 = extractvalue { ptr, i32 } %378, 0
  store ptr %379, ptr %8, align 8
  %380 = extractvalue { ptr, i32 } %378, 1
  store i32 %380, ptr %9, align 4
  br label %385

381:                                              ; preds = %350
  %382 = landingpad { ptr, i32 }
          cleanup
  %383 = extractvalue { ptr, i32 } %382, 0
  store ptr %383, ptr %8, align 8
  %384 = extractvalue { ptr, i32 } %382, 1
  store i32 %384, ptr %9, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #8
  br label %385

385:                                              ; preds = %381, %377
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #8
  br label %386

386:                                              ; preds = %385, %376
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  br label %387

387:                                              ; preds = %386, %359
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %52) #8
  br label %388

388:                                              ; preds = %387, %355
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #8
  br label %434

389:                                              ; preds = %321
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #8
  store i32 0, ptr %63, align 4, !tbaa !84
  invoke void @_ZSt11make_sharedIN6ngraph2op2v06ConcatEJRSt6vectorINS0_6OutputINS0_4NodeEEESaIS7_EEiEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.98") align 8 %62, ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %390 unwind label %406

390:                                              ; preds = %389
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #8
  store ptr %65, ptr %66, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v06ConcatEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(16) %62)
          to label %391 unwind label %410

391:                                              ; preds = %390
  %392 = getelementptr inbounds %"class.std::initializer_list", ptr %64, i32 0, i32 0
  store ptr %65, ptr %392, align 8, !tbaa !85
  %393 = getelementptr inbounds %"class.std::initializer_list", ptr %64, i32 0, i32 1
  store i64 1, ptr %393, align 8, !tbaa !87
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  %394 = getelementptr inbounds { ptr, i64 }, ptr %64, i32 0, i32 0
  %395 = load ptr, ptr %394, align 8
  %396 = getelementptr inbounds { ptr, i64 }, ptr %64, i32 0, i32 1
  %397 = load i64, ptr %396, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %395, i64 %397, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %398 unwind label %421

398:                                              ; preds = %391
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #8
  %399 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %65, i32 0, i32 0
  %400 = getelementptr inbounds %"class.ngraph::Output", ptr %399, i64 1
  br label %401

401:                                              ; preds = %401, %398
  %402 = phi ptr [ %400, %398 ], [ %403, %401 ]
  %403 = getelementptr inbounds %"class.ngraph::Output", ptr %402, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %403) #8
  %404 = icmp eq ptr %403, %399
  br i1 %404, label %405, label %401

405:                                              ; preds = %401
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #8
  store i32 1, ptr %21, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #8
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #8
  ret void

406:                                              ; preds = %389
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %8, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #8
  br label %433

410:                                              ; preds = %390
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %8, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %9, align 4
  %414 = load ptr, ptr %66, align 8
  %415 = icmp eq ptr %65, %414
  br i1 %415, label %420, label %416

416:                                              ; preds = %416, %410
  %417 = phi ptr [ %414, %410 ], [ %418, %416 ]
  %418 = getelementptr inbounds %"class.ngraph::Output", ptr %417, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %418) #8
  %419 = icmp eq ptr %418, %65
  br i1 %419, label %420, label %416

420:                                              ; preds = %416, %410
  br label %432

421:                                              ; preds = %391
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %8, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #8
  %425 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %65, i32 0, i32 0
  %426 = getelementptr inbounds %"class.ngraph::Output", ptr %425, i64 1
  br label %427

427:                                              ; preds = %427, %421
  %428 = phi ptr [ %426, %421 ], [ %429, %427 ]
  %429 = getelementptr inbounds %"class.ngraph::Output", ptr %428, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %429) #8
  %430 = icmp eq ptr %429, %425
  br i1 %430, label %431, label %427

431:                                              ; preds = %427
  br label %432

432:                                              ; preds = %431, %420
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #8
  br label %433

433:                                              ; preds = %432, %406
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #8
  br label %434

434:                                              ; preds = %433, %388
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #8
  br label %435

435:                                              ; preds = %434, %315
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #8
  br label %436

436:                                              ; preds = %435, %147
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  br label %437

437:                                              ; preds = %436, %135, %101
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #8
  br label %438

438:                                              ; preds = %437
  %439 = load ptr, ptr %8, align 8
  %440 = load i32, ptr %9, align 4
  %441 = insertvalue { ptr, i32 } poison, ptr %439, 0
  %442 = insertvalue { ptr, i32 } %441, i32 %440, 1
  resume { ptr, i32 } %442

443:                                              ; preds = %118, %84
  unreachable
}

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

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

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

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

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

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

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

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

declare void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


; 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::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.83" }
%"class.std::vector.83" = type { %"struct.std::_Vector_base.84" }
%"struct.std::_Vector_base.84" = 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.88" = type { ptr, i64 }
%"class.std::shared_ptr.89" = type { %"class.std::__shared_ptr.90" }
%"class.std::__shared_ptr.90" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Coordinate" = type { %"class.std::vector.83" }
%"class.std::shared_ptr.92" = type { %"class.std::__shared_ptr.93" }
%"class.std::__shared_ptr.93" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::AxisVector" = type { %"class.std::vector.83" }
%"class.std::shared_ptr.95" = type { %"class.std::__shared_ptr.96" }
%"class.std::__shared_ptr.96" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.98" = type { %"class.std::__shared_ptr.99" }
%"class.std::__shared_ptr.99" = type { ptr, %"class.std::__shared_count" }
%"class.std::allocator.71" = type { i8 }

@.str = external hidden unnamed_addr constant [61 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [26 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.3 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [26 x i8], align 1
@constinit = external hidden local_unnamed_addr constant [3 x i64], align 8

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v020BatchMatMulTranspose12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.69") align 8 %0, ptr noundef nonnull align 8 dereferenceable(682) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %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.std::__cxx11::basic_stringstream", align 8
  %7 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.ngraph::Shape", align 8
  %10 = alloca %"class.std::vector.69", align 8
  %11 = alloca %"class.ngraph::Shape", align 8
  %12 = alloca %"class.ngraph::Shape", align 8
  %13 = alloca %"class.std::initializer_list.88", align 8
  %14 = alloca [2 x i64], align 8
  %15 = alloca %"class.ngraph::Shape", align 8
  %16 = alloca %"class.std::initializer_list.88", align 8
  %17 = alloca [2 x i64], align 8
  %18 = alloca %"class.std::shared_ptr.89", align 8
  %19 = alloca %"class.ngraph::Output", align 8
  %20 = alloca %"class.ngraph::Coordinate", align 8
  %21 = alloca %"class.std::initializer_list.88", align 8
  %22 = alloca [3 x i64], align 8
  %23 = alloca %"class.ngraph::Coordinate", align 8
  %24 = alloca %"class.std::initializer_list.88", align 8
  %25 = alloca [3 x i64], align 8
  %26 = alloca %"class.std::shared_ptr.92", align 8
  %27 = alloca %"class.ngraph::AxisVector", align 8
  %28 = alloca %"class.std::initializer_list.88", align 8
  %29 = alloca [3 x i64], align 8
  %30 = alloca %"class.ngraph::Output", align 8
  %31 = alloca %"class.std::shared_ptr.92", align 8
  %32 = alloca %"class.ngraph::AxisVector", align 8
  %33 = alloca %"class.std::initializer_list.88", align 8
  %34 = alloca [2 x i64], align 8
  %35 = alloca %"class.std::vector.69", align 8
  %36 = alloca %"class.std::shared_ptr.95", align 8
  %37 = alloca %"class.ngraph::Shape", align 8
  %38 = alloca %"class.std::shared_ptr.92", align 8
  %39 = alloca %"class.ngraph::AxisVector", align 8
  %40 = alloca %"class.std::initializer_list.88", align 8
  %41 = alloca [2 x i64], align 8
  %42 = alloca %"class.ngraph::Shape", align 8
  %43 = alloca %"class.std::initializer_list.88", align 8
  %44 = alloca [3 x i64], align 8
  %45 = alloca %"class.ngraph::Output", align 8
  %46 = alloca %"class.std::shared_ptr.98", align 8
  %47 = alloca i32, align 4
  %48 = alloca [1 x %"class.ngraph::Output"], align 8
  %49 = alloca %"class.std::allocator.71", align 1
  %50 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 0)
  %51 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
  %52 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %50)
  br i1 %52, label %53, label %70

53:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %3) #9
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3)
  %54 = getelementptr inbounds i8, ptr %3, i64 16
  %55 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA61_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 1 dereferenceable(61) @.str, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %56 unwind label %63

56:                                               ; preds = %53
  %57 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #9
  store ptr @.str.1, ptr %4, align 8, !tbaa !5
  %58 = getelementptr inbounds i8, ptr %4, i64 8
  store i32 50, ptr %58, align 8, !tbaa !11
  %59 = getelementptr inbounds i8, ptr %4, i64 16
  store ptr @.str.2, ptr %59, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #9
  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 %60 unwind label %.thread

60:                                               ; preds = %56
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %57, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %62 unwind label %.thread110

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

62:                                               ; preds = %60
  invoke void @__cxa_throw(ptr nonnull %57, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %267 unwind label %66

63:                                               ; preds = %53
  %64 = landingpad { ptr, i32 }
          cleanup
  br label %69

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

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

68:                                               ; preds = %.thread110, %.thread
  %.pn103109 = phi { ptr, i32 } [ %65, %.thread ], [ %61, %.thread110 ]
  call void @__cxa_free_exception(ptr %57) #9
  br label %69

69:                                               ; preds = %66, %68, %63
  %.pn103.pn = phi { ptr, i32 } [ %.pn103109, %68 ], [ %67, %66 ], [ %64, %63 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3) #9
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %3) #9
  br label %266

70:                                               ; preds = %2
  %71 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %51)
  br i1 %71, label %72, label %89

72:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %6) #9
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6)
  %73 = getelementptr inbounds i8, ptr %6, i64 16
  %74 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA61_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull align 1 dereferenceable(61) @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %75 unwind label %82

75:                                               ; preds = %72
  %76 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #9
  store ptr @.str.1, ptr %7, align 8, !tbaa !5
  %77 = getelementptr inbounds i8, ptr %7, i64 8
  store i32 55, ptr %77, align 8, !tbaa !11
  %78 = getelementptr inbounds i8, ptr %7, i64 16
  store ptr @.str.4, ptr %78, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(128) %6)
          to label %79 unwind label %.thread112

79:                                               ; preds = %75
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %76, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %81 unwind label %.thread116

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

81:                                               ; preds = %79
  invoke void @__cxa_throw(ptr nonnull %76, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %267 unwind label %85

82:                                               ; preds = %72
  %83 = landingpad { ptr, i32 }
          cleanup
  br label %88

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

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

87:                                               ; preds = %.thread116, %.thread112
  %.pn100115 = phi { ptr, i32 } [ %84, %.thread112 ], [ %80, %.thread116 ]
  call void @__cxa_free_exception(ptr %76) #9
  br label %88

88:                                               ; preds = %85, %87, %82
  %.pn100.pn = phi { ptr, i32 } [ %.pn100115, %87 ], [ %86, %85 ], [ %83, %82 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6) #9
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %6) #9
  br label %266

89:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #9
  %90 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 0)
  call void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %90)
  %91 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef 0)
          to label %92 unwind label %107

92:                                               ; preds = %89
  %93 = load i64, ptr %91, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #9
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  %94 = getelementptr inbounds i8, ptr %14, i64 8
  %95 = getelementptr inbounds i8, ptr %13, i64 8
  %96 = getelementptr inbounds i8, ptr %17, i64 8
  %97 = getelementptr inbounds i8, ptr %16, i64 8
  %.not = icmp eq i64 %93, 0
  %98 = getelementptr inbounds i8, ptr %22, i64 8
  %99 = getelementptr inbounds i8, ptr %21, i64 8
  %100 = getelementptr inbounds i8, ptr %25, i64 8
  %101 = getelementptr inbounds i8, ptr %25, i64 16
  %102 = getelementptr inbounds i8, ptr %24, i64 8
  %103 = getelementptr inbounds i8, ptr %28, i64 8
  %104 = getelementptr inbounds i8, ptr %34, i64 8
  %105 = getelementptr inbounds i8, ptr %33, i64 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #9
  %106 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 0)
          to label %109 unwind label %170

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

109:                                              ; preds = %92
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %106)
          to label %110 unwind label %170

110:                                              ; preds = %109
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #9
  %111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 1)
          to label %112 unwind label %172

112:                                              ; preds = %110
  %113 = load i64, ptr %111, align 8, !tbaa !13
  store i64 %113, ptr %14, align 8, !tbaa !13
  %114 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 2)
          to label %115 unwind label %172

115:                                              ; preds = %112
  %116 = load i64, ptr %114, align 8, !tbaa !13
  store i64 %116, ptr %94, align 8, !tbaa !13
  store ptr %14, ptr %13, align 8, !tbaa !15
  store i64 2, ptr %95, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(16) %13)
          to label %117 unwind label %172

117:                                              ; preds = %115
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #9
  %118 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 2)
          to label %119 unwind label %174

119:                                              ; preds = %117
  %120 = load i64, ptr %118, align 8, !tbaa !13
  store i64 %120, ptr %17, align 8, !tbaa !13
  %121 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 1)
          to label %122 unwind label %174

122:                                              ; preds = %119
  %123 = load i64, ptr %121, align 8, !tbaa !13
  store i64 %123, ptr %96, align 8, !tbaa !13
  store ptr %17, ptr %16, align 8, !tbaa !15
  store i64 2, ptr %97, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %124 unwind label %174

124:                                              ; preds = %122
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #9
  %.in.in = getelementptr inbounds i8, ptr %1, i64 680
  %.in = load i8, ptr %.in.in, align 8, !tbaa !18, !range !20, !noundef !21
  %125 = trunc nuw i8 %.in to i1
  br i1 %.not, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %196, %124
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #9
  %126 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node15get_input_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
          to label %127 unwind label %170

127:                                              ; preds = %._crit_edge
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %126)
          to label %128 unwind label %170

128:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #9
  %129 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 1)
          to label %130 unwind label %172

130:                                              ; preds = %128
  %131 = load i64, ptr %129, align 8, !tbaa !13
  store i64 %131, ptr %14, align 8, !tbaa !13
  %132 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 2)
          to label %133 unwind label %172

133:                                              ; preds = %130
  %134 = load i64, ptr %132, align 8, !tbaa !13
  store i64 %134, ptr %94, align 8, !tbaa !13
  store ptr %14, ptr %13, align 8, !tbaa !15
  store i64 2, ptr %95, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(16) %13)
          to label %135 unwind label %172

135:                                              ; preds = %133
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #9
  %136 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 2)
          to label %137 unwind label %174

137:                                              ; preds = %135
  %138 = load i64, ptr %136, align 8, !tbaa !13
  store i64 %138, ptr %17, align 8, !tbaa !13
  %139 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 1)
          to label %140 unwind label %174

140:                                              ; preds = %137
  %141 = load i64, ptr %139, align 8, !tbaa !13
  store i64 %141, ptr %96, align 8, !tbaa !13
  store ptr %17, ptr %16, align 8, !tbaa !15
  store i64 2, ptr %97, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %142 unwind label %174

142:                                              ; preds = %140
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #9
  %.in.in.1 = getelementptr inbounds i8, ptr %1, i64 681
  %.in.1 = load i8, ptr %.in.in.1, align 1, !tbaa !18, !range !20, !noundef !21
  %143 = trunc nuw i8 %.in.1 to i1
  br i1 %.not, label %._crit_edge142.critedge, label %.lr.ph.1

.lr.ph.1:                                         ; preds = %142, %164
  %.066137.1 = phi i64 [ %146, %164 ], [ 0, %142 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #9
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %19, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
          to label %144 unwind label %.loopexit.split-lp

144:                                              ; preds = %.lr.ph.1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #9
  store i64 %.066137.1, ptr %22, align 8, !tbaa !13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %98, i8 0, i64 16, i1 false)
  store ptr %22, ptr %21, align 8, !tbaa !15
  store i64 3, ptr %99, align 8, !tbaa !17
  invoke void @_ZN6ngraph10CoordinateC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %145 unwind label %.loopexit.split-lp156

145:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #9
  %146 = add nuw i64 %.066137.1, 1
  store i64 %146, ptr %25, align 8, !tbaa !13
  %147 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 1)
          to label %148 unwind label %.loopexit.split-lp161

148:                                              ; preds = %145
  %149 = load i64, ptr %147, align 8, !tbaa !13
  store i64 %149, ptr %100, align 8, !tbaa !13
  %150 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 2)
          to label %151 unwind label %.loopexit.split-lp161

151:                                              ; preds = %148
  %152 = load i64, ptr %150, align 8, !tbaa !13
  store i64 %152, ptr %101, align 8, !tbaa !13
  store ptr %25, ptr %24, align 8, !tbaa !15
  store i64 3, ptr %102, align 8, !tbaa !17
  invoke void @_ZN6ngraph10CoordinateC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %153 unwind label %.loopexit.split-lp161

153:                                              ; preds = %151
  invoke void @_ZSt11make_sharedIN6ngraph2op2v05SliceEJNS0_6OutputINS0_4NodeEEENS0_10CoordinateES7_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.89") align 8 %18, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %23)
          to label %154 unwind label %.loopexit.split-lp166

154:                                              ; preds = %153
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #9
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #9
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) @constinit, i64 24, i1 false), !tbaa.struct !22
  store ptr %29, ptr %28, align 8, !tbaa !15
  store i64 3, ptr %103, align 8, !tbaa !17
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %155 unwind label %.loopexit.split-lp171

155:                                              ; preds = %154
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_5SliceEENS0_10AxisVectorERKNS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.92") align 8 %26, ptr noundef nonnull align 8 dereferenceable(16) %18, ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %156 unwind label %.loopexit.split-lp176

156:                                              ; preds = %155
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %33) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #9
  br i1 %143, label %158, label %157

157:                                              ; preds = %156
  call void @_ZNSt10shared_ptrIN6ngraph2op2v07ReshapeEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 8 dereferenceable(16) %26) #9
  br label %160

158:                                              ; preds = %156
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #9
  store i64 1, ptr %34, align 8, !tbaa !13
  store i64 0, ptr %104, align 8, !tbaa !13
  store ptr %34, ptr %33, align 8, !tbaa !15
  store i64 2, ptr %105, align 8, !tbaa !17
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %159 unwind label %.loopexit.split-lp181

159:                                              ; preds = %158
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrIS3_ENS0_10AxisVectorERKNS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.92") align 8 %31, ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %160 unwind label %.thread118.loopexit.split-lp

160:                                              ; preds = %159, %157
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %161 unwind label %204

161:                                              ; preds = %160
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %162 unwind label %.loopexit.split-lp195

162:                                              ; preds = %161
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #9
  br i1 %143, label %163, label %.critedge.1

.critedge.1:                                      ; preds = %162
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #9
  br label %164

163:                                              ; preds = %162
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #9
  br label %164

164:                                              ; preds = %163, %.critedge.1
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v05SliceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #9
  %exitcond.1.not = icmp eq i64 %146, %93
  br i1 %exitcond.1.not, label %._crit_edge.1, label %.lr.ph.1, !llvm.loop !24

._crit_edge.1:                                    ; preds = %164
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #9
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #9
  %165 = getelementptr inbounds i8, ptr %41, i64 8
  %166 = getelementptr inbounds i8, ptr %40, i64 8
  %167 = getelementptr inbounds i8, ptr %44, i64 8
  %168 = getelementptr inbounds i8, ptr %44, i64 16
  %169 = getelementptr inbounds i8, ptr %43, i64 8
  br label %213

170:                                              ; preds = %127, %._crit_edge, %109, %92
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %212

172:                                              ; preds = %133, %130, %128, %115, %112, %110
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #9
  br label %211

174:                                              ; preds = %140, %137, %135, %122, %119, %117
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #9
  br label %210

.lr.ph:                                           ; preds = %124, %196
  %.066137 = phi i64 [ %178, %196 ], [ 0, %124 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #9
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %19, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 0)
          to label %176 unwind label %.loopexit154

176:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #9
  store i64 %.066137, ptr %22, align 8, !tbaa !13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %98, i8 0, i64 16, i1 false)
  store ptr %22, ptr %21, align 8, !tbaa !15
  store i64 3, ptr %99, align 8, !tbaa !17
  invoke void @_ZN6ngraph10CoordinateC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %177 unwind label %.loopexit155

177:                                              ; preds = %176
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #9
  %178 = add nuw i64 %.066137, 1
  store i64 %178, ptr %25, align 8, !tbaa !13
  %179 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 1)
          to label %180 unwind label %.loopexit160

180:                                              ; preds = %177
  %181 = load i64, ptr %179, align 8, !tbaa !13
  store i64 %181, ptr %100, align 8, !tbaa !13
  %182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 2)
          to label %183 unwind label %.loopexit160

183:                                              ; preds = %180
  %184 = load i64, ptr %182, align 8, !tbaa !13
  store i64 %184, ptr %101, align 8, !tbaa !13
  store ptr %25, ptr %24, align 8, !tbaa !15
  store i64 3, ptr %102, align 8, !tbaa !17
  invoke void @_ZN6ngraph10CoordinateC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %185 unwind label %.loopexit160

185:                                              ; preds = %183
  invoke void @_ZSt11make_sharedIN6ngraph2op2v05SliceEJNS0_6OutputINS0_4NodeEEENS0_10CoordinateES7_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.89") align 8 %18, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %23)
          to label %186 unwind label %.loopexit165

186:                                              ; preds = %185
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #9
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #9
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) @constinit, i64 24, i1 false), !tbaa.struct !22
  store ptr %29, ptr %28, align 8, !tbaa !15
  store i64 3, ptr %103, align 8, !tbaa !17
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %187 unwind label %.loopexit170

187:                                              ; preds = %186
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_5SliceEENS0_10AxisVectorERKNS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.92") align 8 %26, ptr noundef nonnull align 8 dereferenceable(16) %18, ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %188 unwind label %.loopexit175

188:                                              ; preds = %187
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %33) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #9
  br i1 %125, label %189, label %191

189:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #9
  store i64 1, ptr %34, align 8, !tbaa !13
  store i64 0, ptr %104, align 8, !tbaa !13
  store ptr %34, ptr %33, align 8, !tbaa !15
  store i64 2, ptr %105, align 8, !tbaa !17
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %190 unwind label %.loopexit180

190:                                              ; preds = %189
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrIS3_ENS0_10AxisVectorERKNS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESC_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.92") align 8 %31, ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %192 unwind label %.thread118.loopexit

191:                                              ; preds = %188
  call void @_ZNSt10shared_ptrIN6ngraph2op2v07ReshapeEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 8 dereferenceable(16) %26) #9
  br label %192

192:                                              ; preds = %190, %191
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %193 unwind label %.loopexit188

193:                                              ; preds = %192
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %194 unwind label %.loopexit194

194:                                              ; preds = %193
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #9
  br i1 %125, label %195, label %.critedge

195:                                              ; preds = %194
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #9
  br label %196

.critedge:                                        ; preds = %194
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #9
  br label %196

196:                                              ; preds = %.critedge, %195
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v05SliceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #9
  %exitcond.not = icmp eq i64 %178, %93
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !24

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

.loopexit.split-lp:                               ; preds = %.lr.ph.1
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %200

.loopexit155:                                     ; preds = %176
  %lpad.loopexit157 = landingpad { ptr, i32 }
          cleanup
  br label %199

.loopexit.split-lp156:                            ; preds = %144
  %lpad.loopexit.split-lp158 = landingpad { ptr, i32 }
          cleanup
  br label %199

.loopexit160:                                     ; preds = %177, %180, %183
  %lpad.loopexit162 = landingpad { ptr, i32 }
          cleanup
  br label %198

.loopexit.split-lp161:                            ; preds = %145, %148, %151
  %lpad.loopexit.split-lp163 = landingpad { ptr, i32 }
          cleanup
  br label %198

.loopexit165:                                     ; preds = %185
  %lpad.loopexit167 = landingpad { ptr, i32 }
          cleanup
  br label %197

.loopexit.split-lp166:                            ; preds = %153
  %lpad.loopexit.split-lp168 = landingpad { ptr, i32 }
          cleanup
  br label %197

197:                                              ; preds = %.loopexit.split-lp166, %.loopexit165
  %lpad.phi169 = phi { ptr, i32 } [ %lpad.loopexit167, %.loopexit165 ], [ %lpad.loopexit.split-lp168, %.loopexit.split-lp166 ]
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  br label %198

198:                                              ; preds = %.loopexit160, %.loopexit.split-lp161, %197
  %.pn83 = phi { ptr, i32 } [ %lpad.phi169, %197 ], [ %lpad.loopexit162, %.loopexit160 ], [ %lpad.loopexit.split-lp163, %.loopexit.split-lp161 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  call void @_ZN6ngraph10CoordinateD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  br label %199

199:                                              ; preds = %.loopexit155, %.loopexit.split-lp156, %198
  %.pn83.pn = phi { ptr, i32 } [ %.pn83, %198 ], [ %lpad.loopexit157, %.loopexit155 ], [ %lpad.loopexit.split-lp158, %.loopexit.split-lp156 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #9
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  br label %200

200:                                              ; preds = %.loopexit154, %.loopexit.split-lp, %199
  %.pn83.pn.pn = phi { ptr, i32 } [ %.pn83.pn, %199 ], [ %lpad.loopexit, %.loopexit154 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #9
  br label %209

.loopexit170:                                     ; preds = %186
  %lpad.loopexit172 = landingpad { ptr, i32 }
          cleanup
  br label %202

.loopexit.split-lp171:                            ; preds = %154
  %lpad.loopexit.split-lp173 = landingpad { ptr, i32 }
          cleanup
  br label %202

.loopexit175:                                     ; preds = %187
  %lpad.loopexit177 = landingpad { ptr, i32 }
          cleanup
  br label %201

.loopexit.split-lp176:                            ; preds = %155
  %lpad.loopexit.split-lp178 = landingpad { ptr, i32 }
          cleanup
  br label %201

201:                                              ; preds = %.loopexit.split-lp176, %.loopexit175
  %lpad.phi179 = phi { ptr, i32 } [ %lpad.loopexit177, %.loopexit175 ], [ %lpad.loopexit.split-lp178, %.loopexit.split-lp176 ]
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #9
  br label %202

202:                                              ; preds = %.loopexit170, %.loopexit.split-lp171, %201
  %.pn87 = phi { ptr, i32 } [ %lpad.phi179, %201 ], [ %lpad.loopexit172, %.loopexit170 ], [ %lpad.loopexit.split-lp173, %.loopexit.split-lp171 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #9
  br label %208

.loopexit180:                                     ; preds = %189
  %lpad.loopexit182 = landingpad { ptr, i32 }
          cleanup
  br label %206

.loopexit.split-lp181:                            ; preds = %158
  %lpad.loopexit.split-lp183 = landingpad { ptr, i32 }
          cleanup
  br label %206

.thread118.loopexit:                              ; preds = %190
  %lpad.loopexit185 = landingpad { ptr, i32 }
          cleanup
  br label %.thread118

.thread118.loopexit.split-lp:                     ; preds = %159
  %lpad.loopexit.split-lp186 = landingpad { ptr, i32 }
          cleanup
  br label %.thread118

.loopexit188:                                     ; preds = %192
  %lpad.loopexit191 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #9
  br i1 %125, label %.thread118, label %205

.loopexit194:                                     ; preds = %193
  %lpad.loopexit197 = landingpad { ptr, i32 }
          cleanup
  br label %203

.loopexit.split-lp195:                            ; preds = %161
  %lpad.loopexit.split-lp198 = landingpad { ptr, i32 }
          cleanup
  br label %203

203:                                              ; preds = %.loopexit.split-lp195, %.loopexit194
  %.lcssa152 = phi i1 [ %125, %.loopexit194 ], [ %143, %.loopexit.split-lp195 ]
  %lpad.phi199 = phi { ptr, i32 } [ %lpad.loopexit197, %.loopexit194 ], [ %lpad.loopexit.split-lp198, %.loopexit.split-lp195 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #9
  br i1 %.lcssa152, label %.thread118, label %205

204:                                              ; preds = %160
  %lpad.loopexit.split-lp192 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #9
  br i1 %143, label %.thread118, label %205

.thread118:                                       ; preds = %.loopexit188, %203, %.thread118.loopexit, %.thread118.loopexit.split-lp, %204
  %.pn89.pn122 = phi { ptr, i32 } [ %lpad.loopexit.split-lp192, %204 ], [ %lpad.loopexit185, %.thread118.loopexit ], [ %lpad.loopexit.split-lp186, %.thread118.loopexit.split-lp ], [ %lpad.phi199, %203 ], [ %lpad.loopexit191, %.loopexit188 ]
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  br label %206

205:                                              ; preds = %.loopexit188, %203, %204
  %.pn89201 = phi { ptr, i32 } [ %lpad.phi199, %203 ], [ %lpad.loopexit.split-lp192, %204 ], [ %lpad.loopexit191, %.loopexit188 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #9
  br label %207

206:                                              ; preds = %.loopexit180, %.loopexit.split-lp181, %.thread118
  %.pn89.pn.pn.ph = phi { ptr, i32 } [ %.pn89.pn122, %.thread118 ], [ %lpad.loopexit182, %.loopexit180 ], [ %lpad.loopexit.split-lp183, %.loopexit.split-lp181 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #9
  br label %207

207:                                              ; preds = %205, %206
  %.pn89.pn.pn126 = phi { ptr, i32 } [ %.pn89.pn.pn.ph, %206 ], [ %.pn89201, %205 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #9
  br label %208

208:                                              ; preds = %207, %202
  %.pn89.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn126, %207 ], [ %.pn87, %202 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v05SliceELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #9
  br label %209

209:                                              ; preds = %208, %200
  %.pn89.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn, %208 ], [ %.pn83.pn.pn, %200 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  br label %210

210:                                              ; preds = %209, %174
  %.pn89.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn.pn, %209 ], [ %175, %174 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  br label %211

211:                                              ; preds = %210, %172
  %.pn89.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn.pn.pn, %210 ], [ %173, %172 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  br label %212

212:                                              ; preds = %211, %170
  %.pn89.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn.pn.pn.pn, %211 ], [ %171, %170 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #9
  br label %264

._crit_edge142.critedge:                          ; preds = %142
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #9
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #9
  br label %._crit_edge142

._crit_edge142:                                   ; preds = %232, %._crit_edge142.critedge
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %46) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #9
  store i32 0, ptr %47, align 4, !tbaa !26
  invoke void @_ZSt11make_sharedIN6ngraph2op2v06ConcatEJRSt6vectorINS0_6OutputINS0_4NodeEEESaIS7_EEiEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.98") align 8 %46, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 4 dereferenceable(4) %47)
          to label %254 unwind label %257

213:                                              ; preds = %._crit_edge.1, %232
  %.060139 = phi i64 [ 0, %._crit_edge.1 ], [ %233, %232 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36) #9
  %214 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %.060139) #9
  %215 = add i64 %.060139, %93
  %216 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %215) #9
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRNS0_6OutputINS0_4NodeEEES7_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESA_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.95") align 8 %36, ptr noundef nonnull align 8 dereferenceable(24) %214, ptr noundef nonnull align 8 dereferenceable(24) %216)
          to label %217 unwind label %234

217:                                              ; preds = %213
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %37) #9
  %218 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %36) #9
  %219 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %218, i64 noundef 0)
          to label %220 unwind label %236

220:                                              ; preds = %217
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(24) %219)
          to label %221 unwind label %236

221:                                              ; preds = %220
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %39) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  store i64 0, ptr %41, align 8, !tbaa !13
  store i64 1, ptr %165, align 8, !tbaa !13
  store ptr %41, ptr %40, align 8, !tbaa !15
  store i64 2, ptr %166, align 8, !tbaa !17
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(16) %40)
          to label %222 unwind label %238

222:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #9
  store i64 1, ptr %44, align 8, !tbaa !13
  %223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef 0)
          to label %224 unwind label %240

224:                                              ; preds = %222
  %225 = load i64, ptr %223, align 8, !tbaa !13
  store i64 %225, ptr %167, align 8, !tbaa !13
  %226 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef 1)
          to label %227 unwind label %240

227:                                              ; preds = %224
  %228 = load i64, ptr %226, align 8, !tbaa !13
  store i64 %228, ptr %168, align 8, !tbaa !13
  store ptr %44, ptr %43, align 8, !tbaa !15
  store i64 3, ptr %169, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(16) %43)
          to label %229 unwind label %240

229:                                              ; preds = %227
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRSt10shared_ptrINS2_3DotEENS0_10AxisVectorENS0_5ShapeEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.92") align 8 %38, ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(24) %42)
          to label %230 unwind label %242

230:                                              ; preds = %229
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #9
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #9
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %231 unwind label %246

231:                                              ; preds = %230
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %232 unwind label %248

232:                                              ; preds = %231
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #9
  %233 = add nuw i64 %.060139, 1
  %exitcond200.not = icmp eq i64 %233, %93
  br i1 %exitcond200.not, label %._crit_edge142, label %213, !llvm.loop !27

234:                                              ; preds = %213
  %235 = landingpad { ptr, i32 }
          cleanup
  br label %253

236:                                              ; preds = %220, %217
  %237 = landingpad { ptr, i32 }
          cleanup
  br label %252

238:                                              ; preds = %221
  %239 = landingpad { ptr, i32 }
          cleanup
  br label %245

240:                                              ; preds = %227, %224, %222
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %244

242:                                              ; preds = %229
  %243 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #9
  br label %244

244:                                              ; preds = %242, %240
  %.pn74 = phi { ptr, i32 } [ %243, %242 ], [ %241, %240 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #9
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #9
  br label %245

245:                                              ; preds = %244, %238
  %.pn74.pn = phi { ptr, i32 } [ %.pn74, %244 ], [ %239, %238 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #9
  br label %251

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

248:                                              ; preds = %231
  %249 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  br label %250

250:                                              ; preds = %248, %246
  %.pn77 = phi { ptr, i32 } [ %249, %248 ], [ %247, %246 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #9
  br label %251

251:                                              ; preds = %250, %245
  %.pn77.pn = phi { ptr, i32 } [ %.pn77, %250 ], [ %.pn74.pn, %245 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  br label %252

252:                                              ; preds = %251, %236
  %.pn77.pn.pn = phi { ptr, i32 } [ %.pn77.pn, %251 ], [ %237, %236 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #9
  br label %253

253:                                              ; preds = %252, %234
  %.pn77.pn.pn.pn = phi { ptr, i32 } [ %.pn77.pn.pn, %252 ], [ %235, %234 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #9
  br label %263

254:                                              ; preds = %._crit_edge142
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #9
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v06ConcatEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(16) %46)
          to label %255 unwind label %259

255:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %49) #9
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #9
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr nonnull %48, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %256 unwind label %.loopexit.loopexit

256:                                              ; preds = %255
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #9
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #9
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #9
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #9
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #9
  ret void

257:                                              ; preds = %._crit_edge142
  %258 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #9
  br label %262

259:                                              ; preds = %254
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit

.loopexit.loopexit:                               ; preds = %255
  %261 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #9
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #9
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit, %259
  %.pn = phi { ptr, i32 } [ %260, %259 ], [ %261, %.loopexit.loopexit ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #9
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v06ConcatELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #9
  br label %262

262:                                              ; preds = %.loopexit, %257
  %.pn.pn = phi { ptr, i32 } [ %.pn, %.loopexit ], [ %258, %257 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #9
  br label %263

263:                                              ; preds = %262, %253
  %.pn77.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn77.pn.pn.pn, %253 ], [ %.pn.pn, %262 ]
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #9
  br label %264

264:                                              ; preds = %263, %212
  %.pn89.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn.pn.pn.pn.pn, %212 ], [ %.pn77.pn.pn.pn.pn, %263 ]
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #9
  br label %265

265:                                              ; preds = %264, %107
  %.pn89.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn89.pn.pn.pn.pn.pn.pn.pn.pn, %264 ], [ %108, %107 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #9
  br label %266

266:                                              ; preds = %265, %88, %69
  %.pn103.pn.pn = phi { ptr, i32 } [ %.pn103.pn, %69 ], [ %.pn100.pn, %88 ], [ %.pn89.pn.pn.pn.pn.pn.pn.pn.pn.pn, %265 ]
  resume { ptr, i32 } %.pn103.pn.pn

267:                                              ; preds = %81, %62
  unreachable
}

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

declare void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTSN6ngraph12CheckLocInfoE", !7, i64 0, !10, i64 8, !7, i64 16}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!6, !10, i64 8}
!12 = !{!6, !7, i64 16}
!13 = !{!14, !14, i64 0}
!14 = !{!"long", !8, i64 0}
!15 = !{!16, !7, i64 0}
!16 = !{!"_ZTSSt16initializer_listImE", !7, i64 0, !14, i64 8}
!17 = !{!16, !14, i64 8}
!18 = !{!19, !19, i64 0}
!19 = !{!"bool", !8, i64 0}
!20 = !{i8 0, i8 2}
!21 = !{}
!22 = !{i64 0, i64 24, !23}
!23 = !{!8, !8, i64 0}
!24 = distinct !{!24, !25}
!25 = !{!"llvm.loop.mustprogress"}
!26 = !{!10, !10, i64 0}
!27 = distinct !{!27, !25}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,SROAPass,SimplifyCFGPass,TailCallElimPass