; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/lstm_cell.ll (ZNK6ngraph2op2v08LSTMCell12decompose_opEv)

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

%"class.std::vector.79" = type { %"struct.std::_Vector_base.80" }
%"struct.std::_Vector_base.80" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.85", i64 }
%"class.std::shared_ptr.85" = type { %"class.std::__shared_ptr.86" }
%"class.std::__shared_ptr.86" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.134" = type { %"class.std::__shared_ptr.135" }
%"class.std::__shared_ptr.135" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.137" = type { %"class.std::__shared_ptr.138" }
%"class.std::__shared_ptr.138" = type { ptr, %"class.std::__shared_count" }
%"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::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.std::allocator.76" = type { i8 }
%"class.std::initializer_list.84" = type { ptr, i64 }
%"class.std::allocator.81" = type { i8 }
%"class.ngraph::op::v0::LSTMCell" = type { %"class.ngraph::op::util::FusedOp", %"class.ngraph::op::util::RNNCellBase", %"class.ngraph::op::util::ActivationFunction", %"class.ngraph::op::util::ActivationFunction", %"class.ngraph::op::util::ActivationFunction", i8, i32 }
%"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::__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::unordered_set.13" = type { %"class.std::_Hashtable.14" }
%"class.std::_Hashtable.14" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"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.ngraph::op::util::ActivationFunction" = type { ptr, float, float }

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v08LSTMCell12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.79") align 8 %0, ptr noundef nonnull align 8 dereferenceable(832) %1) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"class.ngraph::Output", align 8
  %6 = alloca %"class.ngraph::Output", align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca %"class.ngraph::Output", align 8
  %10 = alloca %"class.ngraph::Output", align 8
  %11 = alloca %"class.ngraph::Output", align 8
  %12 = alloca %"class.ngraph::Output", align 8
  %13 = alloca %"class.std::vector.79", align 8
  %14 = alloca %"class.ngraph::Output", align 8
  %15 = alloca %"class.ngraph::Output", align 8
  %16 = alloca %"class.std::shared_ptr.85", align 8
  %17 = alloca %"class.ngraph::Output", align 8
  %18 = alloca %"class.std::shared_ptr.85", align 8
  %19 = alloca %"class.ngraph::Output", align 8
  %20 = alloca %"class.std::shared_ptr.85", align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca %"class.std::shared_ptr.134", align 8
  %25 = alloca %"class.std::shared_ptr.85", align 8
  %26 = alloca %"class.std::shared_ptr.134", align 8
  %27 = alloca %"class.std::shared_ptr.85", align 8
  %28 = alloca %"class.std::shared_ptr.85", align 8
  %29 = alloca %"class.ngraph::Output", align 8
  %30 = alloca %"class.ngraph::Output", align 8
  %31 = alloca %"class.std::shared_ptr.85", align 8
  %32 = alloca %"class.ngraph::Output", align 8
  %33 = alloca %"class.std::vector.79", align 8
  %34 = alloca %"class.ngraph::Output", align 8
  %35 = alloca %"class.ngraph::Output", align 8
  %36 = alloca %"class.ngraph::Output", align 8
  %37 = alloca %"class.ngraph::Output", align 8
  %38 = alloca %"class.ngraph::Output", align 8
  %39 = alloca %"class.ngraph::Output", align 8
  %40 = alloca %"class.ngraph::Output", align 8
  %41 = alloca %"class.ngraph::Output", align 8
  %42 = alloca %"class.std::shared_ptr.85", align 8
  %43 = alloca %"class.ngraph::Output", align 8
  %44 = alloca %"class.std::shared_ptr.85", align 8
  %45 = alloca %"class.ngraph::Output", align 8
  %46 = alloca %"class.std::shared_ptr.85", align 8
  %47 = alloca %"class.ngraph::Output", align 8
  %48 = alloca %"class.std::shared_ptr.137", align 8
  %49 = alloca %"class.ngraph::Shape", align 8
  %50 = alloca %"class.std::vector.74", align 8
  %51 = alloca float, align 4
  %52 = alloca %"class.std::allocator.76", align 1
  %53 = alloca %"class.ngraph::Output", align 8
  %54 = alloca %"class.ngraph::Output", align 8
  %55 = alloca %"class.ngraph::Output", align 8
  %56 = alloca %"class.std::shared_ptr.85", align 8
  %57 = alloca %"class.ngraph::Output", align 8
  %58 = alloca %"class.std::shared_ptr.85", align 8
  %59 = alloca %"class.std::shared_ptr.85", align 8
  %60 = alloca %"class.ngraph::Output", align 8
  %61 = alloca %"class.std::shared_ptr.85", align 8
  %62 = alloca %"class.ngraph::Output", align 8
  %63 = alloca %"class.std::shared_ptr.85", align 8
  %64 = alloca %"class.ngraph::Output", align 8
  %65 = alloca %"class.ngraph::Output", align 8
  %66 = alloca %"class.ngraph::Output", align 8
  %67 = alloca %"class.ngraph::Output", align 8
  %68 = alloca %"class.ngraph::Output", align 8
  %69 = alloca %"class.std::shared_ptr.85", align 8
  %70 = alloca %"class.ngraph::Output", align 8
  %71 = alloca %"class.std::shared_ptr.85", align 8
  %72 = alloca %"class.ngraph::Output", align 8
  %73 = alloca %"class.std::shared_ptr.85", align 8
  %74 = alloca %"class.ngraph::Output", align 8
  %75 = alloca %"class.ngraph::Output", align 8
  %76 = alloca %"class.ngraph::Output", align 8
  %77 = alloca %"class.std::initializer_list.84", align 8
  %78 = alloca [2 x %"class.ngraph::Output"], align 8
  %79 = alloca ptr, align 8
  %80 = alloca %"class.std::allocator.81", align 1
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  %81 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %5) #7
  call void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %5, ptr noundef nonnull align 8 dereferenceable(680) %81, i64 noundef 0)
  call void @llvm.lifetime.start.p0(i64 24, ptr %6) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %6, ptr noundef nonnull align 8 dereferenceable(680) %81, i64 noundef 1)
          to label %82 unwind label %102

82:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %9, ptr noundef nonnull align 8 dereferenceable(680) %81, i64 noundef 2)
          to label %83 unwind label %106

83:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %10, ptr noundef nonnull align 8 dereferenceable(680) %81, i64 noundef 3)
          to label %84 unwind label %110

84:                                               ; preds = %83
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %11, ptr noundef nonnull align 8 dereferenceable(680) %81, i64 noundef 4)
          to label %85 unwind label %114

85:                                               ; preds = %84
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %12, ptr noundef nonnull align 8 dereferenceable(680) %81, i64 noundef 5)
          to label %86 unwind label %118

86:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %14, ptr noundef nonnull align 8 dereferenceable(680) %81, i64 noundef 6)
          to label %87 unwind label %122

87:                                               ; preds = %86
  invoke void @_ZN6ngraph7builder5splitERKNS_6OutputINS_4NodeEEEmi(ptr dead_on_unwind writable sret(%"class.std::vector.79") align 8 %13, ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef 3, i32 noundef 0)
          to label %88 unwind label %126

88:                                               ; preds = %87
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #7
  %89 = getelementptr inbounds %"class.ngraph::op::v0::LSTMCell", ptr %81, i32 0, i32 6
  %90 = load i32, ptr %89, align 4, !tbaa !9
  %91 = icmp ne i32 %90, 2
  br i1 %91, label %92, label %158

92:                                               ; preds = %88
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #7
  invoke void @_ZNK6ngraph2op2v08LSTMCell19convert_node_formatERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %16, ptr noundef nonnull align 8 dereferenceable(832) %81, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %93 unwind label %131

93:                                               ; preds = %92
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %94 unwind label %135

94:                                               ; preds = %93
  %95 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #7
  invoke void @_ZNK6ngraph2op2v08LSTMCell19convert_node_formatERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %18, ptr noundef nonnull align 8 dereferenceable(832) %81, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %96 unwind label %140

96:                                               ; preds = %94
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %97 unwind label %144

97:                                               ; preds = %96
  %98 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %19) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #7
  invoke void @_ZNK6ngraph2op2v08LSTMCell19convert_node_formatERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %20, ptr noundef nonnull align 8 dereferenceable(832) %81, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %99 unwind label %149

99:                                               ; preds = %97
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %100 unwind label %153

100:                                              ; preds = %99
  %101 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %19) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #7
  br label %158

102:                                              ; preds = %2
  %103 = landingpad { ptr, i32 }
          cleanup
  %104 = extractvalue { ptr, i32 } %103, 0
  store ptr %104, ptr %7, align 8
  %105 = extractvalue { ptr, i32 } %103, 1
  store i32 %105, ptr %8, align 4
  br label %570

106:                                              ; preds = %82
  %107 = landingpad { ptr, i32 }
          cleanup
  %108 = extractvalue { ptr, i32 } %107, 0
  store ptr %108, ptr %7, align 8
  %109 = extractvalue { ptr, i32 } %107, 1
  store i32 %109, ptr %8, align 4
  br label %569

110:                                              ; preds = %83
  %111 = landingpad { ptr, i32 }
          cleanup
  %112 = extractvalue { ptr, i32 } %111, 0
  store ptr %112, ptr %7, align 8
  %113 = extractvalue { ptr, i32 } %111, 1
  store i32 %113, ptr %8, align 4
  br label %568

114:                                              ; preds = %84
  %115 = landingpad { ptr, i32 }
          cleanup
  %116 = extractvalue { ptr, i32 } %115, 0
  store ptr %116, ptr %7, align 8
  %117 = extractvalue { ptr, i32 } %115, 1
  store i32 %117, ptr %8, align 4
  br label %567

118:                                              ; preds = %85
  %119 = landingpad { ptr, i32 }
          cleanup
  %120 = extractvalue { ptr, i32 } %119, 0
  store ptr %120, ptr %7, align 8
  %121 = extractvalue { ptr, i32 } %119, 1
  store i32 %121, ptr %8, align 4
  br label %566

122:                                              ; preds = %86
  %123 = landingpad { ptr, i32 }
          cleanup
  %124 = extractvalue { ptr, i32 } %123, 0
  store ptr %124, ptr %7, align 8
  %125 = extractvalue { ptr, i32 } %123, 1
  store i32 %125, ptr %8, align 4
  br label %130

126:                                              ; preds = %87
  %127 = landingpad { ptr, i32 }
          cleanup
  %128 = extractvalue { ptr, i32 } %127, 0
  store ptr %128, ptr %7, align 8
  %129 = extractvalue { ptr, i32 } %127, 1
  store i32 %129, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  br label %130

130:                                              ; preds = %126, %122
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #7
  br label %565

131:                                              ; preds = %92
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %7, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %8, align 4
  br label %139

135:                                              ; preds = %93
  %136 = landingpad { ptr, i32 }
          cleanup
  %137 = extractvalue { ptr, i32 } %136, 0
  store ptr %137, ptr %7, align 8
  %138 = extractvalue { ptr, i32 } %136, 1
  store i32 %138, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  br label %139

139:                                              ; preds = %135, %131
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #7
  br label %564

140:                                              ; preds = %94
  %141 = landingpad { ptr, i32 }
          cleanup
  %142 = extractvalue { ptr, i32 } %141, 0
  store ptr %142, ptr %7, align 8
  %143 = extractvalue { ptr, i32 } %141, 1
  store i32 %143, ptr %8, align 4
  br label %148

144:                                              ; preds = %96
  %145 = landingpad { ptr, i32 }
          cleanup
  %146 = extractvalue { ptr, i32 } %145, 0
  store ptr %146, ptr %7, align 8
  %147 = extractvalue { ptr, i32 } %145, 1
  store i32 %147, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #7
  br label %148

148:                                              ; preds = %144, %140
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #7
  br label %564

149:                                              ; preds = %97
  %150 = landingpad { ptr, i32 }
          cleanup
  %151 = extractvalue { ptr, i32 } %150, 0
  store ptr %151, ptr %7, align 8
  %152 = extractvalue { ptr, i32 } %150, 1
  store i32 %152, ptr %8, align 4
  br label %157

153:                                              ; preds = %99
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %7, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br label %157

157:                                              ; preds = %153, %149
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #7
  br label %564

158:                                              ; preds = %100, %88
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  %159 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 0)
          to label %160 unwind label %213

160:                                              ; preds = %158
  store ptr %159, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  %161 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 1)
          to label %162 unwind label %217

162:                                              ; preds = %160
  store ptr %161, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %163 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 2)
          to label %164 unwind label %221

164:                                              ; preds = %162
  store ptr %163, ptr %23, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  invoke void @_ZN6ngraph7builder9transposeERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %25, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %165 unwind label %225

165:                                              ; preds = %164
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRNS0_6OutputINS0_4NodeEEESt10shared_ptrIS5_EEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.134") align 8 %24, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(16) %25)
          to label %166 unwind label %229

166:                                              ; preds = %165
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #7
  invoke void @_ZN6ngraph7builder9transposeERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %27, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %167 unwind label %234

167:                                              ; preds = %166
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRNS0_6OutputINS0_4NodeEEESt10shared_ptrIS5_EEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.134") align 8 %26, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %168 unwind label %238

168:                                              ; preds = %167
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %169 unwind label %243

169:                                              ; preds = %168
  call void @llvm.lifetime.start.p0(i64 24, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %32) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %170 unwind label %247

170:                                              ; preds = %169
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %31, ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %171 unwind label %251

171:                                              ; preds = %170
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %172 unwind label %255

172:                                              ; preds = %171
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %28, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %173 unwind label %259

173:                                              ; preds = %172
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %174 unwind label %267

174:                                              ; preds = %173
  invoke void @_ZN6ngraph7builder5splitERKNS_6OutputINS_4NodeEEEmi(ptr dead_on_unwind writable sret(%"class.std::vector.79") align 8 %33, ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef 4, i32 noundef -1)
          to label %175 unwind label %271

175:                                              ; preds = %174
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #7
  %176 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef 0)
          to label %177 unwind label %276

177:                                              ; preds = %175
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %176) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #7
  %178 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef 1)
          to label %179 unwind label %280

179:                                              ; preds = %177
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %178) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %37) #7
  %180 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef 2)
          to label %181 unwind label %284

181:                                              ; preds = %179
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(24) %180) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #7
  %182 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef 3)
          to label %183 unwind label %288

183:                                              ; preds = %181
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %182) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %39) #7
  %184 = getelementptr inbounds %"class.ngraph::op::v0::LSTMCell", ptr %81, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #7
  %185 = getelementptr inbounds i8, ptr %81, i64 680
  call void @llvm.lifetime.start.p0(i64 24, ptr %41) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #7
  %186 = load ptr, ptr %21, align 8, !tbaa !5
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %44, ptr noundef nonnull align 8 dereferenceable(24) %186, ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %187 unwind label %292

187:                                              ; preds = %183
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %188 unwind label %296

188:                                              ; preds = %187
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %42, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %189 unwind label %300

189:                                              ; preds = %188
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %190 unwind label %304

190:                                              ; preds = %189
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %40, ptr noundef nonnull align 8 dereferenceable(96) %185, ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %191 unwind label %308

191:                                              ; preds = %190
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %39, ptr noundef nonnull align 8 dereferenceable(16) %184, ptr noundef nonnull align 8 dereferenceable(24) %40)
          to label %192 unwind label %312

192:                                              ; preds = %191
  %193 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %39) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #7
  %194 = getelementptr inbounds %"class.ngraph::op::v0::LSTMCell", ptr %81, i32 0, i32 5
  %195 = load i8, ptr %194, align 8, !tbaa !77, !range !78, !noundef !79
  %196 = trunc i8 %195 to i1
  br i1 %196, label %197, label %355

197:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %47) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #7
  %198 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %199 unwind label %321

199:                                              ; preds = %197
  %200 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %201 unwind label %321

201:                                              ; preds = %199
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(24) %200)
          to label %202 unwind label %321

202:                                              ; preds = %201
  %203 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %204 unwind label %325

204:                                              ; preds = %202
  %205 = invoke noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %203)
          to label %206 unwind label %325

206:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #7
  store float 1.000000e+00, ptr %51, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #7
  call void @_ZNSaIfEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  invoke void @_ZNSt6vectorIfSaIfEEC2EmRKfRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %50, i64 noundef %205, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %207 unwind label %329

207:                                              ; preds = %206
  invoke void @_ZN6ngraph2op2v08Constant6createIfEESt10shared_ptrIS2_ERKNS_7element4TypeENS_5ShapeESt6vectorIT_SaISC_EE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.137") align 8 %48, ptr noundef nonnull align 4 dereferenceable(4) %198, ptr noundef %49, ptr noundef %50)
          to label %208 unwind label %333

208:                                              ; preds = %207
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %209 unwind label %337

209:                                              ; preds = %208
  invoke void @_ZN6ngraph2op4util11RNNCellBase3subERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %46, ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %210 unwind label %341

210:                                              ; preds = %209
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(16) %46)
          to label %211 unwind label %345

211:                                              ; preds = %210
  %212 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #7
  call void @_ZNSt15__new_allocatorIfED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #7
  br label %395

213:                                              ; preds = %158
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %7, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %8, align 4
  br label %563

217:                                              ; preds = %160
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %7, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %8, align 4
  br label %562

221:                                              ; preds = %162
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %7, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %8, align 4
  br label %561

225:                                              ; preds = %164
  %226 = landingpad { ptr, i32 }
          cleanup
  %227 = extractvalue { ptr, i32 } %226, 0
  store ptr %227, ptr %7, align 8
  %228 = extractvalue { ptr, i32 } %226, 1
  store i32 %228, ptr %8, align 4
  br label %233

229:                                              ; preds = %165
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %7, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #7
  br label %233

233:                                              ; preds = %229, %225
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  br label %560

234:                                              ; preds = %166
  %235 = landingpad { ptr, i32 }
          cleanup
  %236 = extractvalue { ptr, i32 } %235, 0
  store ptr %236, ptr %7, align 8
  %237 = extractvalue { ptr, i32 } %235, 1
  store i32 %237, ptr %8, align 4
  br label %242

238:                                              ; preds = %167
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %7, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #7
  br label %242

242:                                              ; preds = %238, %234
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #7
  br label %559

243:                                              ; preds = %168
  %244 = landingpad { ptr, i32 }
          cleanup
  %245 = extractvalue { ptr, i32 } %244, 0
  store ptr %245, ptr %7, align 8
  %246 = extractvalue { ptr, i32 } %244, 1
  store i32 %246, ptr %8, align 4
  br label %266

247:                                              ; preds = %169
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %7, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %8, align 4
  br label %265

251:                                              ; preds = %170
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %7, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %8, align 4
  br label %264

255:                                              ; preds = %171
  %256 = landingpad { ptr, i32 }
          cleanup
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %7, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %8, align 4
  br label %263

259:                                              ; preds = %172
  %260 = landingpad { ptr, i32 }
          cleanup
  %261 = extractvalue { ptr, i32 } %260, 0
  store ptr %261, ptr %7, align 8
  %262 = extractvalue { ptr, i32 } %260, 1
  store i32 %262, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  br label %263

263:                                              ; preds = %259, %255
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  br label %264

264:                                              ; preds = %263, %251
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  br label %265

265:                                              ; preds = %264, %247
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  br label %266

266:                                              ; preds = %265, %243
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #7
  br label %558

267:                                              ; preds = %173
  %268 = landingpad { ptr, i32 }
          cleanup
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %7, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %8, align 4
  br label %275

271:                                              ; preds = %174
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %7, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  br label %275

275:                                              ; preds = %271, %267
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #7
  br label %557

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

280:                                              ; preds = %177
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %7, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %8, align 4
  br label %555

284:                                              ; preds = %179
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %7, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %8, align 4
  br label %554

288:                                              ; preds = %181
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %7, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %8, align 4
  br label %553

292:                                              ; preds = %183
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %7, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %8, align 4
  br label %320

296:                                              ; preds = %187
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %7, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %8, align 4
  br label %319

300:                                              ; preds = %188
  %301 = landingpad { ptr, i32 }
          cleanup
  %302 = extractvalue { ptr, i32 } %301, 0
  store ptr %302, ptr %7, align 8
  %303 = extractvalue { ptr, i32 } %301, 1
  store i32 %303, ptr %8, align 4
  br label %318

304:                                              ; preds = %189
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %7, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %8, align 4
  br label %317

308:                                              ; preds = %190
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %7, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %8, align 4
  br label %316

312:                                              ; preds = %191
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %7, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  br label %316

316:                                              ; preds = %312, %308
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  br label %317

317:                                              ; preds = %316, %304
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42) #7
  br label %318

318:                                              ; preds = %317, %300
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  br label %319

319:                                              ; preds = %318, %296
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  br label %320

320:                                              ; preds = %319, %292
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #7
  br label %552

321:                                              ; preds = %201, %199, %197
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %7, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %8, align 4
  br label %354

325:                                              ; preds = %204, %202
  %326 = landingpad { ptr, i32 }
          cleanup
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %7, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %8, align 4
  br label %353

329:                                              ; preds = %206
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %7, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %8, align 4
  br label %352

333:                                              ; preds = %207
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %7, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %8, align 4
  br label %351

337:                                              ; preds = %208
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %7, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %8, align 4
  br label %350

341:                                              ; preds = %209
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %7, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %8, align 4
  br label %349

345:                                              ; preds = %210
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %7, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %8, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #7
  br label %349

349:                                              ; preds = %345, %341
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  br label %350

350:                                              ; preds = %349, %337
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  br label %351

351:                                              ; preds = %350, %333
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #7
  br label %352

352:                                              ; preds = %351, %329
  call void @_ZNSt15__new_allocatorIfED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #7
  br label %353

353:                                              ; preds = %352, %325
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  br label %354

354:                                              ; preds = %353, %321
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #7
  br label %552

355:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 24, ptr %53) #7
  %356 = getelementptr inbounds %"class.ngraph::op::v0::LSTMCell", ptr %81, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #7
  %357 = getelementptr inbounds i8, ptr %81, i64 680
  call void @llvm.lifetime.start.p0(i64 24, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %57) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #7
  %358 = load ptr, ptr %23, align 8, !tbaa !5
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %58, ptr noundef nonnull align 8 dereferenceable(24) %358, ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %359 unwind label %366

359:                                              ; preds = %355
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %360 unwind label %370

360:                                              ; preds = %359
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %56, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %57)
          to label %361 unwind label %374

361:                                              ; preds = %360
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %362 unwind label %378

362:                                              ; preds = %361
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %54, ptr noundef nonnull align 8 dereferenceable(96) %357, ptr noundef nonnull align 8 dereferenceable(24) %55)
          to label %363 unwind label %382

363:                                              ; preds = %362
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %53, ptr noundef nonnull align 8 dereferenceable(16) %356, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %364 unwind label %386

364:                                              ; preds = %363
  %365 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %53) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #7
  br label %395

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

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

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

378:                                              ; preds = %361
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %7, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %8, align 4
  br label %391

382:                                              ; preds = %362
  %383 = landingpad { ptr, i32 }
          cleanup
  %384 = extractvalue { ptr, i32 } %383, 0
  store ptr %384, ptr %7, align 8
  %385 = extractvalue { ptr, i32 } %383, 1
  store i32 %385, ptr %8, align 4
  br label %390

386:                                              ; preds = %363
  %387 = landingpad { ptr, i32 }
          cleanup
  %388 = extractvalue { ptr, i32 } %387, 0
  store ptr %388, ptr %7, align 8
  %389 = extractvalue { ptr, i32 } %387, 1
  store i32 %389, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  br label %390

390:                                              ; preds = %386, %382
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  br label %391

391:                                              ; preds = %390, %378
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #7
  br label %392

392:                                              ; preds = %391, %374
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #7
  br label %393

393:                                              ; preds = %392, %370
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #7
  br label %394

394:                                              ; preds = %393, %366
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #7
  br label %552

395:                                              ; preds = %364, %211
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #7
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %61, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %396 unwind label %439

396:                                              ; preds = %395
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(16) %61)
          to label %397 unwind label %443

397:                                              ; preds = %396
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %64) #7
  %398 = getelementptr inbounds %"class.ngraph::op::v0::LSTMCell", ptr %81, i32 0, i32 3
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #7
  %399 = getelementptr inbounds i8, ptr %81, i64 680
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %65, ptr noundef nonnull align 8 dereferenceable(96) %399, ptr noundef nonnull align 8 dereferenceable(24) %37)
          to label %400 unwind label %447

400:                                              ; preds = %397
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %64, ptr noundef nonnull align 8 dereferenceable(16) %398, ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %401 unwind label %451

401:                                              ; preds = %400
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %63, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %64)
          to label %402 unwind label %455

402:                                              ; preds = %401
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(16) %63)
          to label %403 unwind label %459

403:                                              ; preds = %402
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %59, ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(24) %62)
          to label %404 unwind label %463

404:                                              ; preds = %403
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %66) #7
  %405 = getelementptr inbounds %"class.ngraph::op::v0::LSTMCell", ptr %81, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 24, ptr %67) #7
  %406 = getelementptr inbounds i8, ptr %81, i64 680
  call void @llvm.lifetime.start.p0(i64 24, ptr %68) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %70) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #7
  %407 = load ptr, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %72) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %72, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %408 unwind label %473

408:                                              ; preds = %404
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %71, ptr noundef nonnull align 8 dereferenceable(24) %407, ptr noundef nonnull align 8 dereferenceable(24) %72)
          to label %409 unwind label %477

409:                                              ; preds = %408
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(16) %71)
          to label %410 unwind label %481

410:                                              ; preds = %409
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %69, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %70)
          to label %411 unwind label %485

411:                                              ; preds = %410
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(16) %69)
          to label %412 unwind label %489

412:                                              ; preds = %411
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %67, ptr noundef nonnull align 8 dereferenceable(96) %406, ptr noundef nonnull align 8 dereferenceable(24) %68)
          to label %413 unwind label %493

413:                                              ; preds = %412
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %66, ptr noundef nonnull align 8 dereferenceable(16) %405, ptr noundef nonnull align 8 dereferenceable(24) %67)
          to label %414 unwind label %497

414:                                              ; preds = %413
  %415 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %66) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %74) #7
  %416 = getelementptr inbounds %"class.ngraph::op::v0::LSTMCell", ptr %81, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 24, ptr %75) #7
  %417 = getelementptr inbounds i8, ptr %81, i64 680
  call void @llvm.lifetime.start.p0(i64 24, ptr %76) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %76, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %418 unwind label %507

418:                                              ; preds = %414
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %75, ptr noundef nonnull align 8 dereferenceable(96) %417, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %419 unwind label %511

419:                                              ; preds = %418
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %74, ptr noundef nonnull align 8 dereferenceable(16) %416, ptr noundef nonnull align 8 dereferenceable(24) %75)
          to label %420 unwind label %515

420:                                              ; preds = %419
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.85") align 8 %73, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %74)
          to label %421 unwind label %519

421:                                              ; preds = %420
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %78) #7
  store ptr %78, ptr %79, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %78, ptr noundef nonnull align 8 dereferenceable(16) %73)
          to label %422 unwind label %526

422:                                              ; preds = %421
  %423 = getelementptr inbounds %"class.ngraph::Output", ptr %78, i64 1
  store ptr %423, ptr %79, align 8
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %423, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %424 unwind label %526

424:                                              ; preds = %422
  %425 = getelementptr inbounds %"class.std::initializer_list.84", ptr %77, i32 0, i32 0
  store ptr %78, ptr %425, align 8, !tbaa !81
  %426 = getelementptr inbounds %"class.std::initializer_list.84", ptr %77, i32 0, i32 1
  store i64 2, ptr %426, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  %427 = getelementptr inbounds { ptr, i64 }, ptr %77, i32 0, i32 0
  %428 = load ptr, ptr %427, align 8
  %429 = getelementptr inbounds { ptr, i64 }, ptr %77, i32 0, i32 1
  %430 = load i64, ptr %429, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %428, i64 %430, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %431 unwind label %537

431:                                              ; preds = %424
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #7
  %432 = getelementptr inbounds [2 x %"class.ngraph::Output"], ptr %78, i32 0, i32 0
  %433 = getelementptr inbounds %"class.ngraph::Output", ptr %432, i64 2
  br label %434

434:                                              ; preds = %434, %431
  %435 = phi ptr [ %433, %431 ], [ %436, %434 ]
  %436 = getelementptr inbounds %"class.ngraph::Output", ptr %435, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %436) #7
  %437 = icmp eq ptr %436, %432
  br i1 %437, label %438, label %434

438:                                              ; preds = %434
  call void @llvm.lifetime.end.p0(i64 48, ptr %78) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #7
  ret void

439:                                              ; preds = %395
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %7, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %8, align 4
  br label %472

443:                                              ; preds = %396
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %7, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %8, align 4
  br label %471

447:                                              ; preds = %397
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %7, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %8, align 4
  br label %470

451:                                              ; preds = %400
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %7, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %8, align 4
  br label %469

455:                                              ; preds = %401
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %7, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %8, align 4
  br label %468

459:                                              ; preds = %402
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %7, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %8, align 4
  br label %467

463:                                              ; preds = %403
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %7, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  br label %467

467:                                              ; preds = %463, %459
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #7
  br label %468

468:                                              ; preds = %467, %455
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #7
  br label %469

469:                                              ; preds = %468, %451
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  br label %470

470:                                              ; preds = %469, %447
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  br label %471

471:                                              ; preds = %470, %443
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #7
  br label %472

472:                                              ; preds = %471, %439
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #7
  br label %551

473:                                              ; preds = %404
  %474 = landingpad { ptr, i32 }
          cleanup
  %475 = extractvalue { ptr, i32 } %474, 0
  store ptr %475, ptr %7, align 8
  %476 = extractvalue { ptr, i32 } %474, 1
  store i32 %476, ptr %8, align 4
  br label %506

477:                                              ; preds = %408
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %7, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %8, align 4
  br label %505

481:                                              ; preds = %409
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %7, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %8, align 4
  br label %504

485:                                              ; preds = %410
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %7, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %8, align 4
  br label %503

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

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

497:                                              ; preds = %413
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %7, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #7
  br label %501

501:                                              ; preds = %497, %493
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  br label %502

502:                                              ; preds = %501, %489
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  br label %503

503:                                              ; preds = %502, %485
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  br label %504

504:                                              ; preds = %503, %481
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #7
  br label %505

505:                                              ; preds = %504, %477
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #7
  br label %506

506:                                              ; preds = %505, %473
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %66) #7
  br label %550

507:                                              ; preds = %414
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %7, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %8, align 4
  br label %525

511:                                              ; preds = %418
  %512 = landingpad { ptr, i32 }
          cleanup
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %7, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %8, align 4
  br label %524

515:                                              ; preds = %419
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %7, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %8, align 4
  br label %523

519:                                              ; preds = %420
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %7, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %8, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #7
  br label %523

523:                                              ; preds = %519, %515
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #7
  br label %524

524:                                              ; preds = %523, %511
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  br label %525

525:                                              ; preds = %524, %507
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %74) #7
  br label %549

526:                                              ; preds = %422, %421
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %7, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %8, align 4
  %530 = load ptr, ptr %79, align 8
  %531 = icmp eq ptr %78, %530
  br i1 %531, label %536, label %532

532:                                              ; preds = %532, %526
  %533 = phi ptr [ %530, %526 ], [ %534, %532 ]
  %534 = getelementptr inbounds %"class.ngraph::Output", ptr %533, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %534) #7
  %535 = icmp eq ptr %534, %78
  br i1 %535, label %536, label %532

536:                                              ; preds = %532, %526
  br label %548

537:                                              ; preds = %424
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %7, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %8, align 4
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #7
  %541 = getelementptr inbounds [2 x %"class.ngraph::Output"], ptr %78, i32 0, i32 0
  %542 = getelementptr inbounds %"class.ngraph::Output", ptr %541, i64 2
  br label %543

543:                                              ; preds = %543, %537
  %544 = phi ptr [ %542, %537 ], [ %545, %543 ]
  %545 = getelementptr inbounds %"class.ngraph::Output", ptr %544, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %545) #7
  %546 = icmp eq ptr %545, %541
  br i1 %546, label %547, label %543

547:                                              ; preds = %543
  br label %548

548:                                              ; preds = %547, %536
  call void @llvm.lifetime.end.p0(i64 48, ptr %78) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #7
  br label %549

549:                                              ; preds = %548, %525
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #7
  br label %550

550:                                              ; preds = %549, %506
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #7
  br label %551

551:                                              ; preds = %550, %472
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #7
  br label %552

552:                                              ; preds = %551, %394, %354, %320
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  br label %553

553:                                              ; preds = %552, %288
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #7
  br label %554

554:                                              ; preds = %553, %284
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  br label %555

555:                                              ; preds = %554, %280
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %556

556:                                              ; preds = %555, %276
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  br label %557

557:                                              ; preds = %556, %275
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  br label %558

558:                                              ; preds = %557, %266
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  br label %559

559:                                              ; preds = %558, %242
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  br label %560

560:                                              ; preds = %559, %233
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  br label %561

561:                                              ; preds = %560, %221
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  br label %562

562:                                              ; preds = %561, %217
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  br label %563

563:                                              ; preds = %562, %213
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br label %564

564:                                              ; preds = %563, %157, %148, %139
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  br label %565

565:                                              ; preds = %564, %130
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  br label %566

566:                                              ; preds = %565, %118
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  br label %567

567:                                              ; preds = %566, %114
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  br label %568

568:                                              ; preds = %567, %110
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  br label %569

569:                                              ; preds = %568, %106
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  br label %570

570:                                              ; preds = %569, %102
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #7
  br label %571

571:                                              ; preds = %570
  %572 = load ptr, ptr %7, align 8
  %573 = load i32, ptr %8, align 4
  %574 = insertvalue { ptr, i32 } poison, ptr %572, 0
  %575 = insertvalue { ptr, i32 } %574, i32 %573, 1
  resume { ptr, i32 } %575
}

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

declare void @_ZN6ngraph7builder5splitERKNS_6OutputINS_4NodeEEEmi(ptr dead_on_unwind writable sret(%"class.std::vector.79") align 8, ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, i32 noundef) #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op2v08LSTMCell19convert_node_formatERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.85") align 8, ptr noundef nonnull align 8 dereferenceable(832), ptr noundef nonnull align 8 dereferenceable(24)) #3 align 2

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

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

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

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

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

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

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

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

declare void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24)) #5

declare void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8, ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(24)) #5

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph2op2v08Constant6createIfEESt10shared_ptrIS2_ERKNS_7element4TypeENS_5ShapeESt6vectorIT_SaISC_EE(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.137") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef) #3 align 2

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24)) #5

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24)) #5

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

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

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

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

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

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

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

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

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

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

!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, !76, i64 828}
!10 = !{!"_ZTSN6ngraph2op2v08LSTMCellE", !11, i64 0, !65, i64 680, !74, i64 776, !74, i64 792, !74, i64 808, !75, i64 824, !76, i64 828}
!11 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !12, i64 0}
!12 = !{!"_ZTSN6ngraph2op2OpE", !13, i64 0}
!13 = !{!"_ZTSN6ngraph4NodeE", !14, i64 8, !18, i64 24, !18, i64 80, !24, i64 136, !28, i64 160, !32, i64 184, !20, i64 216, !32, i64 224, !32, i64 256, !34, i64 288, !36, i64 344, !44, i64 392, !49, i64 472, !54, i64 552, !56, i64 608, !57, i64 616, !60, i64 632}
!14 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !15, i64 0}
!15 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !16, i64 0}
!16 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !17, i64 8}
!17 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!18 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !19, i64 0}
!19 = !{!"_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, !20, i64 8, !21, i64 16, !20, i64 24, !22, i64 32, !6, i64 48}
!20 = !{!"long", !7, i64 0}
!21 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!22 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !23, i64 0, !20, i64 8}
!23 = !{!"float", !7, i64 0}
!24 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!28 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!32 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !33, i64 0, !20, i64 8, !7, i64 16}
!33 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!34 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !35, i64 0}
!35 = !{!"_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, !20, i64 8, !21, i64 16, !20, i64 24, !22, i64 32, !6, i64 48}
!36 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !39, i64 0, !41, i64 8}
!39 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !40, i64 0}
!40 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!41 = !{!"_ZTSSt15_Rb_tree_header", !42, i64 0, !20, i64 32}
!42 = !{!"_ZTSSt18_Rb_tree_node_base", !43, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!43 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!44 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !45, i64 0}
!45 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !46, i64 0}
!46 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !47, i64 0}
!47 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !20, i64 8, !48, i64 16, !48, i64 48}
!48 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!49 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !52, i64 0}
!52 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !20, i64 8, !53, i64 16, !53, i64 48}
!53 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!54 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !55, i64 0}
!55 = !{!"_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, !20, i64 8, !21, i64 16, !20, i64 24, !22, i64 32, !6, i64 48}
!56 = !{!"int", !7, i64 0}
!57 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !58, i64 0}
!58 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !59, i64 8}
!59 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!60 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !61, i64 0}
!61 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !62, i64 0}
!62 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !63, i64 0, !41, i64 8}
!63 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !64, i64 0}
!64 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!65 = !{!"_ZTSN6ngraph2op4util11RNNCellBaseE", !20, i64 8, !23, i64 16, !66, i64 24, !70, i64 48, !70, i64 72}
!66 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !67, i64 0}
!67 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!70 = !{!"_ZTSSt6vectorIfSaIfEE", !71, i64 0}
!71 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!74 = !{!"_ZTSN6ngraph2op4util18ActivationFunctionE", !6, i64 0, !23, i64 8, !23, i64 12}
!75 = !{!"bool", !7, i64 0}
!76 = !{!"_ZTSN6ngraph2op17LSTMWeightsFormatE", !7, i64 0}
!77 = !{!10, !75, i64 824}
!78 = !{i8 0, i8 2}
!79 = !{}
!80 = !{!23, !23, i64 0}
!81 = !{!82, !6, i64 0}
!82 = !{!"_ZTSSt16initializer_listIN6ngraph6OutputINS0_4NodeEEEE", !6, i64 0, !20, i64 8}
!83 = !{!82, !20, i64 8}


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

%"class.std::vector.79" = type { %"struct.std::_Vector_base.80" }
%"struct.std::_Vector_base.80" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.85", i64 }
%"class.std::shared_ptr.85" = type { %"class.std::__shared_ptr.86" }
%"class.std::__shared_ptr.86" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.134" = type { %"class.std::__shared_ptr.135" }
%"class.std::__shared_ptr.135" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.137" = type { %"class.std::__shared_ptr.138" }
%"class.std::__shared_ptr.138" = type { ptr, %"class.std::__shared_count" }
%"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::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.std::allocator.76" = type { i8 }
%"class.std::allocator.81" = type { i8 }

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v08LSTMCell12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.79") align 8 %0, ptr noundef nonnull align 8 dereferenceable(832) %1) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.ngraph::Output", align 8
  %4 = alloca %"class.ngraph::Output", align 8
  %5 = alloca %"class.ngraph::Output", align 8
  %6 = alloca %"class.ngraph::Output", align 8
  %7 = alloca %"class.ngraph::Output", align 8
  %8 = alloca %"class.ngraph::Output", align 8
  %9 = alloca %"class.std::vector.79", align 8
  %10 = alloca %"class.ngraph::Output", align 8
  %11 = alloca %"class.ngraph::Output", align 8
  %12 = alloca %"class.std::shared_ptr.85", align 8
  %13 = alloca %"class.ngraph::Output", align 8
  %14 = alloca %"class.std::shared_ptr.85", align 8
  %15 = alloca %"class.ngraph::Output", align 8
  %16 = alloca %"class.std::shared_ptr.85", align 8
  %17 = alloca %"class.std::shared_ptr.134", align 8
  %18 = alloca %"class.std::shared_ptr.85", align 8
  %19 = alloca %"class.std::shared_ptr.134", align 8
  %20 = alloca %"class.std::shared_ptr.85", align 8
  %21 = alloca %"class.std::shared_ptr.85", align 8
  %22 = alloca %"class.ngraph::Output", align 8
  %23 = alloca %"class.ngraph::Output", align 8
  %24 = alloca %"class.std::shared_ptr.85", align 8
  %25 = alloca %"class.ngraph::Output", align 8
  %26 = alloca %"class.std::vector.79", align 8
  %27 = alloca %"class.ngraph::Output", align 8
  %28 = alloca %"class.ngraph::Output", align 8
  %29 = alloca %"class.ngraph::Output", align 8
  %30 = alloca %"class.ngraph::Output", align 8
  %31 = alloca %"class.ngraph::Output", align 8
  %32 = alloca %"class.ngraph::Output", align 8
  %33 = alloca %"class.ngraph::Output", align 8
  %34 = alloca %"class.ngraph::Output", align 8
  %35 = alloca %"class.std::shared_ptr.85", align 8
  %36 = alloca %"class.ngraph::Output", align 8
  %37 = alloca %"class.std::shared_ptr.85", align 8
  %38 = alloca %"class.ngraph::Output", align 8
  %39 = alloca %"class.std::shared_ptr.85", align 8
  %40 = alloca %"class.ngraph::Output", align 8
  %41 = alloca %"class.std::shared_ptr.137", align 8
  %42 = alloca %"class.ngraph::Shape", align 8
  %43 = alloca %"class.std::vector.74", align 8
  %44 = alloca float, align 4
  %45 = alloca %"class.std::allocator.76", align 1
  %46 = alloca %"class.ngraph::Output", align 8
  %47 = alloca %"class.ngraph::Output", align 8
  %48 = alloca %"class.ngraph::Output", align 8
  %49 = alloca %"class.std::shared_ptr.85", align 8
  %50 = alloca %"class.ngraph::Output", align 8
  %51 = alloca %"class.std::shared_ptr.85", align 8
  %52 = alloca %"class.std::shared_ptr.85", align 8
  %53 = alloca %"class.ngraph::Output", align 8
  %54 = alloca %"class.std::shared_ptr.85", align 8
  %55 = alloca %"class.ngraph::Output", align 8
  %56 = alloca %"class.std::shared_ptr.85", align 8
  %57 = alloca %"class.ngraph::Output", align 8
  %58 = alloca %"class.ngraph::Output", align 8
  %59 = alloca %"class.ngraph::Output", align 8
  %60 = alloca %"class.ngraph::Output", align 8
  %61 = alloca %"class.ngraph::Output", align 8
  %62 = alloca %"class.std::shared_ptr.85", align 8
  %63 = alloca %"class.ngraph::Output", align 8
  %64 = alloca %"class.std::shared_ptr.85", align 8
  %65 = alloca %"class.ngraph::Output", align 8
  %66 = alloca %"class.std::shared_ptr.85", align 8
  %67 = alloca %"class.ngraph::Output", align 8
  %68 = alloca %"class.ngraph::Output", align 8
  %69 = alloca %"class.ngraph::Output", align 8
  %70 = alloca [2 x %"class.ngraph::Output"], align 8
  %71 = alloca %"class.std::allocator.81", align 1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #7
  call void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %3, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 0)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %4, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
          to label %72 unwind label %91

72:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %5, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 2)
          to label %73 unwind label %93

73:                                               ; preds = %72
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %6, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 3)
          to label %74 unwind label %95

74:                                               ; preds = %73
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %7, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 4)
          to label %75 unwind label %97

75:                                               ; preds = %74
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %8, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 5)
          to label %76 unwind label %99

76:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %10, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 6)
          to label %77 unwind label %101

77:                                               ; preds = %76
  invoke void @_ZN6ngraph7builder5splitERKNS_6OutputINS_4NodeEEEmi(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.79") align 8 %9, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 3, i32 noundef 0)
          to label %78 unwind label %103

78:                                               ; preds = %77
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #7
  %79 = getelementptr inbounds i8, ptr %1, i64 828
  %80 = load i32, ptr %79, align 4, !tbaa !5
  %.not = icmp eq i32 %80, 2
  br i1 %.not, label %121, label %81

81:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #7
  invoke void @_ZNK6ngraph2op2v08LSTMCell19convert_node_formatERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %12, ptr noundef nonnull align 8 dereferenceable(832) %1, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %82 unwind label %106

82:                                               ; preds = %81
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %83 unwind label %108

83:                                               ; preds = %82
  %84 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #7
  invoke void @_ZNK6ngraph2op2v08LSTMCell19convert_node_formatERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %14, ptr noundef nonnull align 8 dereferenceable(832) %1, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %85 unwind label %111

85:                                               ; preds = %83
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %86 unwind label %113

86:                                               ; preds = %85
  %87 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #7
  invoke void @_ZNK6ngraph2op2v08LSTMCell19convert_node_formatERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %16, ptr noundef nonnull align 8 dereferenceable(832) %1, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %88 unwind label %116

88:                                               ; preds = %86
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %89 unwind label %118

89:                                               ; preds = %88
  %90 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  br label %121

91:                                               ; preds = %2
  %92 = landingpad { ptr, i32 }
          cleanup
  br label %379

93:                                               ; preds = %72
  %94 = landingpad { ptr, i32 }
          cleanup
  br label %378

95:                                               ; preds = %73
  %96 = landingpad { ptr, i32 }
          cleanup
  br label %377

97:                                               ; preds = %74
  %98 = landingpad { ptr, i32 }
          cleanup
  br label %376

99:                                               ; preds = %75
  %100 = landingpad { ptr, i32 }
          cleanup
  br label %375

101:                                              ; preds = %76
  %102 = landingpad { ptr, i32 }
          cleanup
  br label %105

103:                                              ; preds = %77
  %104 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  br label %105

105:                                              ; preds = %103, %101
  %.pn = phi { ptr, i32 } [ %104, %103 ], [ %102, %101 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #7
  br label %374

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

108:                                              ; preds = %82
  %109 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  br label %110

110:                                              ; preds = %108, %106
  %.pn76 = phi { ptr, i32 } [ %109, %108 ], [ %107, %106 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  br label %373

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

113:                                              ; preds = %85
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #7
  br label %115

115:                                              ; preds = %113, %111
  %.pn78 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  br label %373

116:                                              ; preds = %86
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %120

118:                                              ; preds = %88
  %119 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  br label %120

120:                                              ; preds = %118, %116
  %.pn80 = phi { ptr, i32 } [ %119, %118 ], [ %117, %116 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  br label %373

121:                                              ; preds = %89, %78
  %122 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef 0)
          to label %123 unwind label %174

123:                                              ; preds = %121
  %124 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef 1)
          to label %125 unwind label %176

125:                                              ; preds = %123
  %126 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef 2)
          to label %127 unwind label %178

127:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #7
  invoke void @_ZN6ngraph7builder9transposeERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %18, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %128 unwind label %180

128:                                              ; preds = %127
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRNS0_6OutputINS0_4NodeEEESt10shared_ptrIS5_EEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.134") align 8 %17, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %129 unwind label %182

129:                                              ; preds = %128
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #7
  invoke void @_ZN6ngraph7builder9transposeERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %20, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %130 unwind label %185

130:                                              ; preds = %129
  invoke void @_ZSt11make_sharedIN6ngraph2op2v03DotEJRNS0_6OutputINS0_4NodeEEESt10shared_ptrIS5_EEES8_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESB_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.134") align 8 %19, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %131 unwind label %187

131:                                              ; preds = %130
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %132 unwind label %190

132:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v03DotEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %133 unwind label %192

133:                                              ; preds = %132
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %24, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %134 unwind label %194

134:                                              ; preds = %133
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %135 unwind label %196

135:                                              ; preds = %134
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %21, ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %23)
          to label %136 unwind label %198

136:                                              ; preds = %135
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %137 unwind label %204

137:                                              ; preds = %136
  invoke void @_ZN6ngraph7builder5splitERKNS_6OutputINS_4NodeEEEmi(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.79") align 8 %26, ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef 4, i32 noundef -1)
          to label %138 unwind label %206

138:                                              ; preds = %137
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #7
  %139 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef 0)
          to label %140 unwind label %209

140:                                              ; preds = %138
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %139) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #7
  %141 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef 1)
          to label %142 unwind label %211

142:                                              ; preds = %140
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %141) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #7
  %143 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef 2)
          to label %144 unwind label %213

144:                                              ; preds = %142
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %143) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #7
  %145 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef 3)
          to label %146 unwind label %215

146:                                              ; preds = %144
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %145) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #7
  %147 = getelementptr inbounds i8, ptr %1, i64 776
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %33) #7
  %148 = getelementptr inbounds i8, ptr %1, i64 680
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #7
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %37, ptr noundef nonnull align 8 dereferenceable(24) %122, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %149 unwind label %217

149:                                              ; preds = %146
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %150 unwind label %219

150:                                              ; preds = %149
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %35, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %151 unwind label %221

151:                                              ; preds = %150
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %152 unwind label %223

152:                                              ; preds = %151
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %33, ptr noundef nonnull align 8 dereferenceable(96) %148, ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %153 unwind label %225

153:                                              ; preds = %152
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %32, ptr noundef nonnull align 8 dereferenceable(16) %147, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %154 unwind label %227

154:                                              ; preds = %153
  %155 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  %156 = getelementptr inbounds i8, ptr %1, i64 824
  %157 = load i8, ptr %156, align 8, !tbaa !76, !range !77, !noundef !78
  %158 = trunc nuw i8 %157 to i1
  br i1 %158, label %159, label %254

159:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #7
  %160 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %161 unwind label %234

161:                                              ; preds = %159
  %162 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %163 unwind label %234

163:                                              ; preds = %161
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %162)
          to label %164 unwind label %234

164:                                              ; preds = %163
  %165 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %166 unwind label %236

166:                                              ; preds = %164
  %167 = call noundef i64 @_ZN6ngraph10shape_sizeINS_5ShapeEEEmRKT_(ptr noundef nonnull align 8 dereferenceable(24) %165)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #7
  store float 1.000000e+00, ptr %44, align 4, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #7
  call void @_ZNSaIfEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  invoke void @_ZNSt6vectorIfSaIfEEC2EmRKfRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %167, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %168 unwind label %238

168:                                              ; preds = %166
  invoke void @_ZN6ngraph2op2v08Constant6createIfEESt10shared_ptrIS2_ERKNS_7element4TypeENS_5ShapeESt6vectorIT_SaISC_EE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.137") align 8 %41, ptr noundef nonnull align 4 dereferenceable(4) %160, ptr noundef nonnull %42, ptr noundef nonnull %43)
          to label %169 unwind label %240

169:                                              ; preds = %168
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %170 unwind label %242

170:                                              ; preds = %169
  invoke void @_ZN6ngraph2op4util11RNNCellBase3subERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %39, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %171 unwind label %244

171:                                              ; preds = %170
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %172 unwind label %246

172:                                              ; preds = %171
  %173 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #7
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  call void @_ZNSt15__new_allocatorIfED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #7
  br label %279

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

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

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

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

182:                                              ; preds = %128
  %183 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #7
  br label %184

184:                                              ; preds = %182, %180
  %.pn82 = phi { ptr, i32 } [ %183, %182 ], [ %181, %180 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #7
  br label %372

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

187:                                              ; preds = %130
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br label %189

189:                                              ; preds = %187, %185
  %.pn84 = phi { ptr, i32 } [ %188, %187 ], [ %186, %185 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  br label %371

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

192:                                              ; preds = %132
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %202

194:                                              ; preds = %133
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %201

196:                                              ; preds = %134
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %200

198:                                              ; preds = %135
  %199 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  br label %200

200:                                              ; preds = %198, %196
  %.pn86 = phi { ptr, i32 } [ %199, %198 ], [ %197, %196 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #7
  br label %201

201:                                              ; preds = %200, %194
  %.pn86.pn = phi { ptr, i32 } [ %.pn86, %200 ], [ %195, %194 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  br label %202

202:                                              ; preds = %201, %192
  %.pn86.pn.pn = phi { ptr, i32 } [ %.pn86.pn, %201 ], [ %193, %192 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  br label %203

203:                                              ; preds = %202, %190
  %.pn86.pn.pn.pn = phi { ptr, i32 } [ %.pn86.pn.pn, %202 ], [ %191, %190 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  br label %370

204:                                              ; preds = %136
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %208

206:                                              ; preds = %137
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  br label %208

208:                                              ; preds = %206, %204
  %.pn91 = phi { ptr, i32 } [ %207, %206 ], [ %205, %204 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #7
  br label %369

209:                                              ; preds = %138
  %210 = landingpad { ptr, i32 }
          cleanup
  br label %368

211:                                              ; preds = %140
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %367

213:                                              ; preds = %142
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %366

215:                                              ; preds = %144
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %365

217:                                              ; preds = %146
  %218 = landingpad { ptr, i32 }
          cleanup
  br label %233

219:                                              ; preds = %149
  %220 = landingpad { ptr, i32 }
          cleanup
  br label %232

221:                                              ; preds = %150
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %231

223:                                              ; preds = %151
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %230

225:                                              ; preds = %152
  %226 = landingpad { ptr, i32 }
          cleanup
  br label %229

227:                                              ; preds = %153
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  br label %229

229:                                              ; preds = %227, %225
  %.pn93 = phi { ptr, i32 } [ %228, %227 ], [ %226, %225 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  br label %230

230:                                              ; preds = %229, %223
  %.pn93.pn = phi { ptr, i32 } [ %.pn93, %229 ], [ %224, %223 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #7
  br label %231

231:                                              ; preds = %230, %221
  %.pn93.pn.pn = phi { ptr, i32 } [ %.pn93.pn, %230 ], [ %222, %221 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  br label %232

232:                                              ; preds = %231, %219
  %.pn93.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn, %231 ], [ %220, %219 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #7
  br label %233

233:                                              ; preds = %232, %217
  %.pn93.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn.pn, %232 ], [ %218, %217 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  br label %364

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

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

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

240:                                              ; preds = %168
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %250

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

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

246:                                              ; preds = %171
  %247 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  br label %248

248:                                              ; preds = %246, %244
  %.pn105 = phi { ptr, i32 } [ %247, %246 ], [ %245, %244 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  br label %249

249:                                              ; preds = %248, %242
  %.pn105.pn = phi { ptr, i32 } [ %.pn105, %248 ], [ %243, %242 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #7
  br label %250

250:                                              ; preds = %249, %240
  %.pn105.pn.pn = phi { ptr, i32 } [ %.pn105.pn, %249 ], [ %241, %240 ]
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  br label %251

251:                                              ; preds = %250, %238
  %.pn105.pn.pn.pn = phi { ptr, i32 } [ %.pn105.pn.pn, %250 ], [ %239, %238 ]
  call void @_ZNSt15__new_allocatorIfED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #7
  br label %252

252:                                              ; preds = %251, %236
  %.pn105.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn105.pn.pn.pn, %251 ], [ %237, %236 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  br label %253

253:                                              ; preds = %252, %234
  %.pn105.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn105.pn.pn.pn.pn, %252 ], [ %235, %234 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #7
  br label %364

254:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %51) #7
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %51, ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %255 unwind label %262

255:                                              ; preds = %254
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %256 unwind label %264

256:                                              ; preds = %255
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %49, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %50)
          to label %257 unwind label %266

257:                                              ; preds = %256
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %258 unwind label %268

258:                                              ; preds = %257
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %47, ptr noundef nonnull align 8 dereferenceable(96) %148, ptr noundef nonnull align 8 dereferenceable(24) %48)
          to label %259 unwind label %270

259:                                              ; preds = %258
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %46, ptr noundef nonnull align 8 dereferenceable(16) %147, ptr noundef nonnull align 8 dereferenceable(24) %47)
          to label %260 unwind label %272

260:                                              ; preds = %259
  %261 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  br label %279

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

264:                                              ; preds = %255
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %277

266:                                              ; preds = %256
  %267 = landingpad { ptr, i32 }
          cleanup
  br label %276

268:                                              ; preds = %257
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %275

270:                                              ; preds = %258
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %274

272:                                              ; preds = %259
  %273 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  br label %274

274:                                              ; preds = %272, %270
  %.pn99 = phi { ptr, i32 } [ %273, %272 ], [ %271, %270 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  br label %275

275:                                              ; preds = %274, %268
  %.pn99.pn = phi { ptr, i32 } [ %.pn99, %274 ], [ %269, %268 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #7
  br label %276

276:                                              ; preds = %275, %266
  %.pn99.pn.pn = phi { ptr, i32 } [ %.pn99.pn, %275 ], [ %267, %266 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #7
  br label %277

277:                                              ; preds = %276, %264
  %.pn99.pn.pn.pn = phi { ptr, i32 } [ %.pn99.pn.pn, %276 ], [ %265, %264 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #7
  br label %278

278:                                              ; preds = %277, %262
  %.pn99.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn99.pn.pn.pn, %277 ], [ %263, %262 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  br label %364

279:                                              ; preds = %260, %172
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %54) #7
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %54, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %280 unwind label %307

280:                                              ; preds = %279
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %281 unwind label %309

281:                                              ; preds = %280
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %57) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %58) #7
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %58, ptr noundef nonnull align 8 dereferenceable(96) %148, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %282 unwind label %311

282:                                              ; preds = %281
  %283 = getelementptr inbounds i8, ptr %1, i64 792
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %57, ptr noundef nonnull align 8 dereferenceable(16) %283, ptr noundef nonnull align 8 dereferenceable(24) %58)
          to label %284 unwind label %313

284:                                              ; preds = %282
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %56, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %57)
          to label %285 unwind label %315

285:                                              ; preds = %284
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %286 unwind label %317

286:                                              ; preds = %285
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %52, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %55)
          to label %287 unwind label %319

287:                                              ; preds = %286
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %65) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(16) %52)
          to label %288 unwind label %327

288:                                              ; preds = %287
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %64, ptr noundef nonnull align 8 dereferenceable(24) %124, ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %289 unwind label %329

289:                                              ; preds = %288
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(16) %64)
          to label %290 unwind label %331

290:                                              ; preds = %289
  invoke void @_ZN6ngraph2op4util11RNNCellBase3addERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %62, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %63)
          to label %291 unwind label %333

291:                                              ; preds = %290
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(16) %62)
          to label %292 unwind label %335

292:                                              ; preds = %291
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %60, ptr noundef nonnull align 8 dereferenceable(96) %148, ptr noundef nonnull align 8 dereferenceable(24) %61)
          to label %293 unwind label %337

293:                                              ; preds = %292
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %59, ptr noundef nonnull align 8 dereferenceable(16) %147, ptr noundef nonnull align 8 dereferenceable(24) %60)
          to label %294 unwind label %339

294:                                              ; preds = %293
  %295 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %59) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %67) #7
  %296 = getelementptr inbounds i8, ptr %1, i64 808
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %68) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %69) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(16) %52)
          to label %297 unwind label %347

297:                                              ; preds = %294
  invoke void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %68, ptr noundef nonnull align 8 dereferenceable(96) %148, ptr noundef nonnull align 8 dereferenceable(24) %69)
          to label %298 unwind label %349

298:                                              ; preds = %297
  invoke void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %67, ptr noundef nonnull align 8 dereferenceable(16) %296, ptr noundef nonnull align 8 dereferenceable(24) %68)
          to label %299 unwind label %351

299:                                              ; preds = %298
  invoke void @_ZN6ngraph2op4util11RNNCellBase3mulERKNS_6OutputINS_4NodeEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.85") align 8 %66, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %67)
          to label %300 unwind label %353

300:                                              ; preds = %299
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %70) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(16) %66)
          to label %302 unwind label %.thread

.thread:                                          ; preds = %300
  %301 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit

302:                                              ; preds = %300
  %303 = getelementptr inbounds i8, ptr %70, i64 24
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %303, ptr noundef nonnull align 8 dereferenceable(16) %52)
          to label %304 unwind label %.loopexit.loopexit156

304:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %71) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr nonnull %70, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %305 unwind label %.loopexit.loopexit

305:                                              ; preds = %304
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #7
  %306 = getelementptr inbounds i8, ptr %70, i64 24
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %306) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %70) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %52) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  ret void

307:                                              ; preds = %279
  %308 = landingpad { ptr, i32 }
          cleanup
  br label %326

309:                                              ; preds = %280
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %325

311:                                              ; preds = %281
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %324

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

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

317:                                              ; preds = %285
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %321

319:                                              ; preds = %286
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  br label %321

321:                                              ; preds = %319, %317
  %.pn112 = phi { ptr, i32 } [ %320, %319 ], [ %318, %317 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #7
  br label %322

322:                                              ; preds = %321, %315
  %.pn112.pn = phi { ptr, i32 } [ %.pn112, %321 ], [ %316, %315 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #7
  br label %323

323:                                              ; preds = %322, %313
  %.pn112.pn.pn = phi { ptr, i32 } [ %.pn112.pn, %322 ], [ %314, %313 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  br label %324

324:                                              ; preds = %323, %311
  %.pn112.pn.pn.pn = phi { ptr, i32 } [ %.pn112.pn.pn, %323 ], [ %312, %311 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #7
  br label %325

325:                                              ; preds = %324, %309
  %.pn112.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn112.pn.pn.pn, %324 ], [ %310, %309 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #7
  br label %326

326:                                              ; preds = %325, %307
  %.pn112.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn112.pn.pn.pn.pn, %325 ], [ %308, %307 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #7
  br label %363

327:                                              ; preds = %287
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %346

329:                                              ; preds = %288
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %345

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

333:                                              ; preds = %290
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %343

335:                                              ; preds = %291
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %342

337:                                              ; preds = %292
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %341

339:                                              ; preds = %293
  %340 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  br label %341

341:                                              ; preds = %339, %337
  %.pn119 = phi { ptr, i32 } [ %340, %339 ], [ %338, %337 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  br label %342

342:                                              ; preds = %341, %335
  %.pn119.pn = phi { ptr, i32 } [ %.pn119, %341 ], [ %336, %335 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #7
  br label %343

343:                                              ; preds = %342, %333
  %.pn119.pn.pn = phi { ptr, i32 } [ %.pn119.pn, %342 ], [ %334, %333 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  br label %344

344:                                              ; preds = %343, %331
  %.pn119.pn.pn.pn = phi { ptr, i32 } [ %.pn119.pn.pn, %343 ], [ %332, %331 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #7
  br label %345

345:                                              ; preds = %344, %329
  %.pn119.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn119.pn.pn.pn, %344 ], [ %330, %329 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  br label %346

346:                                              ; preds = %345, %327
  %.pn119.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn119.pn.pn.pn.pn, %345 ], [ %328, %327 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %59) #7
  br label %362

347:                                              ; preds = %294
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %357

349:                                              ; preds = %297
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %356

351:                                              ; preds = %298
  %352 = landingpad { ptr, i32 }
          cleanup
  br label %355

353:                                              ; preds = %299
  %354 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #7
  br label %355

355:                                              ; preds = %353, %351
  %.pn126 = phi { ptr, i32 } [ %354, %353 ], [ %352, %351 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #7
  br label %356

356:                                              ; preds = %355, %349
  %.pn126.pn = phi { ptr, i32 } [ %.pn126, %355 ], [ %350, %349 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #7
  br label %357

357:                                              ; preds = %356, %347
  %.pn126.pn.pn = phi { ptr, i32 } [ %.pn126.pn, %356 ], [ %348, %347 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #7
  br label %361

.loopexit.loopexit156:                            ; preds = %302
  %358 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  br label %.loopexit

.loopexit.loopexit:                               ; preds = %304
  %359 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #7
  %360 = getelementptr inbounds i8, ptr %70, i64 24
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %360) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit156, %.loopexit.loopexit, %.thread
  %.pn130 = phi { ptr, i32 } [ %301, %.thread ], [ %359, %.loopexit.loopexit ], [ %358, %.loopexit.loopexit156 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %70) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #7
  br label %361

361:                                              ; preds = %.loopexit, %357
  %.pn130.pn = phi { ptr, i32 } [ %.pn130, %.loopexit ], [ %.pn126.pn.pn, %357 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #7
  br label %362

362:                                              ; preds = %361, %346
  %.pn130.pn.pn = phi { ptr, i32 } [ %.pn130.pn, %361 ], [ %.pn119.pn.pn.pn.pn.pn, %346 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %52) #7
  br label %363

363:                                              ; preds = %362, %326
  %.pn130.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn, %362 ], [ %.pn112.pn.pn.pn.pn.pn, %326 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #7
  br label %364

364:                                              ; preds = %363, %278, %253, %233
  %.pn130.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn, %363 ], [ %.pn105.pn.pn.pn.pn.pn, %253 ], [ %.pn99.pn.pn.pn.pn, %278 ], [ %.pn93.pn.pn.pn.pn, %233 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  br label %365

365:                                              ; preds = %364, %215
  %.pn130.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn, %364 ], [ %216, %215 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  br label %366

366:                                              ; preds = %365, %213
  %.pn130.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn, %365 ], [ %214, %213 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  br label %367

367:                                              ; preds = %366, %211
  %.pn130.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn, %366 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  br label %368

368:                                              ; preds = %367, %209
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn, %367 ], [ %210, %209 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  br label %369

369:                                              ; preds = %368, %208
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn, %368 ], [ %.pn91, %208 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  br label %370

370:                                              ; preds = %369, %203
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn, %369 ], [ %.pn86.pn.pn.pn, %203 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #7
  br label %371

371:                                              ; preds = %370, %189
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %370 ], [ %.pn84, %189 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v03DotELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  br label %372

372:                                              ; preds = %371, %184
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %371 ], [ %.pn82, %184 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  br label %373

373:                                              ; preds = %174, %178, %372, %176, %120, %115, %110
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn80, %120 ], [ %.pn78, %115 ], [ %.pn76, %110 ], [ %175, %174 ], [ %177, %176 ], [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %372 ], [ %179, %178 ]
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  br label %374

374:                                              ; preds = %373, %105
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %373 ], [ %.pn, %105 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  br label %375

375:                                              ; preds = %374, %99
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %374 ], [ %100, %99 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  br label %376

376:                                              ; preds = %375, %97
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %375 ], [ %98, %97 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  br label %377

377:                                              ; preds = %376, %95
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %376 ], [ %96, %95 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  br label %378

378:                                              ; preds = %377, %93
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %377 ], [ %94, %93 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  br label %379

379:                                              ; preds = %378, %91
  %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %378 ], [ %92, %91 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  resume { ptr, i32 } %.pn130.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

declare void @_ZN6ngraph7builder5splitERKNS_6OutputINS_4NodeEEEmi(ptr dead_on_unwind writable sret(%"class.std::vector.79") align 8, ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, i32 noundef) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK6ngraph2op2v08LSTMCell19convert_node_formatERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.85") align 8, ptr noundef nonnull align 8 dereferenceable(832), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

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

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

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

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

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

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

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

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

declare void @_ZNK6ngraph2op4util18ActivationFunctionclERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

declare void @_ZNK6ngraph2op4util11RNNCellBase4clipERKNS_6OutputINS_4NodeEEE(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8, ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

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

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

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph6OutputINS_4NodeEE16get_element_typeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph6OutputINS_4NodeEE9get_shapeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

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

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

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

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

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

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

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

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

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

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

!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, !75, i64 828}
!6 = !{!"_ZTSN6ngraph2op2v08LSTMCellE", !7, i64 0, !64, i64 680, !73, i64 776, !73, i64 792, !73, i64 808, !74, i64 824, !75, i64 828}
!7 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !8, i64 0}
!8 = !{!"_ZTSN6ngraph2op2OpE", !9, i64 0}
!9 = !{!"_ZTSN6ngraph4NodeE", !10, i64 8, !17, i64 24, !17, i64 80, !23, i64 136, !27, i64 160, !31, i64 184, !19, i64 216, !31, i64 224, !31, i64 256, !33, i64 288, !35, i64 344, !43, i64 392, !48, i64 472, !53, i64 552, !55, i64 608, !56, i64 616, !59, i64 632}
!10 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !11, i64 0}
!11 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !12, i64 0}
!12 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0, !16, i64 8}
!13 = !{!"any pointer", !14, i64 0}
!14 = !{!"omnipotent char", !15, i64 0}
!15 = !{!"Simple C++ TBAA"}
!16 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0}
!17 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !18, i64 0}
!18 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!19 = !{!"long", !14, i64 0}
!20 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !13, i64 0}
!21 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !22, i64 0, !19, i64 8}
!22 = !{!"float", !14, i64 0}
!23 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!27 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!31 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !32, i64 0, !19, i64 8, !14, i64 16}
!32 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !13, i64 0}
!33 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !34, i64 0}
!34 = !{!"_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", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!35 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !36, i64 0}
!36 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !38, i64 0, !40, i64 8}
!38 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !39, i64 0}
!39 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!40 = !{!"_ZTSSt15_Rb_tree_header", !41, i64 0, !19, i64 32}
!41 = !{!"_ZTSSt18_Rb_tree_node_base", !42, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!42 = !{!"_ZTSSt14_Rb_tree_color", !14, i64 0}
!43 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !44, i64 0}
!44 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !45, i64 0}
!45 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !46, i64 0}
!46 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !13, i64 0, !19, i64 8, !47, i64 16, !47, i64 48}
!47 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!48 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !49, i64 0}
!49 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !51, i64 0}
!51 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !13, i64 0, !19, i64 8, !52, i64 16, !52, i64 48}
!52 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!53 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !54, i64 0}
!54 = !{!"_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", !13, i64 0, !19, i64 8, !20, i64 16, !19, i64 24, !21, i64 32, !13, i64 48}
!55 = !{!"int", !14, i64 0}
!56 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !57, i64 0}
!57 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0, !58, i64 8}
!58 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !13, i64 0}
!59 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !60, i64 0}
!60 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !61, i64 0}
!61 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !62, i64 0, !40, i64 8}
!62 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !63, i64 0}
!63 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!64 = !{!"_ZTSN6ngraph2op4util11RNNCellBaseE", !19, i64 8, !22, i64 16, !65, i64 24, !69, i64 48, !69, i64 72}
!65 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !66, i64 0}
!66 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!69 = !{!"_ZTSSt6vectorIfSaIfEE", !70, i64 0}
!70 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !71, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!73 = !{!"_ZTSN6ngraph2op4util18ActivationFunctionE", !13, i64 0, !22, i64 8, !22, i64 12}
!74 = !{!"bool", !14, i64 0}
!75 = !{!"_ZTSN6ngraph2op17LSTMWeightsFormatE", !14, i64 0}
!76 = !{!6, !74, i64 824}
!77 = !{i8 0, i8 2}
!78 = !{}
!79 = !{!22, !22, i64 0}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopSimplifyPass,SROAPass,SimplifyCFGPass