; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/gru_cell.ll (ZN6ngraph2op2v37GRUCell28pre_validate_and_infer_typesEv)

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

%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.128" }
%"class.std::vector.128" = type { %"struct.std::_Vector_base.129" }
%"struct.std::_Vector_base.129" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.133" = type { ptr, i64 }
%"class.ngraph::op::v3::GRUCell" = type <{ %"class.ngraph::op::util::FusedOp", %"class.ngraph::op::util::RNNCellBase", %"class.ngraph::op::util::ActivationFunction", %"class.ngraph::op::util::ActivationFunction", i8, [7 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" }
%"class.ngraph::op::util::RNNCellBase" = type { ptr, i64, float, %"class.std::vector.69", %"class.std::vector.74", %"class.std::vector.74" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::op::util::ActivationFunction" = type { ptr, float, float }

@.str.3 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [96 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.6 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [80 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: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v37GRUCell28pre_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(809) %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 ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca i1, align 1
  %13 = alloca ptr, align 8
  %14 = alloca %"class.ngraph::Shape", align 8
  %15 = alloca i64, align 8
  %16 = alloca i64, align 8
  %17 = alloca ptr, align 8
  %18 = alloca %"class.ngraph::Shape", align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.ngraph::Shape", align 8
  %21 = alloca ptr, align 8
  %22 = alloca %"class.ngraph::Shape", align 8
  %23 = alloca %"class.ngraph::Shape", align 8
  %24 = alloca %"class.std::initializer_list.133", align 8
  %25 = alloca [2 x i64], align 8
  %26 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %27 = alloca i64, align 8
  %28 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca i1, align 1
  %31 = alloca %"class.ngraph::Shape", align 8
  %32 = alloca %"class.std::initializer_list.133", align 8
  %33 = alloca [2 x i64], align 8
  %34 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %35 = alloca i64, align 8
  %36 = alloca i64, align 8
  %37 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca i1, align 1
  %40 = alloca %"class.ngraph::Shape", align 8
  %41 = alloca %"class.std::initializer_list.133", align 8
  %42 = alloca [2 x i64], align 8
  %43 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %44 = alloca i64, align 8
  %45 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca i1, align 1
  %48 = alloca ptr, align 8
  %49 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %50 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca i1, align 1
  %53 = alloca ptr, align 8
  %54 = alloca %"class.ngraph::Shape", align 8
  %55 = alloca %"class.ngraph::Shape", align 8
  %56 = alloca %"class.std::initializer_list.133", align 8
  %57 = alloca [1 x i64], align 8
  %58 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %59 = alloca i64, align 8
  %60 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca i1, align 1
  store ptr %0, ptr %2, align 8, !tbaa !5
  %63 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #6
  %64 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %63, i64 noundef 0)
  store ptr %64, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #6
  %65 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %63, i64 noundef 1)
  store ptr %65, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #6
  %66 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %63, i64 noundef 2)
  store ptr %66, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #6
  %67 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %63, i64 noundef 3)
  store ptr %67, ptr %6, align 8, !tbaa !5
  br label %68

68:                                               ; preds = %1
  %69 = load ptr, ptr %3, align 8, !tbaa !5
  %70 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %69)
  br i1 %70, label %107, label %71

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

74:                                               ; preds = %71
  %75 = load ptr, ptr %6, align 8, !tbaa !5
  %76 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %75)
  br i1 %76, label %107, label %77

77:                                               ; preds = %74
  %78 = load ptr, ptr %4, align 8, !tbaa !5
  %79 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %78)
  br i1 %79, label %107, label %80

80:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 392, ptr %7) #6
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7)
  %81 = getelementptr inbounds i8, ptr %7, i64 16
  %82 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA44_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 1 dereferenceable(44) @.str.3)
          to label %83 unwind label %90

83:                                               ; preds = %80
  store i1 true, ptr %12, align 1
  %84 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #6
  %85 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 0
  store ptr @.str.4, ptr %85, align 8, !tbaa !9
  %86 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 1
  store i32 115, ptr %86, align 8, !tbaa !12
  %87 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %10, i32 0, i32 2
  store ptr @.str.5, ptr %87, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(128) %7)
          to label %88 unwind label %94

88:                                               ; preds = %83
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %84, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef %63, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %89 unwind label %98

89:                                               ; preds = %88
  store i1 false, ptr %12, align 1
  invoke void @__cxa_throw(ptr %84, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #7
          to label %484 unwind label %98

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

94:                                               ; preds = %83
  %95 = landingpad { ptr, i32 }
          cleanup
  %96 = extractvalue { ptr, i32 } %95, 0
  store ptr %96, ptr %8, align 8
  %97 = extractvalue { ptr, i32 } %95, 1
  store i32 %97, ptr %9, align 4
  br label %102

98:                                               ; preds = %89, %88
  %99 = landingpad { ptr, i32 }
          cleanup
  %100 = extractvalue { ptr, i32 } %99, 0
  store ptr %100, ptr %8, align 8
  %101 = extractvalue { ptr, i32 } %99, 1
  store i32 %101, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %102

102:                                              ; preds = %98, %94
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #6
  %103 = load i1, ptr %12, align 1
  br i1 %103, label %104, label %105

104:                                              ; preds = %102
  call void @__cxa_free_exception(ptr %84) #6
  br label %105

105:                                              ; preds = %104, %102
  br label %106

106:                                              ; preds = %105, %90
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7) #6
  call void @llvm.lifetime.end.p0(i64 392, ptr %7) #6
  br label %478

107:                                              ; preds = %77, %74, %71, %68
  br label %108

108:                                              ; preds = %107
  br label %109

109:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #6
  %110 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %110)
  store ptr %14, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #6
  %111 = load ptr, ptr %13, align 8, !tbaa !5
  %112 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %111, i64 noundef 0)
          to label %113 unwind label %155

113:                                              ; preds = %109
  %114 = load i64, ptr %112, align 8, !tbaa !14
  store i64 %114, ptr %15, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #6
  %115 = load ptr, ptr %13, align 8, !tbaa !5
  %116 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %115, i64 noundef 1)
          to label %117 unwind label %159

117:                                              ; preds = %113
  %118 = load i64, ptr %116, align 8, !tbaa !14
  store i64 %118, ptr %16, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #6
  %119 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %18, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %120 unwind label %163

120:                                              ; preds = %117
  store ptr %18, ptr %17, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #6
  %121 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %122 unwind label %167

122:                                              ; preds = %120
  store ptr %20, ptr %19, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %22) #6
  %123 = load ptr, ptr %4, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %124 unwind label %171

124:                                              ; preds = %122
  store ptr %22, ptr %21, align 8, !tbaa !5
  br label %125

125:                                              ; preds = %124
  %126 = load ptr, ptr %17, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #6
  %127 = getelementptr inbounds i8, ptr %63, i64 680
  %128 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %127)
          to label %129 unwind label %175

129:                                              ; preds = %125
  %130 = mul i64 3, %128
  store i64 %130, ptr %25, align 8, !tbaa !14
  %131 = getelementptr inbounds i64, ptr %25, i64 1
  %132 = load i64, ptr %16, align 8, !tbaa !14
  store i64 %132, ptr %131, align 8, !tbaa !14
  %133 = getelementptr inbounds %"class.std::initializer_list.133", ptr %24, i32 0, i32 0
  store ptr %25, ptr %133, align 8, !tbaa !16
  %134 = getelementptr inbounds %"class.std::initializer_list.133", ptr %24, i32 0, i32 1
  store i64 2, ptr %134, align 8, !tbaa !18
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %135 unwind label %175

135:                                              ; preds = %129
  %136 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 8 dereferenceable(24) %23)
          to label %137 unwind label %179

137:                                              ; preds = %135
  %138 = xor i1 %136, true
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #6
  br i1 %138, label %139, label %206

139:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 392, ptr %26) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %26)
          to label %140 unwind label %184

140:                                              ; preds = %139
  %141 = getelementptr inbounds i8, ptr %26, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #6
  %142 = getelementptr inbounds i8, ptr %63, i64 680
  %143 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %142)
          to label %144 unwind label %188

144:                                              ; preds = %140
  %145 = mul i64 3, %143
  store i64 %145, ptr %27, align 8, !tbaa !14
  %146 = load ptr, ptr %17, align 8, !tbaa !5
  %147 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA3_KcRKmRA20_S2_RKNS_5ShapeERA2_S2_EEERSoSE_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %141, ptr noundef nonnull align 1 dereferenceable(33) @.str.6, ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 1 dereferenceable(3) @.str.7, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 1 dereferenceable(20) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %146, ptr noundef nonnull align 1 dereferenceable(2) @.str.9)
          to label %148 unwind label %188

148:                                              ; preds = %144
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  store i1 true, ptr %30, align 1
  %149 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #6
  %150 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 0
  store ptr @.str.4, ptr %150, align 8, !tbaa !9
  %151 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 1
  store i32 134, ptr %151, align 8, !tbaa !12
  %152 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %28, i32 0, i32 2
  store ptr @.str.10, ptr %152, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #6
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(128) %26)
          to label %153 unwind label %192

153:                                              ; preds = %148
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %149, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef %63, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %154 unwind label %196

154:                                              ; preds = %153
  store i1 false, ptr %30, align 1
  invoke void @__cxa_throw(ptr %149, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #7
          to label %484 unwind label %196

155:                                              ; preds = %109
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %8, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %9, align 4
  br label %477

159:                                              ; preds = %113
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %8, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %9, align 4
  br label %476

163:                                              ; preds = %117
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %8, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %9, align 4
  br label %475

167:                                              ; preds = %120
  %168 = landingpad { ptr, i32 }
          cleanup
  %169 = extractvalue { ptr, i32 } %168, 0
  store ptr %169, ptr %8, align 8
  %170 = extractvalue { ptr, i32 } %168, 1
  store i32 %170, ptr %9, align 4
  br label %474

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

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

179:                                              ; preds = %135
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %8, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %9, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #6
  br label %183

183:                                              ; preds = %179, %175
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #6
  br label %472

184:                                              ; preds = %139
  %185 = landingpad { ptr, i32 }
          cleanup
  %186 = extractvalue { ptr, i32 } %185, 0
  store ptr %186, ptr %8, align 8
  %187 = extractvalue { ptr, i32 } %185, 1
  store i32 %187, ptr %9, align 4
  br label %205

188:                                              ; preds = %144, %140
  %189 = landingpad { ptr, i32 }
          cleanup
  %190 = extractvalue { ptr, i32 } %189, 0
  store ptr %190, ptr %8, align 8
  %191 = extractvalue { ptr, i32 } %189, 1
  store i32 %191, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  br label %204

192:                                              ; preds = %148
  %193 = landingpad { ptr, i32 }
          cleanup
  %194 = extractvalue { ptr, i32 } %193, 0
  store ptr %194, ptr %8, align 8
  %195 = extractvalue { ptr, i32 } %193, 1
  store i32 %195, ptr %9, align 4
  br label %200

196:                                              ; preds = %154, %153
  %197 = landingpad { ptr, i32 }
          cleanup
  %198 = extractvalue { ptr, i32 } %197, 0
  store ptr %198, ptr %8, align 8
  %199 = extractvalue { ptr, i32 } %197, 1
  store i32 %199, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %200

200:                                              ; preds = %196, %192
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #6
  %201 = load i1, ptr %30, align 1
  br i1 %201, label %202, label %203

202:                                              ; preds = %200
  call void @__cxa_free_exception(ptr %149) #6
  br label %203

203:                                              ; preds = %202, %200
  br label %204

204:                                              ; preds = %203, %188
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %26) #6
  br label %205

205:                                              ; preds = %204, %184
  call void @llvm.lifetime.end.p0(i64 392, ptr %26) #6
  br label %472

206:                                              ; preds = %137
  br label %207

207:                                              ; preds = %206
  br label %208

208:                                              ; preds = %207
  br label %209

209:                                              ; preds = %208
  %210 = load ptr, ptr %19, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %31) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #6
  %211 = getelementptr inbounds i8, ptr %63, i64 680
  %212 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %211)
          to label %213 unwind label %244

213:                                              ; preds = %209
  %214 = mul i64 3, %212
  store i64 %214, ptr %33, align 8, !tbaa !14
  %215 = getelementptr inbounds i64, ptr %33, i64 1
  %216 = getelementptr inbounds i8, ptr %63, i64 680
  %217 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %216)
          to label %218 unwind label %244

218:                                              ; preds = %213
  store i64 %217, ptr %215, align 8, !tbaa !14
  %219 = getelementptr inbounds %"class.std::initializer_list.133", ptr %32, i32 0, i32 0
  store ptr %33, ptr %219, align 8, !tbaa !16
  %220 = getelementptr inbounds %"class.std::initializer_list.133", ptr %32, i32 0, i32 1
  store i64 2, ptr %220, align 8, !tbaa !18
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %221 unwind label %244

221:                                              ; preds = %218
  %222 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %210, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %223 unwind label %248

223:                                              ; preds = %221
  %224 = xor i1 %222, true
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #6
  br i1 %224, label %225, label %280

225:                                              ; preds = %223
  call void @llvm.lifetime.start.p0(i64 392, ptr %34) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %34)
          to label %226 unwind label %253

226:                                              ; preds = %225
  %227 = getelementptr inbounds i8, ptr %34, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #6
  %228 = getelementptr inbounds i8, ptr %63, i64 680
  %229 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %228)
          to label %230 unwind label %257

230:                                              ; preds = %226
  %231 = mul i64 3, %229
  store i64 %231, ptr %35, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #6
  %232 = getelementptr inbounds i8, ptr %63, i64 680
  %233 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %232)
          to label %234 unwind label %261

234:                                              ; preds = %230
  store i64 %233, ptr %36, align 8, !tbaa !14
  %235 = load ptr, ptr %17, align 8, !tbaa !5
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA3_KcmRA20_S2_RKNS_5ShapeERA2_S2_EEERSoSC_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %227, ptr noundef nonnull align 1 dereferenceable(33) @.str.11, ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 1 dereferenceable(3) @.str.7, ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 1 dereferenceable(20) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %235, ptr noundef nonnull align 1 dereferenceable(2) @.str.9)
          to label %237 unwind label %261

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

242:                                              ; preds = %237
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %238, ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef %63, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %243 unwind label %270

243:                                              ; preds = %242
  store i1 false, ptr %39, align 1
  invoke void @__cxa_throw(ptr %238, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #7
          to label %484 unwind label %270

244:                                              ; preds = %218, %213, %209
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %8, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %9, align 4
  br label %252

248:                                              ; preds = %221
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %8, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %9, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #6
  br label %252

252:                                              ; preds = %248, %244
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #6
  br label %472

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

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

261:                                              ; preds = %234, %230
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %8, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  br label %265

265:                                              ; preds = %261, %257
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  br label %278

266:                                              ; preds = %237
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %8, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %9, align 4
  br label %274

270:                                              ; preds = %243, %242
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %8, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %274

274:                                              ; preds = %270, %266
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #6
  %275 = load i1, ptr %39, align 1
  br i1 %275, label %276, label %277

276:                                              ; preds = %274
  call void @__cxa_free_exception(ptr %238) #6
  br label %277

277:                                              ; preds = %276, %274
  br label %278

278:                                              ; preds = %277, %265
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %34) #6
  br label %279

279:                                              ; preds = %278, %253
  call void @llvm.lifetime.end.p0(i64 392, ptr %34) #6
  br label %472

280:                                              ; preds = %223
  br label %281

281:                                              ; preds = %280
  br label %282

282:                                              ; preds = %281
  br label %283

283:                                              ; preds = %282
  %284 = load ptr, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #6
  %285 = load i64, ptr %15, align 8, !tbaa !14
  store i64 %285, ptr %42, align 8, !tbaa !14
  %286 = getelementptr inbounds i64, ptr %42, i64 1
  %287 = getelementptr inbounds i8, ptr %63, i64 680
  %288 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %287)
          to label %289 unwind label %311

289:                                              ; preds = %283
  store i64 %288, ptr %286, align 8, !tbaa !14
  %290 = getelementptr inbounds %"class.std::initializer_list.133", ptr %41, i32 0, i32 0
  store ptr %42, ptr %290, align 8, !tbaa !16
  %291 = getelementptr inbounds %"class.std::initializer_list.133", ptr %41, i32 0, i32 1
  store i64 2, ptr %291, align 8, !tbaa !18
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %292 unwind label %311

292:                                              ; preds = %289
  %293 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %284, ptr noundef nonnull align 8 dereferenceable(24) %40)
          to label %294 unwind label %315

294:                                              ; preds = %292
  %295 = xor i1 %293, true
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #6
  br i1 %295, label %296, label %342

296:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 392, ptr %43) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %297 unwind label %320

297:                                              ; preds = %296
  %298 = getelementptr inbounds i8, ptr %43, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #6
  %299 = getelementptr inbounds i8, ptr %63, i64 680
  %300 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %299)
          to label %301 unwind label %324

301:                                              ; preds = %297
  store i64 %300, ptr %44, align 8, !tbaa !14
  %302 = load ptr, ptr %17, align 8, !tbaa !5
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA52_cJRKmRA3_KcmRA20_S4_RKNS_5ShapeERA2_S4_EEERSoSE_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %298, ptr noundef nonnull align 1 dereferenceable(52) @.str.13, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 1 dereferenceable(3) @.str.7, ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 1 dereferenceable(20) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %302, ptr noundef nonnull align 1 dereferenceable(2) @.str.9)
          to label %304 unwind label %324

304:                                              ; preds = %301
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  store i1 true, ptr %47, align 1
  %305 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #6
  %306 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %45, i32 0, i32 0
  store ptr @.str.4, ptr %306, align 8, !tbaa !9
  %307 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %45, i32 0, i32 1
  store i32 152, ptr %307, align 8, !tbaa !12
  %308 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %45, i32 0, i32 2
  store ptr @.str.14, ptr %308, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #6
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %309 unwind label %328

309:                                              ; preds = %304
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %305, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef %63, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %310 unwind label %332

310:                                              ; preds = %309
  store i1 false, ptr %47, align 1
  invoke void @__cxa_throw(ptr %305, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #7
          to label %484 unwind label %332

311:                                              ; preds = %289, %283
  %312 = landingpad { ptr, i32 }
          cleanup
  %313 = extractvalue { ptr, i32 } %312, 0
  store ptr %313, ptr %8, align 8
  %314 = extractvalue { ptr, i32 } %312, 1
  store i32 %314, ptr %9, align 4
  br label %319

315:                                              ; preds = %292
  %316 = landingpad { ptr, i32 }
          cleanup
  %317 = extractvalue { ptr, i32 } %316, 0
  store ptr %317, ptr %8, align 8
  %318 = extractvalue { ptr, i32 } %316, 1
  store i32 %318, ptr %9, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #6
  br label %319

319:                                              ; preds = %315, %311
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #6
  br label %472

320:                                              ; preds = %296
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %8, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %9, align 4
  br label %341

324:                                              ; preds = %301, %297
  %325 = landingpad { ptr, i32 }
          cleanup
  %326 = extractvalue { ptr, i32 } %325, 0
  store ptr %326, ptr %8, align 8
  %327 = extractvalue { ptr, i32 } %325, 1
  store i32 %327, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  br label %340

328:                                              ; preds = %304
  %329 = landingpad { ptr, i32 }
          cleanup
  %330 = extractvalue { ptr, i32 } %329, 0
  store ptr %330, ptr %8, align 8
  %331 = extractvalue { ptr, i32 } %329, 1
  store i32 %331, ptr %9, align 4
  br label %336

332:                                              ; preds = %310, %309
  %333 = landingpad { ptr, i32 }
          cleanup
  %334 = extractvalue { ptr, i32 } %333, 0
  store ptr %334, ptr %8, align 8
  %335 = extractvalue { ptr, i32 } %333, 1
  store i32 %335, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %336

336:                                              ; preds = %332, %328
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #6
  %337 = load i1, ptr %47, align 1
  br i1 %337, label %338, label %339

338:                                              ; preds = %336
  call void @__cxa_free_exception(ptr %305) #6
  br label %339

339:                                              ; preds = %338, %336
  br label %340

340:                                              ; preds = %339, %324
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43) #6
  br label %341

341:                                              ; preds = %340, %320
  call void @llvm.lifetime.end.p0(i64 392, ptr %43) #6
  br label %472

342:                                              ; preds = %294
  br label %343

343:                                              ; preds = %342
  br label %344

344:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #6
  %345 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %63, i64 noundef 4)
          to label %346 unwind label %362

346:                                              ; preds = %344
  store ptr %345, ptr %48, align 8, !tbaa !5
  br label %347

347:                                              ; preds = %346
  %348 = load ptr, ptr %48, align 8, !tbaa !5
  %349 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %348)
          to label %350 unwind label %362

350:                                              ; preds = %347
  br i1 %349, label %388, label %351

351:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 392, ptr %49) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %49)
          to label %352 unwind label %366

352:                                              ; preds = %351
  %353 = getelementptr inbounds i8, ptr %49, i64 16
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA44_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %353, ptr noundef nonnull align 1 dereferenceable(44) @.str.3)
          to label %355 unwind label %370

355:                                              ; preds = %352
  store i1 true, ptr %52, align 1
  %356 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %50) #6
  %357 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %50, i32 0, i32 0
  store ptr @.str.4, ptr %357, align 8, !tbaa !9
  %358 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %50, i32 0, i32 1
  store i32 157, ptr %358, align 8, !tbaa !12
  %359 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %50, i32 0, i32 2
  store ptr @.str.15, ptr %359, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #6
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(128) %49)
          to label %360 unwind label %374

360:                                              ; preds = %355
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %356, ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef %63, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %361 unwind label %378

361:                                              ; preds = %360
  store i1 false, ptr %52, align 1
  invoke void @__cxa_throw(ptr %356, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #7
          to label %484 unwind label %378

362:                                              ; preds = %347, %344
  %363 = landingpad { ptr, i32 }
          cleanup
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %8, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %9, align 4
  br label %471

366:                                              ; preds = %351
  %367 = landingpad { ptr, i32 }
          cleanup
  %368 = extractvalue { ptr, i32 } %367, 0
  store ptr %368, ptr %8, align 8
  %369 = extractvalue { ptr, i32 } %367, 1
  store i32 %369, ptr %9, align 4
  br label %387

370:                                              ; preds = %352
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %8, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %9, align 4
  br label %386

374:                                              ; preds = %355
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %8, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %9, align 4
  br label %382

378:                                              ; preds = %361, %360
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %8, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %382

382:                                              ; preds = %378, %374
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #6
  %383 = load i1, ptr %52, align 1
  br i1 %383, label %384, label %385

384:                                              ; preds = %382
  call void @__cxa_free_exception(ptr %356) #6
  br label %385

385:                                              ; preds = %384, %382
  br label %386

386:                                              ; preds = %385, %370
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %49) #6
  br label %387

387:                                              ; preds = %386, %366
  call void @llvm.lifetime.end.p0(i64 392, ptr %49) #6
  br label %471

388:                                              ; preds = %350
  br label %389

389:                                              ; preds = %388
  br label %390

390:                                              ; preds = %389
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #6
  %391 = load ptr, ptr %48, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %54, ptr noundef nonnull align 8 dereferenceable(32) %391)
          to label %392 unwind label %431

392:                                              ; preds = %390
  store ptr %54, ptr %53, align 8, !tbaa !5
  br label %393

393:                                              ; preds = %392
  %394 = load ptr, ptr %53, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %55) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #6
  %395 = getelementptr inbounds %"class.ngraph::op::v3::GRUCell", ptr %63, i32 0, i32 4
  %396 = load i8, ptr %395, align 8, !tbaa !19, !range !84, !noundef !85
  %397 = trunc i8 %396 to i1
  %398 = zext i1 %397 to i64
  %399 = add i64 3, %398
  %400 = getelementptr inbounds i8, ptr %63, i64 680
  %401 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %400)
          to label %402 unwind label %435

402:                                              ; preds = %393
  %403 = mul i64 %399, %401
  store i64 %403, ptr %57, align 8, !tbaa !14
  %404 = getelementptr inbounds %"class.std::initializer_list.133", ptr %56, i32 0, i32 0
  store ptr %57, ptr %404, align 8, !tbaa !16
  %405 = getelementptr inbounds %"class.std::initializer_list.133", ptr %56, i32 0, i32 1
  store i64 1, ptr %405, align 8, !tbaa !18
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %406 unwind label %435

406:                                              ; preds = %402
  %407 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %394, ptr noundef nonnull align 8 dereferenceable(24) %55)
          to label %408 unwind label %439

408:                                              ; preds = %406
  %409 = xor i1 %407, true
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #6
  br i1 %409, label %410, label %466

410:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 392, ptr %58) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %58)
          to label %411 unwind label %444

411:                                              ; preds = %410
  %412 = getelementptr inbounds i8, ptr %58, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #6
  %413 = getelementptr inbounds %"class.ngraph::op::v3::GRUCell", ptr %63, i32 0, i32 4
  %414 = load i8, ptr %413, align 8, !tbaa !19, !range !84, !noundef !85
  %415 = trunc i8 %414 to i1
  %416 = zext i1 %415 to i64
  %417 = add i64 3, %416
  %418 = getelementptr inbounds i8, ptr %63, i64 680
  %419 = invoke noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %418)
          to label %420 unwind label %448

420:                                              ; preds = %411
  %421 = mul i64 %417, %419
  store i64 %421, ptr %59, align 8, !tbaa !14
  %422 = load ptr, ptr %53, align 8, !tbaa !5
  %423 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA20_KcRKNS_5ShapeERA2_S2_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %412, ptr noundef nonnull align 1 dereferenceable(33) @.str.16, ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull align 1 dereferenceable(20) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %422, ptr noundef nonnull align 1 dereferenceable(2) @.str.9)
          to label %424 unwind label %448

424:                                              ; preds = %420
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #6
  store i1 true, ptr %62, align 1
  %425 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %60) #6
  %426 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %60, i32 0, i32 0
  store ptr @.str.4, ptr %426, align 8, !tbaa !9
  %427 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %60, i32 0, i32 1
  store i32 168, ptr %427, align 8, !tbaa !12
  %428 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %60, i32 0, i32 2
  store ptr @.str.17, ptr %428, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #6
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(128) %58)
          to label %429 unwind label %452

429:                                              ; preds = %424
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %425, ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef %63, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %430 unwind label %456

430:                                              ; preds = %429
  store i1 false, ptr %62, align 1
  invoke void @__cxa_throw(ptr %425, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #7
          to label %484 unwind label %456

431:                                              ; preds = %390
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %8, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %9, align 4
  br label %470

435:                                              ; preds = %402, %393
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %8, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %9, align 4
  br label %443

439:                                              ; preds = %406
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %8, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %9, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #6
  br label %443

443:                                              ; preds = %439, %435
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #6
  br label %469

444:                                              ; preds = %410
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %8, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %9, align 4
  br label %465

448:                                              ; preds = %420, %411
  %449 = landingpad { ptr, i32 }
          cleanup
  %450 = extractvalue { ptr, i32 } %449, 0
  store ptr %450, ptr %8, align 8
  %451 = extractvalue { ptr, i32 } %449, 1
  store i32 %451, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #6
  br label %464

452:                                              ; preds = %424
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %8, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %9, align 4
  br label %460

456:                                              ; preds = %430, %429
  %457 = landingpad { ptr, i32 }
          cleanup
  %458 = extractvalue { ptr, i32 } %457, 0
  store ptr %458, ptr %8, align 8
  %459 = extractvalue { ptr, i32 } %457, 1
  store i32 %459, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %460

460:                                              ; preds = %456, %452
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #6
  %461 = load i1, ptr %62, align 1
  br i1 %461, label %462, label %463

462:                                              ; preds = %460
  call void @__cxa_free_exception(ptr %425) #6
  br label %463

463:                                              ; preds = %462, %460
  br label %464

464:                                              ; preds = %463, %448
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %58) #6
  br label %465

465:                                              ; preds = %464, %444
  call void @llvm.lifetime.end.p0(i64 392, ptr %58) #6
  br label %469

466:                                              ; preds = %408
  br label %467

467:                                              ; preds = %466
  br label %468

468:                                              ; preds = %467
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #6
  ret void

469:                                              ; preds = %465, %443
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #6
  br label %470

470:                                              ; preds = %469, %431
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #6
  br label %471

471:                                              ; preds = %470, %387, %362
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  br label %472

472:                                              ; preds = %471, %341, %319, %279, %252, %205, %183
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #6
  br label %473

473:                                              ; preds = %472, %171
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #6
  br label %474

474:                                              ; preds = %473, %167
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #6
  br label %475

475:                                              ; preds = %474, %163
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #6
  br label %476

476:                                              ; preds = %475, %159
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  br label %477

477:                                              ; preds = %476, %155
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #6
  br label %478

478:                                              ; preds = %477, %106
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #6
  br label %479

479:                                              ; preds = %478
  %480 = load ptr, ptr %8, align 8
  %481 = load i32, ptr %9, align 4
  %482 = insertvalue { ptr, i32 } poison, ptr %480, 0
  %483 = insertvalue { ptr, i32 } %482, i32 %481, 1
  resume { ptr, i32 } %483

484:                                              ; preds = %430, %361, %310, %243, %154, %89
  unreachable
}

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA44_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(44)) #4

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA3_KcRKmRA20_S2_RKNS_5ShapeERA2_S2_EEERSoSE_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(20), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(2)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA3_KcmRA20_S2_RKNS_5ShapeERA2_S2_EEERSoSC_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(20), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(2)) #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA20_KcRKNS_5ShapeERA2_S2_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(20), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(2)) #4

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

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

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

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


; 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_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.128" }
%"class.std::vector.128" = type { %"struct.std::_Vector_base.129" }
%"struct.std::_Vector_base.129" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.133" = type { ptr, i64 }

@.str.3 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [96 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.6 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [80 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 nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v37GRUCell28pre_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(809) %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::Shape", align 8
  %6 = alloca i64, align 8
  %7 = alloca i64, align 8
  %8 = alloca %"class.ngraph::Shape", align 8
  %9 = alloca %"class.ngraph::Shape", align 8
  %10 = alloca %"class.ngraph::Shape", align 8
  %11 = alloca %"class.ngraph::Shape", align 8
  %12 = alloca %"class.std::initializer_list.133", align 8
  %13 = alloca [2 x i64], align 8
  %14 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %15 = alloca i64, align 8
  %16 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.ngraph::Shape", align 8
  %19 = alloca %"class.std::initializer_list.133", align 8
  %20 = alloca [2 x i64], align 8
  %21 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.ngraph::Shape", align 8
  %27 = alloca %"class.std::initializer_list.133", align 8
  %28 = alloca [2 x i64], align 8
  %29 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %30 = alloca i64, align 8
  %31 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %34 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.ngraph::Shape", align 8
  %37 = alloca %"class.ngraph::Shape", align 8
  %38 = alloca %"class.std::initializer_list.133", align 8
  %39 = alloca [1 x i64], align 8
  %40 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %41 = alloca i64, align 8
  %42 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %45 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
  %46 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
  %47 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
  %48 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %44)
  br i1 %48, label %72, label %49

49:                                               ; preds = %1
  %50 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %46)
  br i1 %50, label %72, label %51

51:                                               ; preds = %49
  %52 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  br i1 %52, label %72, label %53

53:                                               ; preds = %51
  %54 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %45)
  br i1 %54, label %72, label %55

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

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

62:                                               ; 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) %3, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %64 unwind label %.thread115

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

64:                                               ; preds = %62
  invoke void @__cxa_throw(ptr nonnull %59, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #7
          to label %279 unwind label %68

65:                                               ; preds = %55
  %66 = landingpad { ptr, i32 }
          cleanup
  br label %71

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

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

70:                                               ; preds = %.thread115, %.thread
  %.pn114 = phi { ptr, i32 } [ %67, %.thread ], [ %63, %.thread115 ]
  call void @__cxa_free_exception(ptr %59) #6
  br label %71

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

72:                                               ; preds = %53, %51, %49, %1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #6
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %44)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #6
  %73 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0)
          to label %74 unwind label %103

74:                                               ; preds = %72
  %75 = load i64, ptr %73, align 8, !tbaa !13
  store i64 %75, ptr %6, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #6
  %76 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorImSaImEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1)
          to label %77 unwind label %105

77:                                               ; preds = %74
  %78 = load i64, ptr %76, align 8, !tbaa !13
  store i64 %78, ptr %7, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #6
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %8, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %79 unwind label %107

79:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #6
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %80 unwind label %109

80:                                               ; preds = %79
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #6
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %81 unwind label %111

81:                                               ; preds = %80
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #6
  %82 = getelementptr inbounds i8, ptr %0, i64 680
  %83 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  %84 = mul i64 %83, 3
  store i64 %84, ptr %13, align 8, !tbaa !13
  %85 = getelementptr inbounds i8, ptr %13, i64 8
  store i64 %78, ptr %85, align 8, !tbaa !13
  store ptr %13, ptr %12, align 8, !tbaa !15
  %86 = getelementptr inbounds i8, ptr %12, i64 8
  store i64 2, ptr %86, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %87 unwind label %113

87:                                               ; preds = %81
  %88 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %89 unwind label %115

89:                                               ; preds = %87
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #6
  br i1 %88, label %128, label %90

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

91:                                               ; preds = %90
  %92 = getelementptr inbounds i8, ptr %14, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #6
  %93 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  %94 = mul i64 %93, 3
  store i64 %94, ptr %15, align 8, !tbaa !13
  %95 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA3_KcRKmRA20_S2_RKNS_5ShapeERA2_S2_EEERSoSE_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef nonnull align 1 dereferenceable(33) @.str.6, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 1 dereferenceable(3) @.str.7, ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 1 dereferenceable(20) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 1 dereferenceable(2) @.str.9)
          to label %96 unwind label %120

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

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) %16, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %102 unwind label %.thread121

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

102:                                              ; preds = %100
  invoke void @__cxa_throw(ptr nonnull %97, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #7
          to label %279 unwind label %123

103:                                              ; preds = %72
  %104 = landingpad { ptr, i32 }
          cleanup
  br label %277

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

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

109:                                              ; preds = %79
  %110 = landingpad { ptr, i32 }
          cleanup
  br label %275

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

113:                                              ; preds = %81
  %114 = landingpad { ptr, i32 }
          cleanup
  br label %117

115:                                              ; preds = %87
  %116 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  br label %117

117:                                              ; preds = %115, %113
  %.pn73 = phi { ptr, i32 } [ %116, %115 ], [ %114, %113 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #6
  br label %273

118:                                              ; preds = %90
  %119 = landingpad { ptr, i32 }
          cleanup
  br label %127

120:                                              ; preds = %91
  %121 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #6
  br label %126

.thread117:                                       ; preds = %96
  %122 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #6
  br label %125

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

125:                                              ; preds = %.thread121, %.thread117
  %.pn101120 = phi { ptr, i32 } [ %122, %.thread117 ], [ %101, %.thread121 ]
  call void @__cxa_free_exception(ptr %97) #6
  br label %126

126:                                              ; preds = %123, %125, %120
  %.pn101.pn = phi { ptr, i32 } [ %.pn101120, %125 ], [ %124, %123 ], [ %121, %120 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %14) #6
  br label %127

127:                                              ; preds = %126, %118
  %.pn101.pn.pn = phi { ptr, i32 } [ %.pn101.pn, %126 ], [ %119, %118 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %14) #6
  br label %273

128:                                              ; preds = %89
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #6
  %129 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  %130 = mul i64 %129, 3
  store i64 %130, ptr %20, align 8, !tbaa !13
  %131 = getelementptr inbounds i8, ptr %20, i64 8
  %132 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  store i64 %132, ptr %131, align 8, !tbaa !13
  store ptr %20, ptr %19, align 8, !tbaa !15
  %133 = getelementptr inbounds i8, ptr %19, i64 8
  store i64 2, ptr %133, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %134 unwind label %151

134:                                              ; preds = %128
  %135 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %18)
          to label %136 unwind label %153

136:                                              ; preds = %134
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #6
  br i1 %135, label %166, label %137

137:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %21) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %21)
          to label %138 unwind label %156

138:                                              ; preds = %137
  %139 = getelementptr inbounds i8, ptr %21, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #6
  %140 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  %141 = mul i64 %140, 3
  store i64 %141, ptr %22, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #6
  %142 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  store i64 %142, ptr %23, align 8, !tbaa !13
  %143 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA3_KcmRA20_S2_RKNS_5ShapeERA2_S2_EEERSoSC_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull align 1 dereferenceable(33) @.str.11, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 1 dereferenceable(3) @.str.7, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 1 dereferenceable(20) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 1 dereferenceable(2) @.str.9)
          to label %144 unwind label %158

144:                                              ; preds = %138
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  %145 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #6
  store ptr @.str.4, ptr %24, align 8, !tbaa !5
  %146 = getelementptr inbounds i8, ptr %24, i64 8
  store i32 143, ptr %146, align 8, !tbaa !11
  %147 = getelementptr inbounds i8, ptr %24, i64 16
  store ptr @.str.12, ptr %147, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  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) %21)
          to label %148 unwind label %.thread123

148:                                              ; preds = %144
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %145, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %150 unwind label %.thread127

.thread127:                                       ; preds = %148
  %149 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #6
  br label %163

150:                                              ; preds = %148
  invoke void @__cxa_throw(ptr nonnull %145, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #7
          to label %279 unwind label %161

151:                                              ; preds = %128
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %155

153:                                              ; preds = %134
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  br label %155

155:                                              ; preds = %153, %151
  %.pn75 = phi { ptr, i32 } [ %154, %153 ], [ %152, %151 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #6
  br label %273

156:                                              ; preds = %137
  %157 = landingpad { ptr, i32 }
          cleanup
  br label %165

158:                                              ; preds = %138
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  br label %164

.thread123:                                       ; preds = %144
  %160 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #6
  br label %163

161:                                              ; preds = %150
  %162 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #6
  br label %164

163:                                              ; preds = %.thread127, %.thread123
  %.pn97126 = phi { ptr, i32 } [ %160, %.thread123 ], [ %149, %.thread127 ]
  call void @__cxa_free_exception(ptr %145) #6
  br label %164

164:                                              ; preds = %161, %163, %158
  %.pn97.pn = phi { ptr, i32 } [ %.pn97126, %163 ], [ %162, %161 ], [ %159, %158 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %21) #6
  br label %165

165:                                              ; preds = %164, %156
  %.pn97.pn.pn = phi { ptr, i32 } [ %.pn97.pn, %164 ], [ %157, %156 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %21) #6
  br label %273

166:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #6
  store i64 %75, ptr %28, align 8, !tbaa !13
  %167 = getelementptr inbounds i8, ptr %28, i64 8
  %168 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  store i64 %168, ptr %167, align 8, !tbaa !13
  store ptr %28, ptr %27, align 8, !tbaa !15
  %169 = getelementptr inbounds i8, ptr %27, i64 8
  store i64 2, ptr %169, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %170 unwind label %185

170:                                              ; preds = %166
  %171 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %26)
          to label %172 unwind label %187

172:                                              ; preds = %170
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #6
  br i1 %171, label %200, label %173

173:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %29) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %29)
          to label %174 unwind label %190

174:                                              ; preds = %173
  %175 = getelementptr inbounds i8, ptr %29, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #6
  %176 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  store i64 %176, ptr %30, align 8, !tbaa !13
  %177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA52_cJRKmRA3_KcmRA20_S4_RKNS_5ShapeERA2_S4_EEERSoSE_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %175, ptr noundef nonnull align 1 dereferenceable(52) @.str.13, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 1 dereferenceable(3) @.str.7, ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 1 dereferenceable(20) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 1 dereferenceable(2) @.str.9)
          to label %178 unwind label %192

178:                                              ; preds = %174
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  %179 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #6
  store ptr @.str.4, ptr %31, align 8, !tbaa !5
  %180 = getelementptr inbounds i8, ptr %31, i64 8
  store i32 152, ptr %180, align 8, !tbaa !11
  %181 = getelementptr inbounds i8, ptr %31, i64 16
  store ptr @.str.14, ptr %181, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #6
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(128) %29)
          to label %182 unwind label %.thread129

182:                                              ; preds = %178
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %179, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %184 unwind label %.thread133

.thread133:                                       ; preds = %182
  %183 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #6
  br label %197

184:                                              ; preds = %182
  invoke void @__cxa_throw(ptr nonnull %179, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #7
          to label %279 unwind label %195

185:                                              ; preds = %166
  %186 = landingpad { ptr, i32 }
          cleanup
  br label %189

187:                                              ; preds = %170
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #6
  br label %189

189:                                              ; preds = %187, %185
  %.pn77 = phi { ptr, i32 } [ %188, %187 ], [ %186, %185 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #6
  br label %273

190:                                              ; preds = %173
  %191 = landingpad { ptr, i32 }
          cleanup
  br label %199

192:                                              ; preds = %174
  %193 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  br label %198

.thread129:                                       ; preds = %178
  %194 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #6
  br label %197

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

197:                                              ; preds = %.thread133, %.thread129
  %.pn93132 = phi { ptr, i32 } [ %194, %.thread129 ], [ %183, %.thread133 ]
  call void @__cxa_free_exception(ptr %179) #6
  br label %198

198:                                              ; preds = %195, %197, %192
  %.pn93.pn = phi { ptr, i32 } [ %.pn93132, %197 ], [ %196, %195 ], [ %193, %192 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %29) #6
  br label %199

199:                                              ; preds = %198, %190
  %.pn93.pn.pn = phi { ptr, i32 } [ %.pn93.pn, %198 ], [ %191, %190 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %29) #6
  br label %273

200:                                              ; preds = %172
  %201 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 4)
          to label %202 unwind label %216

202:                                              ; preds = %200
  %203 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %201)
          to label %204 unwind label %216

204:                                              ; preds = %202
  br i1 %203, label %228, label %205

205:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %33) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %33)
          to label %206 unwind label %218

206:                                              ; preds = %205
  %207 = getelementptr inbounds i8, ptr %33, i64 16
  %208 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA44_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %207, ptr noundef nonnull align 1 dereferenceable(44) @.str.3)
          to label %209 unwind label %220

209:                                              ; preds = %206
  %210 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #6
  store ptr @.str.4, ptr %34, align 8, !tbaa !5
  %211 = getelementptr inbounds i8, ptr %34, i64 8
  store i32 157, ptr %211, align 8, !tbaa !11
  %212 = getelementptr inbounds i8, ptr %34, i64 16
  store ptr @.str.15, ptr %212, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(128) %33)
          to label %213 unwind label %.thread135

213:                                              ; preds = %209
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %210, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %215 unwind label %.thread139

.thread139:                                       ; preds = %213
  %214 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #6
  br label %225

215:                                              ; preds = %213
  invoke void @__cxa_throw(ptr nonnull %210, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #7
          to label %279 unwind label %223

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

218:                                              ; preds = %205
  %219 = landingpad { ptr, i32 }
          cleanup
  br label %227

220:                                              ; preds = %206
  %221 = landingpad { ptr, i32 }
          cleanup
  br label %226

.thread135:                                       ; preds = %209
  %222 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #6
  br label %225

223:                                              ; preds = %215
  %224 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #6
  br label %226

225:                                              ; preds = %.thread139, %.thread135
  %.pn79138 = phi { ptr, i32 } [ %222, %.thread135 ], [ %214, %.thread139 ]
  call void @__cxa_free_exception(ptr %210) #6
  br label %226

226:                                              ; preds = %223, %225, %220
  %.pn79.pn = phi { ptr, i32 } [ %.pn79138, %225 ], [ %224, %223 ], [ %221, %220 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %33) #6
  br label %227

227:                                              ; preds = %226, %218
  %.pn79.pn.pn = phi { ptr, i32 } [ %.pn79.pn, %226 ], [ %219, %218 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %33) #6
  br label %273

228:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #6
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %36, ptr noundef nonnull align 8 dereferenceable(32) %201)
          to label %229 unwind label %254

229:                                              ; preds = %228
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %37) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #6
  %230 = getelementptr inbounds i8, ptr %0, i64 808
  %231 = load i8, ptr %230, align 8, !tbaa !18, !range !83, !noundef !84
  %narrow = add nuw nsw i8 %231, 3
  %232 = zext nneg i8 %narrow to i64
  %233 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  %234 = mul i64 %233, %232
  store i64 %234, ptr %39, align 8, !tbaa !13
  store ptr %39, ptr %38, align 8, !tbaa !15
  %235 = getelementptr inbounds i8, ptr %38, i64 8
  store i64 1, ptr %235, align 8, !tbaa !17
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %236 unwind label %256

236:                                              ; preds = %229
  %237 = invoke noundef zeroext i1 @_ZSteqImSaImEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %37)
          to label %238 unwind label %258

238:                                              ; preds = %236
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #6
  br i1 %237, label %271, label %239

239:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %40) #6
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %40)
          to label %240 unwind label %261

240:                                              ; preds = %239
  %241 = getelementptr inbounds i8, ptr %40, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #6
  %242 = load i8, ptr %230, align 8, !tbaa !18, !range !83, !noundef !84
  %narrow85 = add nuw nsw i8 %242, 3
  %243 = zext nneg i8 %narrow85 to i64
  %244 = call noundef i64 @_ZNK6ngraph2op4util11RNNCellBase15get_hidden_sizeEv(ptr noundef nonnull align 8 dereferenceable(96) %82)
  %245 = mul i64 %244, %243
  store i64 %245, ptr %41, align 8, !tbaa !13
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA20_KcRKNS_5ShapeERA2_S2_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef nonnull align 1 dereferenceable(33) @.str.16, ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 1 dereferenceable(20) @.str.8, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 1 dereferenceable(2) @.str.9)
          to label %247 unwind label %263

247:                                              ; preds = %240
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #6
  %248 = call ptr @__cxa_allocate_exception(i64 16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #6
  store ptr @.str.4, ptr %42, align 8, !tbaa !5
  %249 = getelementptr inbounds i8, ptr %42, i64 8
  store i32 168, ptr %249, align 8, !tbaa !11
  %250 = getelementptr inbounds i8, ptr %42, i64 16
  store ptr @.str.17, ptr %250, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(128) %40)
          to label %251 unwind label %.thread141

251:                                              ; preds = %247
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %248, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %253 unwind label %.thread145

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

253:                                              ; preds = %251
  invoke void @__cxa_throw(ptr nonnull %248, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #7
          to label %279 unwind label %266

254:                                              ; preds = %228
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %273

256:                                              ; preds = %229
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %260

258:                                              ; preds = %236
  %259 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #6
  br label %260

260:                                              ; preds = %258, %256
  %.pn83 = phi { ptr, i32 } [ %259, %258 ], [ %257, %256 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #6
  br label %272

261:                                              ; preds = %239
  %262 = landingpad { ptr, i32 }
          cleanup
  br label %270

263:                                              ; preds = %240
  %264 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #6
  br label %269

.thread141:                                       ; preds = %247
  %265 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #6
  br label %268

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

268:                                              ; preds = %.thread145, %.thread141
  %.pn86144 = phi { ptr, i32 } [ %265, %.thread141 ], [ %252, %.thread145 ]
  call void @__cxa_free_exception(ptr %248) #6
  br label %269

269:                                              ; preds = %266, %268, %263
  %.pn86.pn = phi { ptr, i32 } [ %.pn86144, %268 ], [ %267, %266 ], [ %264, %263 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %40) #6
  br label %270

270:                                              ; preds = %269, %261
  %.pn86.pn.pn = phi { ptr, i32 } [ %.pn86.pn, %269 ], [ %262, %261 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %40) #6
  br label %272

271:                                              ; preds = %238
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #6
  ret void

272:                                              ; preds = %270, %260
  %.pn86.pn.pn.pn = phi { ptr, i32 } [ %.pn86.pn.pn, %270 ], [ %.pn83, %260 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #6
  br label %273

273:                                              ; preds = %216, %227, %272, %254, %199, %189, %165, %155, %127, %117
  %.pn101.pn.pn.pn = phi { ptr, i32 } [ %.pn101.pn.pn, %127 ], [ %.pn97.pn.pn, %165 ], [ %.pn93.pn.pn, %199 ], [ %.pn77, %189 ], [ %.pn75, %155 ], [ %.pn73, %117 ], [ %.pn79.pn.pn, %227 ], [ %217, %216 ], [ %.pn86.pn.pn.pn, %272 ], [ %255, %254 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #6
  br label %274

274:                                              ; preds = %273, %111
  %.pn101.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn101.pn.pn.pn, %273 ], [ %112, %111 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #6
  br label %275

275:                                              ; preds = %274, %109
  %.pn101.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn101.pn.pn.pn.pn, %274 ], [ %110, %109 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #6
  br label %276

276:                                              ; preds = %107, %275, %105
  %.pn101.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %106, %105 ], [ %.pn101.pn.pn.pn.pn.pn, %275 ], [ %108, %107 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #6
  br label %277

277:                                              ; preds = %276, %103
  %.pn101.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn101.pn.pn.pn.pn.pn.pn.pn, %276 ], [ %104, %103 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #6
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #6
  br label %278

278:                                              ; preds = %277, %71
  %.pn101.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn101.pn.pn.pn.pn.pn.pn.pn.pn, %277 ], [ %.pn.pn, %71 ]
  resume { ptr, i32 } %.pn101.pn.pn.pn.pn.pn.pn.pn.pn.pn

279:                                              ; preds = %253, %215, %184, %150, %102, %64
  unreachable
}

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA44_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(44)) local_unnamed_addr #4

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA3_KcRKmRA20_S2_RKNS_5ShapeERA2_S2_EEERSoSE_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(20), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(2)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA3_KcmRA20_S2_RKNS_5ShapeERA2_S2_EEERSoSC_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(20), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(2)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA33_cJmRA20_KcRKNS_5ShapeERA2_S2_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(20), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(2)) local_unnamed_addr #4

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

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

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

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


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