; 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.77" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.104" = type { ptr, i64 }
%"class.ngraph::element::Type" = type { i32 }
%"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::__shared_count" = type { ptr }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@.str.1 = external hidden unnamed_addr constant [97 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.5 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [62 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

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

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

51:                                               ; preds = %1
  %52 = load ptr, ptr %3, align 8, !tbaa !5
  %53 = load ptr, ptr %4, align 8, !tbaa !5
  %54 = call noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %52, ptr noundef nonnull align 4 dereferenceable(4) %53)
  br i1 %54, label %82, label %55

55:                                               ; preds = %51
  call void @llvm.lifetime.start.p0(i64 392, ptr %5) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5)
  %56 = getelementptr inbounds i8, ptr %5, i64 16
  %57 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA56_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 1 dereferenceable(56) @.str.5)
          to label %58 unwind label %65

58:                                               ; preds = %55
  store i1 true, ptr %10, align 1
  %59 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %8) #8
  %60 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %8, i32 0, i32 0
  store ptr @.str.1, ptr %60, align 8, !tbaa !9
  %61 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %8, i32 0, i32 1
  store i32 113, ptr %61, align 8, !tbaa !12
  %62 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %8, i32 0, i32 2
  store ptr @.str.6, ptr %62, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(128) %5)
          to label %63 unwind label %69

63:                                               ; preds = %58
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %59, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef %48, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %64 unwind label %73

64:                                               ; preds = %63
  store i1 false, ptr %10, align 1
  invoke void @__cxa_throw(ptr %59, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %412 unwind label %73

65:                                               ; preds = %55
  %66 = landingpad { ptr, i32 }
          cleanup
  %67 = extractvalue { ptr, i32 } %66, 0
  store ptr %67, ptr %6, align 8
  %68 = extractvalue { ptr, i32 } %66, 1
  store i32 %68, ptr %7, align 4
  br label %81

69:                                               ; preds = %58
  %70 = landingpad { ptr, i32 }
          cleanup
  %71 = extractvalue { ptr, i32 } %70, 0
  store ptr %71, ptr %6, align 8
  %72 = extractvalue { ptr, i32 } %70, 1
  store i32 %72, ptr %7, align 4
  br label %77

73:                                               ; preds = %64, %63
  %74 = landingpad { ptr, i32 }
          cleanup
  %75 = extractvalue { ptr, i32 } %74, 0
  store ptr %75, ptr %6, align 8
  %76 = extractvalue { ptr, i32 } %74, 1
  store i32 %76, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  br label %77

77:                                               ; preds = %73, %69
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #8
  %78 = load i1, ptr %10, align 1
  br i1 %78, label %79, label %80

79:                                               ; preds = %77
  call void @__cxa_free_exception(ptr %59) #8
  br label %80

80:                                               ; preds = %79, %77
  br label %81

81:                                               ; preds = %80, %65
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %5) #8
  br label %406

82:                                               ; preds = %51
  br label %83

83:                                               ; preds = %82
  br label %84

84:                                               ; preds = %83
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #8
  %85 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %48, i64 noundef 0)
  store ptr %85, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #8
  %86 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %48, i64 noundef 1)
  store ptr %86, ptr %12, align 8, !tbaa !5
  br label %87

87:                                               ; preds = %84
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #8
  %88 = load ptr, ptr %11, align 8, !tbaa !5
  %89 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %88)
  %90 = getelementptr inbounds %"class.ngraph::Dimension", ptr %13, i32 0, i32 0
  %91 = getelementptr inbounds { i64, i64 }, ptr %90, i32 0, i32 0
  %92 = extractvalue { i64, i64 } %89, 0
  store i64 %92, ptr %91, align 8
  %93 = getelementptr inbounds { i64, i64 }, ptr %90, i32 0, i32 1
  %94 = extractvalue { i64, i64 } %89, 1
  store i64 %94, ptr %93, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %14, i64 noundef 3)
  %95 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(16) %14)
  %96 = xor i1 %95, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #8
  br i1 %96, label %97, label %132

97:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 392, ptr %15) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %15)
  %98 = getelementptr inbounds i8, ptr %15, i64 16
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #8
  %99 = load ptr, ptr %11, align 8, !tbaa !5
  %100 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %101 unwind label %115

101:                                              ; preds = %97
  %102 = getelementptr inbounds %"class.ngraph::Dimension", ptr %16, i32 0, i32 0
  %103 = getelementptr inbounds { i64, i64 }, ptr %102, i32 0, i32 0
  %104 = extractvalue { i64, i64 } %100, 0
  store i64 %104, ptr %103, align 8
  %105 = getelementptr inbounds { i64, i64 }, ptr %102, i32 0, i32 1
  %106 = extractvalue { i64, i64 } %100, 1
  store i64 %106, ptr %105, align 8
  %107 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJNS_9DimensionERA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef nonnull align 1 dereferenceable(40) @.str.7, ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull align 1 dereferenceable(2) @.str.8)
          to label %108 unwind label %115

108:                                              ; preds = %101
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #8
  store i1 true, ptr %19, align 1
  %109 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  %110 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 0
  store ptr @.str.1, ptr %110, align 8, !tbaa !9
  %111 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 1
  store i32 121, ptr %111, align 8, !tbaa !12
  %112 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 2
  store ptr @.str.9, ptr %112, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %113 unwind label %119

113:                                              ; preds = %108
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %109, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %48, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %114 unwind label %123

114:                                              ; preds = %113
  store i1 false, ptr %19, align 1
  invoke void @__cxa_throw(ptr %109, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %412 unwind label %123

115:                                              ; preds = %101, %97
  %116 = landingpad { ptr, i32 }
          cleanup
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %6, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #8
  br label %131

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

123:                                              ; preds = %114, %113
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %6, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  br label %127

127:                                              ; preds = %123, %119
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  %128 = load i1, ptr %19, align 1
  br i1 %128, label %129, label %130

129:                                              ; preds = %127
  call void @__cxa_free_exception(ptr %109) #8
  br label %130

130:                                              ; preds = %129, %127
  br label %131

131:                                              ; preds = %130, %115
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %15) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %15) #8
  br label %405

132:                                              ; preds = %87
  br label %133

133:                                              ; preds = %132
  br label %134

134:                                              ; preds = %133
  br label %135

135:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #8
  %136 = load ptr, ptr %12, align 8, !tbaa !5
  %137 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %136)
  %138 = getelementptr inbounds %"class.ngraph::Dimension", ptr %20, i32 0, i32 0
  %139 = getelementptr inbounds { i64, i64 }, ptr %138, i32 0, i32 0
  %140 = extractvalue { i64, i64 } %137, 0
  store i64 %140, ptr %139, align 8
  %141 = getelementptr inbounds { i64, i64 }, ptr %138, i32 0, i32 1
  %142 = extractvalue { i64, i64 } %137, 1
  store i64 %142, ptr %141, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %21, i64 noundef 3)
  %143 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef nonnull align 8 dereferenceable(16) %21)
  %144 = xor i1 %143, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #8
  br i1 %144, label %145, label %180

145:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 392, ptr %22) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %22)
  %146 = getelementptr inbounds i8, ptr %22, i64 16
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #8
  %147 = load ptr, ptr %12, align 8, !tbaa !5
  %148 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %149 unwind label %163

149:                                              ; preds = %145
  %150 = getelementptr inbounds %"class.ngraph::Dimension", ptr %23, i32 0, i32 0
  %151 = getelementptr inbounds { i64, i64 }, ptr %150, i32 0, i32 0
  %152 = extractvalue { i64, i64 } %148, 0
  store i64 %152, ptr %151, align 8
  %153 = getelementptr inbounds { i64, i64 }, ptr %150, i32 0, i32 1
  %154 = extractvalue { i64, i64 } %148, 1
  store i64 %154, ptr %153, align 8
  %155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJNS_9DimensionERA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %146, ptr noundef nonnull align 1 dereferenceable(40) @.str.10, ptr noundef nonnull align 8 dereferenceable(16) %23, ptr noundef nonnull align 1 dereferenceable(2) @.str.8)
          to label %156 unwind label %163

156:                                              ; preds = %149
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #8
  store i1 true, ptr %26, align 1
  %157 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #8
  %158 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 0
  store ptr @.str.1, ptr %158, align 8, !tbaa !9
  %159 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 1
  store i32 126, ptr %159, align 8, !tbaa !12
  %160 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %24, i32 0, i32 2
  store ptr @.str.11, ptr %160, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(128) %22)
          to label %161 unwind label %167

161:                                              ; preds = %156
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %157, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef %48, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %162 unwind label %171

162:                                              ; preds = %161
  store i1 false, ptr %26, align 1
  invoke void @__cxa_throw(ptr %157, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %412 unwind label %171

163:                                              ; preds = %149, %145
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %6, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #8
  br label %179

167:                                              ; preds = %156
  %168 = landingpad { ptr, i32 }
          cleanup
  %169 = extractvalue { ptr, i32 } %168, 0
  store ptr %169, ptr %6, align 8
  %170 = extractvalue { ptr, i32 } %168, 1
  store i32 %170, ptr %7, align 4
  br label %175

171:                                              ; preds = %162, %161
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %6, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %175

175:                                              ; preds = %171, %167
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #8
  %176 = load i1, ptr %26, align 1
  br i1 %176, label %177, label %178

177:                                              ; preds = %175
  call void @__cxa_free_exception(ptr %157) #8
  br label %178

178:                                              ; preds = %177, %175
  br label %179

179:                                              ; preds = %178, %163
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %22) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %22) #8
  br label %405

180:                                              ; preds = %135
  br label %181

181:                                              ; preds = %180
  br label %182

182:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  %183 = getelementptr inbounds %"class.ngraph::op::v0::BatchMatMulTranspose", ptr %48, i32 0, i32 1
  %184 = load i8, ptr %183, align 8, !tbaa !14, !range !70, !noundef !71
  %185 = trunc i8 %184 to i1
  %186 = zext i1 %185 to i64
  %187 = select i1 %185, i32 1, i32 2
  %188 = sext i32 %187 to i64
  store i64 %188, ptr %27, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  %189 = getelementptr inbounds %"class.ngraph::op::v0::BatchMatMulTranspose", ptr %48, i32 0, i32 2
  %190 = load i8, ptr %189, align 1, !tbaa !73, !range !70, !noundef !71
  %191 = trunc i8 %190 to i1
  %192 = zext i1 %191 to i64
  %193 = select i1 %191, i32 2, i32 1
  %194 = sext i32 %193 to i64
  store i64 %194, ptr %28, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %30, i64 noundef 3)
  %195 = getelementptr inbounds { i64, i64 }, ptr %30, i32 0, i32 0
  %196 = load i64, ptr %195, align 8
  %197 = getelementptr inbounds { i64, i64 }, ptr %30, i32 0, i32 1
  %198 = load i64, ptr %197, align 8
  call void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %29, i64 %196, i64 %198)
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #8
  %199 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #8
  %200 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %199)
          to label %201 unwind label %245

201:                                              ; preds = %182
  %202 = getelementptr inbounds %"class.ngraph::Dimension", ptr %31, i32 0, i32 0
  %203 = getelementptr inbounds { i64, i64 }, ptr %202, i32 0, i32 0
  %204 = extractvalue { i64, i64 } %200, 0
  store i64 %204, ptr %203, align 8
  %205 = getelementptr inbounds { i64, i64 }, ptr %202, i32 0, i32 1
  %206 = extractvalue { i64, i64 } %200, 1
  store i64 %206, ptr %205, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef 3)
          to label %207 unwind label %249

207:                                              ; preds = %201
  %208 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %209 unwind label %249

209:                                              ; preds = %207
  br i1 %208, label %210, label %222

210:                                              ; preds = %209
  %211 = load ptr, ptr %12, align 8, !tbaa !5
  %212 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %211)
          to label %213 unwind label %253

213:                                              ; preds = %210
  %214 = getelementptr inbounds %"class.ngraph::Dimension", ptr %33, i32 0, i32 0
  %215 = getelementptr inbounds { i64, i64 }, ptr %214, i32 0, i32 0
  %216 = extractvalue { i64, i64 } %212, 0
  store i64 %216, ptr %215, align 8
  %217 = getelementptr inbounds { i64, i64 }, ptr %214, i32 0, i32 1
  %218 = extractvalue { i64, i64 } %212, 1
  store i64 %218, ptr %217, align 8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %34, i64 noundef 3)
          to label %219 unwind label %257

219:                                              ; preds = %213
  %220 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %221 unwind label %257

221:                                              ; preds = %219
  br label %222

222:                                              ; preds = %221, %209
  %223 = phi i1 [ false, %209 ], [ %220, %221 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  br i1 %223, label %224, label %384

224:                                              ; preds = %222
  br label %225

225:                                              ; preds = %224
  %226 = load ptr, ptr %11, align 8, !tbaa !5
  %227 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %226, i64 noundef 0)
          to label %228 unwind label %264

228:                                              ; preds = %225
  %229 = load ptr, ptr %12, align 8, !tbaa !5
  %230 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %229, i64 noundef 0)
          to label %231 unwind label %264

231:                                              ; preds = %228
  %232 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %227, ptr noundef nonnull align 8 dereferenceable(16) %230)
          to label %233 unwind label %264

233:                                              ; preds = %231
  br i1 %232, label %290, label %234

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

235:                                              ; preds = %234
  %236 = getelementptr inbounds i8, ptr %35, i64 16
  %237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA73_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef nonnull align 1 dereferenceable(73) @.str.12)
          to label %238 unwind label %272

238:                                              ; preds = %235
  store i1 true, ptr %38, align 1
  %239 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #8
  %240 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %36, i32 0, i32 0
  store ptr @.str.1, ptr %240, align 8, !tbaa !9
  %241 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %36, i32 0, i32 1
  store i32 139, ptr %241, align 8, !tbaa !12
  %242 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %36, i32 0, i32 2
  store ptr @.str.13, ptr %242, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(128) %35)
          to label %243 unwind label %276

243:                                              ; preds = %238
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %239, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef %48, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %244 unwind label %280

244:                                              ; preds = %243
  store i1 false, ptr %38, align 1
  invoke void @__cxa_throw(ptr %239, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %412 unwind label %280

245:                                              ; preds = %182
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %6, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %7, align 4
  br label %263

249:                                              ; preds = %207, %201
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %6, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %7, align 4
  br label %262

253:                                              ; preds = %210
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %6, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %7, align 4
  br label %261

257:                                              ; preds = %219, %213
  %258 = landingpad { ptr, i32 }
          cleanup
  %259 = extractvalue { ptr, i32 } %258, 0
  store ptr %259, ptr %6, align 8
  %260 = extractvalue { ptr, i32 } %258, 1
  store i32 %260, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  br label %261

261:                                              ; preds = %257, %253
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #8
  br label %262

262:                                              ; preds = %261, %249
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #8
  br label %263

263:                                              ; preds = %262, %245
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  br label %404

264:                                              ; preds = %301, %297, %293, %231, %228, %225
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %6, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %7, align 4
  br label %404

268:                                              ; preds = %234
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %6, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %7, align 4
  br label %289

272:                                              ; preds = %235
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %6, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %7, align 4
  br label %288

276:                                              ; preds = %238
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %6, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %7, align 4
  br label %284

280:                                              ; preds = %244, %243
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %6, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  br label %284

284:                                              ; preds = %280, %276
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #8
  %285 = load i1, ptr %38, align 1
  br i1 %285, label %286, label %287

286:                                              ; preds = %284
  call void @__cxa_free_exception(ptr %239) #8
  br label %287

287:                                              ; preds = %286, %284
  br label %288

288:                                              ; preds = %287, %272
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %35) #8
  br label %289

289:                                              ; preds = %288, %268
  call void @llvm.lifetime.end.p0(i64 392, ptr %35) #8
  br label %404

290:                                              ; preds = %233
  br label %291

291:                                              ; preds = %290
  br label %292

292:                                              ; preds = %291
  br label %293

293:                                              ; preds = %292
  %294 = load ptr, ptr %11, align 8, !tbaa !5
  %295 = load i64, ptr %27, align 8, !tbaa !72
  %296 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %294, i64 noundef %295)
          to label %297 unwind label %264

297:                                              ; preds = %293
  %298 = load ptr, ptr %12, align 8, !tbaa !5
  %299 = load i64, ptr %28, align 8, !tbaa !72
  %300 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %298, i64 noundef %299)
          to label %301 unwind label %264

301:                                              ; preds = %297
  %302 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %296, ptr noundef nonnull align 8 dereferenceable(16) %300)
          to label %303 unwind label %264

303:                                              ; preds = %301
  br i1 %302, label %337, label %304

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

305:                                              ; preds = %304
  %306 = getelementptr inbounds i8, ptr %39, i64 16
  %307 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA70_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %306, ptr noundef nonnull align 1 dereferenceable(70) @.str.14)
          to label %308 unwind label %319

308:                                              ; preds = %305
  store i1 true, ptr %42, align 1
  %309 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #8
  %310 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %40, i32 0, i32 0
  store ptr @.str.1, ptr %310, align 8, !tbaa !9
  %311 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %40, i32 0, i32 1
  store i32 143, ptr %311, align 8, !tbaa !12
  %312 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %40, i32 0, i32 2
  store ptr @.str.15, ptr %312, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(128) %39)
          to label %313 unwind label %323

313:                                              ; preds = %308
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %309, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef %48, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %314 unwind label %327

314:                                              ; preds = %313
  store i1 false, ptr %42, align 1
  invoke void @__cxa_throw(ptr %309, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %412 unwind label %327

315:                                              ; preds = %304
  %316 = landingpad { ptr, i32 }
          cleanup
  %317 = extractvalue { ptr, i32 } %316, 0
  store ptr %317, ptr %6, align 8
  %318 = extractvalue { ptr, i32 } %316, 1
  store i32 %318, ptr %7, align 4
  br label %336

319:                                              ; preds = %305
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %6, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %7, align 4
  br label %335

323:                                              ; preds = %308
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %6, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %7, align 4
  br label %331

327:                                              ; preds = %314, %313
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %6, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %331

331:                                              ; preds = %327, %323
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  %332 = load i1, ptr %42, align 1
  br i1 %332, label %333, label %334

333:                                              ; preds = %331
  call void @__cxa_free_exception(ptr %309) #8
  br label %334

334:                                              ; preds = %333, %331
  br label %335

335:                                              ; preds = %334, %319
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %39) #8
  br label %336

336:                                              ; preds = %335, %315
  call void @llvm.lifetime.end.p0(i64 392, ptr %39) #8
  br label %404

337:                                              ; preds = %303
  br label %338

338:                                              ; preds = %337
  br label %339

339:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #8
  %340 = load ptr, ptr %11, align 8, !tbaa !5
  %341 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %340, i64 noundef 0)
          to label %342 unwind label %375

342:                                              ; preds = %339
  %343 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %341)
          to label %344 unwind label %375

344:                                              ; preds = %342
  br i1 %343, label %345, label %349

345:                                              ; preds = %344
  %346 = load ptr, ptr %11, align 8, !tbaa !5
  %347 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %346, i64 noundef 0)
          to label %348 unwind label %375

348:                                              ; preds = %345
  br label %353

349:                                              ; preds = %344
  %350 = load ptr, ptr %12, align 8, !tbaa !5
  %351 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %350, i64 noundef 0)
          to label %352 unwind label %375

352:                                              ; preds = %349
  br label %353

353:                                              ; preds = %352, %348
  %354 = phi ptr [ %347, %348 ], [ %351, %352 ]
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %43, ptr align 8 %354, i64 16, i1 false), !tbaa.struct !74
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr %46) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %46, ptr align 8 %43, i64 16, i1 false), !tbaa.struct !74
  %355 = getelementptr inbounds %"class.ngraph::Dimension", ptr %46, i64 1
  %356 = load ptr, ptr %11, align 8, !tbaa !5
  %357 = load i64, ptr %27, align 8, !tbaa !72
  %358 = sub i64 3, %357
  %359 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %356, i64 noundef %358)
          to label %360 unwind label %379

360:                                              ; preds = %353
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %355, ptr align 8 %359, i64 16, i1 false), !tbaa.struct !74
  %361 = getelementptr inbounds %"class.ngraph::Dimension", ptr %46, i64 2
  %362 = load ptr, ptr %12, align 8, !tbaa !5
  %363 = load i64, ptr %28, align 8, !tbaa !72
  %364 = sub i64 3, %363
  %365 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %362, i64 noundef %364)
          to label %366 unwind label %379

366:                                              ; preds = %360
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %361, ptr align 8 %365, i64 16, i1 false), !tbaa.struct !74
  %367 = getelementptr inbounds %"class.std::initializer_list.104", ptr %45, i32 0, i32 0
  store ptr %46, ptr %367, align 8, !tbaa !75
  %368 = getelementptr inbounds %"class.std::initializer_list.104", ptr %45, i32 0, i32 1
  store i64 3, ptr %368, align 8, !tbaa !77
  %369 = getelementptr inbounds { ptr, i64 }, ptr %45, i32 0, i32 0
  %370 = load ptr, ptr %369, align 8
  %371 = getelementptr inbounds { ptr, i64 }, ptr %45, i32 0, i32 1
  %372 = load i64, ptr %371, align 8
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr %370, i64 %372)
          to label %373 unwind label %379

373:                                              ; preds = %366
  %374 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #8
  br label %384

375:                                              ; preds = %349, %345, %342, %339
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %6, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %7, align 4
  br label %383

379:                                              ; preds = %366, %360, %353
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %6, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 48, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  br label %383

383:                                              ; preds = %379, %375
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #8
  br label %404

384:                                              ; preds = %373, %222
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #8
  %385 = load ptr, ptr %3, align 8, !tbaa !5
  %386 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4) %385)
          to label %387 unwind label %395

387:                                              ; preds = %384
  br i1 %386, label %388, label %390

388:                                              ; preds = %387
  %389 = load ptr, ptr %4, align 8, !tbaa !5
  br label %392

390:                                              ; preds = %387
  %391 = load ptr, ptr %3, align 8, !tbaa !5
  br label %392

392:                                              ; preds = %390, %388
  %393 = phi ptr [ %389, %388 ], [ %391, %390 ]
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %47, ptr align 4 %393, i64 4, i1 false), !tbaa.struct !78
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %48, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %47, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %394 unwind label %399

394:                                              ; preds = %392
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %47) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  ret void

395:                                              ; preds = %384
  %396 = landingpad { ptr, i32 }
          cleanup
  %397 = extractvalue { ptr, i32 } %396, 0
  store ptr %397, ptr %6, align 8
  %398 = extractvalue { ptr, i32 } %396, 1
  store i32 %398, ptr %7, align 4
  br label %403

399:                                              ; preds = %392
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %6, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %7, align 4
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %47) #8
  br label %403

403:                                              ; preds = %399, %395
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #8
  br label %404

404:                                              ; preds = %403, %383, %336, %289, %264, %263
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  br label %405

405:                                              ; preds = %404, %179, %131
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  br label %406

406:                                              ; preds = %405, %81
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  br label %407

407:                                              ; preds = %406
  %408 = load ptr, ptr %6, align 8
  %409 = load i32, ptr %7, align 4
  %410 = insertvalue { ptr, i32 } poison, ptr %408, 0
  %411 = insertvalue { ptr, i32 } %410, i32 %409, 1
  resume { ptr, i32 } %411

412:                                              ; preds = %314, %244, %162, %114, %64
  unreachable
}

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJNS_9DimensionERA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(2)) #6

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

declare noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #1

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

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

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

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

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

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

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

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

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

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

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

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

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


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.77" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::element::Type" = type { i32 }

@.str.1 = external hidden unnamed_addr constant [97 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.5 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [62 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v020BatchMatMulTranspose24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(682) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %3 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.ngraph::Dimension", align 8
  %6 = alloca %"class.ngraph::Dimension", align 8
  %7 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %8 = alloca %"class.ngraph::Dimension", align 8
  %9 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.ngraph::Dimension", align 8
  %12 = alloca %"class.ngraph::Dimension", align 8
  %13 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %14 = alloca %"class.ngraph::Dimension", align 8
  %15 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.ngraph::PartialShape", align 8
  %18 = alloca %"class.ngraph::Dimension", align 8
  %19 = alloca %"class.ngraph::Dimension", align 8
  %20 = alloca %"class.ngraph::Dimension", align 8
  %21 = alloca %"class.ngraph::Dimension", align 8
  %22 = alloca %"class.ngraph::Dimension", align 8
  %23 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %24 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %27 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %.sroa.01 = alloca %"class.ngraph::Interval", align 8
  %29 = alloca %"class.ngraph::PartialShape", align 8
  %30 = alloca [3 x %"class.ngraph::Dimension"], align 8
  %31 = alloca %"class.ngraph::element::Type", align 4
  %32 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %33 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  %34 = tail call noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %32, ptr noundef nonnull align 4 dereferenceable(4) %33)
  br i1 %34, label %52, label %35

35:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %2) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %2)
  %36 = getelementptr inbounds i8, ptr %2, i64 16
  %37 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA56_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 1 dereferenceable(56) @.str.5)
          to label %38 unwind label %45

38:                                               ; preds = %35
  %39 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #8
  store ptr @.str.1, ptr %3, align 8, !tbaa !5
  %40 = getelementptr inbounds i8, ptr %3, i64 8
  store i32 113, ptr %40, align 8, !tbaa !11
  %41 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr @.str.6, ptr %41, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, ptr noundef nonnull align 8 dereferenceable(128) %2)
          to label %42 unwind label %.thread

42:                                               ; preds = %38
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %44 unwind label %.thread93

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

44:                                               ; preds = %42
  invoke void @__cxa_throw(ptr nonnull %39, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %241 unwind label %48

45:                                               ; preds = %35
  %46 = landingpad { ptr, i32 }
          cleanup
  br label %51

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

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

50:                                               ; preds = %.thread93, %.thread
  %.pn92 = phi { ptr, i32 } [ %47, %.thread ], [ %43, %.thread93 ]
  call void @__cxa_free_exception(ptr %39) #8
  br label %51

51:                                               ; preds = %48, %50, %45
  %.pn.pn = phi { ptr, i32 } [ %.pn92, %50 ], [ %49, %48 ], [ %46, %45 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %2) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %2) #8
  br label %240

52:                                               ; preds = %1
  %53 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %54 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #8
  %55 = tail call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
  %56 = extractvalue { i64, i64 } %55, 0
  store i64 %56, ptr %5, align 8
  %57 = getelementptr inbounds i8, ptr %5, i64 8
  %58 = extractvalue { i64, i64 } %55, 1
  store i64 %58, ptr %57, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %6, i64 noundef 3)
  %59 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(16) %6)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #8
  br i1 %59, label %82, label %60

60:                                               ; preds = %52
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %7) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #8
  %61 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %62 unwind label %75

62:                                               ; preds = %60
  %63 = getelementptr inbounds i8, ptr %7, i64 16
  %64 = extractvalue { i64, i64 } %61, 0
  store i64 %64, ptr %8, align 8
  %65 = getelementptr inbounds i8, ptr %8, i64 8
  %66 = extractvalue { i64, i64 } %61, 1
  store i64 %66, ptr %65, align 8
  %67 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJNS_9DimensionERA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 1 dereferenceable(40) @.str.7, ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef nonnull align 1 dereferenceable(2) @.str.8)
          to label %68 unwind label %75

68:                                               ; preds = %62
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #8
  %69 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #8
  store ptr @.str.1, ptr %9, align 8, !tbaa !5
  %70 = getelementptr inbounds i8, ptr %9, i64 8
  store i32 121, ptr %70, align 8, !tbaa !11
  %71 = getelementptr inbounds i8, ptr %9, i64 16
  store ptr @.str.9, ptr %71, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(128) %7)
          to label %72 unwind label %.thread95

72:                                               ; preds = %68
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %69, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %74 unwind label %.thread99

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

74:                                               ; preds = %72
  invoke void @__cxa_throw(ptr nonnull %69, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %241 unwind label %78

75:                                               ; preds = %62, %60
  %76 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #8
  br label %81

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

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

80:                                               ; preds = %.thread99, %.thread95
  %.pn8598 = phi { ptr, i32 } [ %77, %.thread95 ], [ %73, %.thread99 ]
  call void @__cxa_free_exception(ptr %69) #8
  br label %81

81:                                               ; preds = %78, %80, %75
  %.pn85.pn = phi { ptr, i32 } [ %.pn8598, %80 ], [ %79, %78 ], [ %76, %75 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %7) #8
  br label %240

82:                                               ; preds = %52
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #8
  %83 = call { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %54)
  %84 = extractvalue { i64, i64 } %83, 0
  store i64 %84, ptr %11, align 8
  %85 = getelementptr inbounds i8, ptr %11, i64 8
  %86 = extractvalue { i64, i64 } %83, 1
  store i64 %86, ptr %85, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %12, i64 noundef 3)
  %87 = call noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull align 8 dereferenceable(16) %12)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #8
  br i1 %87, label %110, label %88

88:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %13) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #8
  %89 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %90 unwind label %103

90:                                               ; preds = %88
  %91 = getelementptr inbounds i8, ptr %13, i64 16
  %92 = extractvalue { i64, i64 } %89, 0
  store i64 %92, ptr %14, align 8
  %93 = getelementptr inbounds i8, ptr %14, i64 8
  %94 = extractvalue { i64, i64 } %89, 1
  store i64 %94, ptr %93, align 8
  %95 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA40_cJNS_9DimensionERA2_KcEEERSoS6_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %91, ptr noundef nonnull align 1 dereferenceable(40) @.str.10, ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull align 1 dereferenceable(2) @.str.8)
          to label %96 unwind label %103

96:                                               ; preds = %90
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  %97 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #8
  store ptr @.str.1, ptr %15, align 8, !tbaa !5
  %98 = getelementptr inbounds i8, ptr %15, i64 8
  store i32 126, ptr %98, align 8, !tbaa !11
  %99 = getelementptr inbounds i8, ptr %15, i64 16
  store ptr @.str.11, ptr %99, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(128) %13)
          to label %100 unwind label %.thread101

100:                                              ; preds = %96
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %97, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %102 unwind label %.thread105

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

102:                                              ; preds = %100
  invoke void @__cxa_throw(ptr nonnull %97, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %241 unwind label %106

103:                                              ; preds = %90, %88
  %104 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  br label %109

.thread101:                                       ; preds = %96
  %105 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #8
  br label %108

106:                                              ; preds = %102
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #8
  br label %109

108:                                              ; preds = %.thread105, %.thread101
  %.pn82104 = phi { ptr, i32 } [ %105, %.thread101 ], [ %101, %.thread105 ]
  call void @__cxa_free_exception(ptr %97) #8
  br label %109

109:                                              ; preds = %106, %108, %103
  %.pn82.pn = phi { ptr, i32 } [ %.pn82104, %108 ], [ %107, %106 ], [ %104, %103 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %13) #8
  br label %240

110:                                              ; preds = %82
  %111 = getelementptr inbounds i8, ptr %0, i64 680
  %112 = load i8, ptr %111, align 8, !tbaa !13, !range !69, !noundef !70
  %113 = trunc nuw i8 %112 to i1
  %114 = select i1 %113, i64 1, i64 2
  %115 = getelementptr inbounds i8, ptr %0, i64 681
  %116 = load i8, ptr %115, align 1, !tbaa !71, !range !69, !noundef !70
  %117 = trunc nuw i8 %116 to i1
  %118 = select i1 %117, i64 2, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #8
  call void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %18, i64 noundef 3)
  %119 = load i64, ptr %18, align 8
  %120 = getelementptr inbounds i8, ptr %18, i64 8
  %121 = load i64, ptr %120, align 8
  call void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %17, i64 %119, i64 %121)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #8
  %122 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %123 unwind label %157

123:                                              ; preds = %110
  %124 = extractvalue { i64, i64 } %122, 0
  store i64 %124, ptr %19, align 8
  %125 = getelementptr inbounds i8, ptr %19, i64 8
  %126 = extractvalue { i64, i64 } %122, 1
  store i64 %126, ptr %125, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %20, i64 noundef 3)
          to label %127 unwind label %159

127:                                              ; preds = %123
  %128 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %19, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %129 unwind label %159

129:                                              ; preds = %127
  br i1 %128, label %130, label %.critedge

130:                                              ; preds = %129
  %131 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %132 unwind label %161

132:                                              ; preds = %130
  %133 = extractvalue { i64, i64 } %131, 0
  store i64 %133, ptr %21, align 8
  %134 = getelementptr inbounds i8, ptr %21, i64 8
  %135 = extractvalue { i64, i64 } %131, 1
  store i64 %135, ptr %134, align 8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %22, i64 noundef 3)
          to label %136 unwind label %163

136:                                              ; preds = %132
  %137 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %138 unwind label %163

138:                                              ; preds = %136
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #8
  br i1 %137, label %139, label %229

139:                                              ; preds = %138
  %140 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef 0)
          to label %141 unwind label %168

141:                                              ; preds = %139
  %142 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %54, i64 noundef 0)
          to label %143 unwind label %168

143:                                              ; preds = %141
  %144 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) %142)
          to label %145 unwind label %168

145:                                              ; preds = %143
  br i1 %144, label %180, label %146

146:                                              ; preds = %145
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %23) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23)
          to label %147 unwind label %170

147:                                              ; preds = %146
  %148 = getelementptr inbounds i8, ptr %23, i64 16
  %149 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA73_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef nonnull align 1 dereferenceable(73) @.str.12)
          to label %150 unwind label %172

150:                                              ; preds = %147
  %151 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #8
  store ptr @.str.1, ptr %24, align 8, !tbaa !5
  %152 = getelementptr inbounds i8, ptr %24, i64 8
  store i32 139, ptr %152, align 8, !tbaa !11
  %153 = getelementptr inbounds i8, ptr %24, i64 16
  store ptr @.str.13, ptr %153, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(128) %23)
          to label %154 unwind label %.thread107

154:                                              ; preds = %150
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %151, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %156 unwind label %.thread111

.thread111:                                       ; preds = %154
  %155 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  br label %177

156:                                              ; preds = %154
  invoke void @__cxa_throw(ptr nonnull %151, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %241 unwind label %175

157:                                              ; preds = %110
  %158 = landingpad { ptr, i32 }
          cleanup
  br label %167

159:                                              ; preds = %127, %123
  %160 = landingpad { ptr, i32 }
          cleanup
  br label %166

161:                                              ; preds = %130
  %162 = landingpad { ptr, i32 }
          cleanup
  br label %165

163:                                              ; preds = %136, %132
  %164 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #8
  br label %165

165:                                              ; preds = %163, %161
  %.pn64 = phi { ptr, i32 } [ %164, %163 ], [ %162, %161 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  br label %166

166:                                              ; preds = %165, %159
  %.pn64.pn = phi { ptr, i32 } [ %.pn64, %165 ], [ %160, %159 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  br label %167

167:                                              ; preds = %166, %157
  %.pn64.pn.pn = phi { ptr, i32 } [ %.pn64.pn, %166 ], [ %158, %157 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #8
  br label %239

168:                                              ; preds = %184, %182, %180, %143, %141, %139
  %169 = landingpad { ptr, i32 }
          cleanup
  br label %239

170:                                              ; preds = %146
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %179

172:                                              ; preds = %147
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %178

.thread107:                                       ; preds = %150
  %174 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  br label %177

175:                                              ; preds = %156
  %176 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  br label %178

177:                                              ; preds = %.thread111, %.thread107
  %.pn68110 = phi { ptr, i32 } [ %174, %.thread107 ], [ %155, %.thread111 ]
  call void @__cxa_free_exception(ptr %151) #8
  br label %178

178:                                              ; preds = %175, %177, %172
  %.pn68.pn = phi { ptr, i32 } [ %.pn68110, %177 ], [ %176, %175 ], [ %173, %172 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23) #8
  br label %179

179:                                              ; preds = %178, %170
  %.pn68.pn.pn = phi { ptr, i32 } [ %.pn68.pn, %178 ], [ %171, %170 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %23) #8
  br label %239

180:                                              ; preds = %145
  %181 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef %114)
          to label %182 unwind label %168

182:                                              ; preds = %180
  %183 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %54, i64 noundef %118)
          to label %184 unwind label %168

184:                                              ; preds = %182
  %185 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %181, ptr noundef nonnull align 8 dereferenceable(16) %183)
          to label %186 unwind label %168

186:                                              ; preds = %184
  br i1 %185, label %208, label %187

187:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %26) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %26)
          to label %188 unwind label %198

188:                                              ; preds = %187
  %189 = getelementptr inbounds i8, ptr %26, i64 16
  %190 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA70_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %189, ptr noundef nonnull align 1 dereferenceable(70) @.str.14)
          to label %191 unwind label %200

191:                                              ; preds = %188
  %192 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #8
  store ptr @.str.1, ptr %27, align 8, !tbaa !5
  %193 = getelementptr inbounds i8, ptr %27, i64 8
  store i32 143, ptr %193, align 8, !tbaa !11
  %194 = getelementptr inbounds i8, ptr %27, i64 16
  store ptr @.str.15, ptr %194, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(128) %26)
          to label %195 unwind label %.thread113

195:                                              ; preds = %191
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %192, ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %197 unwind label %.thread117

.thread117:                                       ; preds = %195
  %196 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  br label %205

197:                                              ; preds = %195
  invoke void @__cxa_throw(ptr nonnull %192, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %241 unwind label %203

198:                                              ; preds = %187
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %207

200:                                              ; preds = %188
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %206

.thread113:                                       ; preds = %191
  %202 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  br label %205

203:                                              ; preds = %197
  %204 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  br label %206

205:                                              ; preds = %.thread117, %.thread113
  %.pn72116 = phi { ptr, i32 } [ %202, %.thread113 ], [ %196, %.thread117 ]
  call void @__cxa_free_exception(ptr %192) #8
  br label %206

206:                                              ; preds = %203, %205, %200
  %.pn72.pn = phi { ptr, i32 } [ %.pn72116, %205 ], [ %204, %203 ], [ %201, %200 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %26) #8
  br label %207

207:                                              ; preds = %206, %198
  %.pn72.pn.pn = phi { ptr, i32 } [ %.pn72.pn, %206 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %26) #8
  br label %239

208:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.01)
  %209 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef 0)
          to label %210 unwind label %224

210:                                              ; preds = %208
  %211 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %209)
          to label %.invoke unwind label %224

.invoke:                                          ; preds = %210
  %. = select i1 %211, ptr %53, ptr %54
  %212 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %., i64 noundef 0)
          to label %213 unwind label %224

213:                                              ; preds = %.invoke
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.01, ptr noundef nonnull align 8 dereferenceable(16) %212, i64 16, i1 false), !tbaa.struct !72
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %30) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %30, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.01, i64 16, i1 false), !tbaa.struct !72
  %214 = xor i64 %114, 3
  %215 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef %214)
          to label %216 unwind label %226

216:                                              ; preds = %213
  %217 = getelementptr inbounds i8, ptr %30, i64 16
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %217, ptr noundef nonnull align 8 dereferenceable(16) %215, i64 16, i1 false), !tbaa.struct !72
  %218 = xor i64 %118, 3
  %219 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %54, i64 noundef %218)
          to label %220 unwind label %226

220:                                              ; preds = %216
  %221 = getelementptr inbounds i8, ptr %30, i64 32
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %221, ptr noundef nonnull align 8 dereferenceable(16) %219, i64 16, i1 false), !tbaa.struct !72
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr nonnull %30, i64 3)
          to label %222 unwind label %226

222:                                              ; preds = %220
  %223 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.01)
  br label %229

224:                                              ; preds = %.invoke, %210, %208
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %228

226:                                              ; preds = %220, %216, %213
  %227 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  br label %228

228:                                              ; preds = %226, %224
  %.pn76 = phi { ptr, i32 } [ %227, %226 ], [ %225, %224 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.01)
  br label %239

.critedge:                                        ; preds = %129
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #8
  br label %229

229:                                              ; preds = %.critedge, %222, %138
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #8
  %230 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4) %32)
          to label %231 unwind label %234

231:                                              ; preds = %229
  %.val = load i32, ptr %33, align 4
  %.val78 = load i32, ptr %32, align 4
  %232 = select i1 %230, i32 %.val, i32 %.val78
  store i32 %232, ptr %31, align 4, !tbaa !74
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %233 unwind label %236

233:                                              ; preds = %231
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %31) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  ret void

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

236:                                              ; preds = %231
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %31) #8
  br label %238

238:                                              ; preds = %236, %234
  %.pn79 = phi { ptr, i32 } [ %237, %236 ], [ %235, %234 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #8
  br label %239

239:                                              ; preds = %238, %228, %207, %179, %168, %167
  %.pn79.pn = phi { ptr, i32 } [ %.pn79, %238 ], [ %.pn76, %228 ], [ %.pn72.pn.pn, %207 ], [ %169, %168 ], [ %.pn68.pn.pn, %179 ], [ %.pn64.pn.pn, %167 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  br label %240

240:                                              ; preds = %81, %109, %239, %51
  %.pn85.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %51 ], [ %.pn85.pn, %81 ], [ %.pn82.pn, %109 ], [ %.pn79.pn, %239 ]
  resume { ptr, i32 } %.pn85.pn.pn.pn

241:                                              ; preds = %197, %156, %102, %74, %44
  unreachable
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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