; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/layer_norm.ll (ZNK6ngraph2op2v09LayerNorm12decompose_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.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.83" }
%"class.std::vector.83" = type { %"struct.std::_Vector_base.84" }
%"struct.std::_Vector_base.84" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::allocator.85" = type { i8 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.ngraph::AxisSet" = type { %"class.std::set.88" }
%"class.std::set.88" = type { %"class.std::_Rb_tree.89" }
%"class.std::_Rb_tree.89" = type { %"struct.std::_Rb_tree<unsigned long, unsigned long, std::_Identity<unsigned long>, std::less<unsigned long>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned long, unsigned long, std::_Identity<unsigned long>, std::less<unsigned long>>::_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 }
%"struct.std::pair" = type <{ %"struct.std::_Rb_tree_const_iterator", i8, [7 x i8] }>
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%"class.std::shared_ptr.94" = type { %"class.std::__shared_ptr.95" }
%"class.std::__shared_ptr.95" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.97" = type { %"class.std::__shared_ptr.98" }
%"class.std::__shared_ptr.98" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.100" = type { %"class.std::__shared_ptr.101" }
%"class.std::__shared_ptr.101" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::AxisVector" = type { %"class.std::vector.83" }
%"class.std::initializer_list.103" = type { ptr, i64 }
%"class.ngraph::op::v0::LayerNorm" = type { %"class.ngraph::op::util::FusedOp", i8, i8, i64, double }
%"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" }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@.str = external hidden unnamed_addr constant [45 x i8], align 1
@_ZTIN6ngraph12ngraph_errorE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.1 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [45 x i8], align 1

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

; 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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v09LayerNorm12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.69") align 8 %0, ptr noundef nonnull align 8 dereferenceable(704) %1) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca %"class.ngraph::Shape", align 8
  %11 = alloca i64, align 8
  %12 = alloca %"class.ngraph::Output", align 8
  %13 = alloca %"class.std::vector.83", align 8
  %14 = alloca %"class.std::allocator.85", align 1
  %15 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %16 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %17 = alloca %"class.std::shared_ptr.74", align 8
  %18 = alloca %"class.ngraph::AxisSet", align 8
  %19 = alloca %"class.ngraph::AxisSet", align 8
  %20 = alloca i64, align 8
  %21 = alloca %"struct.std::pair", align 8
  %22 = alloca %"class.std::shared_ptr.94", align 8
  %23 = alloca %"class.std::shared_ptr.74", align 8
  %24 = alloca %"class.ngraph::AxisSet", align 8
  %25 = alloca %"class.std::shared_ptr.74", align 8
  %26 = alloca %"class.std::shared_ptr.97", align 8
  %27 = alloca %"class.std::shared_ptr.74", align 8
  %28 = alloca %"class.ngraph::Output", align 8
  %29 = alloca %"class.ngraph::Output", align 8
  %30 = alloca %"class.std::shared_ptr.94", align 8
  %31 = alloca %"class.std::shared_ptr.74", align 8
  %32 = alloca %"class.ngraph::Output", align 8
  %33 = alloca %"class.std::shared_ptr.74", 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::AxisSet", align 8
  %38 = alloca i64, align 8
  %39 = alloca %"struct.std::pair", align 8
  %40 = alloca %"class.ngraph::Output", align 8
  %41 = alloca %"class.ngraph::Output", align 8
  %42 = alloca %"class.ngraph::Shape", align 8
  %43 = alloca %"class.ngraph::Shape", align 8
  %44 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %45 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %46 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %47 = alloca %"class.ngraph::Output", align 8
  %48 = alloca %"class.std::shared_ptr.100", align 8
  %49 = alloca %"class.ngraph::AxisVector", align 8
  %50 = alloca %"class.std::initializer_list.103", align 8
  %51 = alloca [1 x i64], align 8
  %52 = alloca %"class.ngraph::Output", align 8
  %53 = alloca %"class.std::shared_ptr.100", align 8
  %54 = alloca %"class.ngraph::AxisVector", align 8
  %55 = alloca %"class.std::initializer_list.103", align 8
  %56 = alloca [1 x i64], align 8
  %57 = alloca %"class.std::shared_ptr.94", align 8
  %58 = alloca %"class.std::shared_ptr.94", align 8
  %59 = alloca %"class.std::shared_ptr.74", align 8
  %60 = alloca %"class.ngraph::Output", align 8
  %61 = alloca %"class.std::shared_ptr.74", align 8
  %62 = alloca %"class.ngraph::Output", align 8
  %63 = alloca %"class.ngraph::Output", align 8
  %64 = alloca %"class.ngraph::Output", align 8
  %65 = alloca i1, align 1
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  %66 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #7
  %67 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 0)
  store ptr %67, ptr %5, align 8, !tbaa !5
  %68 = load ptr, ptr %5, align 8, !tbaa !5
  %69 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %68)
  br i1 %69, label %70, label %77

70:                                               ; preds = %2
  %71 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %71, ptr noundef @.str)
          to label %72 unwind label %73

72:                                               ; preds = %70
  call void @__cxa_throw(ptr %71, ptr @_ZTIN6ngraph12ngraph_errorE, ptr @_ZNSt13runtime_errorD2Ev) #8
  unreachable

73:                                               ; preds = %70
  %74 = landingpad { ptr, i32 }
          cleanup
  %75 = extractvalue { ptr, i32 } %74, 0
  store ptr %75, ptr %6, align 8
  %76 = extractvalue { ptr, i32 } %74, 1
  store i32 %76, ptr %7, align 4
  call void @__cxa_free_exception(ptr %71) #7
  br label %467

77:                                               ; preds = %2
  %78 = getelementptr inbounds %"class.ngraph::op::v0::LayerNorm", ptr %66, i32 0, i32 2
  %79 = load i8, ptr %78, align 1, !tbaa !9, !range !67, !noundef !68
  %80 = trunc i8 %79 to i1
  br i1 %80, label %81, label %105

81:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #7
  %82 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 1)
  store ptr %82, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #7
  %83 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 2)
  store ptr %83, ptr %9, align 8, !tbaa !5
  %84 = load ptr, ptr %8, align 8, !tbaa !5
  %85 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %84)
  br i1 %85, label %86, label %93

86:                                               ; preds = %81
  %87 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %87, ptr noundef @.str.1)
          to label %88 unwind label %89

88:                                               ; preds = %86
  call void @__cxa_throw(ptr %87, ptr @_ZTIN6ngraph12ngraph_errorE, ptr @_ZNSt13runtime_errorD2Ev) #8
  unreachable

89:                                               ; preds = %86
  %90 = landingpad { ptr, i32 }
          cleanup
  %91 = extractvalue { ptr, i32 } %90, 0
  store ptr %91, ptr %6, align 8
  %92 = extractvalue { ptr, i32 } %90, 1
  store i32 %92, ptr %7, align 4
  call void @__cxa_free_exception(ptr %87) #7
  br label %104

93:                                               ; preds = %81
  %94 = load ptr, ptr %9, align 8, !tbaa !5
  %95 = call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %94)
  br i1 %95, label %96, label %103

96:                                               ; preds = %93
  %97 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %97, ptr noundef @.str.2)
          to label %98 unwind label %99

98:                                               ; preds = %96
  call void @__cxa_throw(ptr %97, ptr @_ZTIN6ngraph12ngraph_errorE, ptr @_ZNSt13runtime_errorD2Ev) #8
  unreachable

99:                                               ; preds = %96
  %100 = landingpad { ptr, i32 }
          cleanup
  %101 = extractvalue { ptr, i32 } %100, 0
  store ptr %101, ptr %6, align 8
  %102 = extractvalue { ptr, i32 } %100, 1
  store i32 %102, ptr %7, align 4
  call void @__cxa_free_exception(ptr %97) #7
  br label %104

103:                                              ; preds = %93
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  br label %105

104:                                              ; preds = %99, %89
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  br label %467

105:                                              ; preds = %103, %77
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #7
  %106 = load ptr, ptr %5, align 8, !tbaa !5
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %106)
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  %107 = getelementptr inbounds %"class.ngraph::op::v0::LayerNorm", ptr %66, i32 0, i32 3
  %108 = load i64, ptr %107, align 8, !tbaa !69
  %109 = icmp sge i64 %108, 0
  br i1 %109, label %110, label %113

110:                                              ; preds = %105
  %111 = getelementptr inbounds %"class.ngraph::op::v0::LayerNorm", ptr %66, i32 0, i32 3
  %112 = load i64, ptr %111, align 8, !tbaa !69
  br label %118

113:                                              ; preds = %105
  %114 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %115 = getelementptr inbounds %"class.ngraph::op::v0::LayerNorm", ptr %66, i32 0, i32 3
  %116 = load i64, ptr %115, align 8, !tbaa !69
  %117 = add i64 %114, %116
  br label %118

118:                                              ; preds = %113, %110
  %119 = phi i64 [ %112, %110 ], [ %117, %113 ]
  store i64 %119, ptr %11, align 8, !tbaa !70
  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) %66, i64 noundef 0)
          to label %120 unwind label %144

120:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #7
  %121 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %122 = load i64, ptr %11, align 8, !tbaa !70
  %123 = sub i64 %121, %122
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  invoke void @_ZNSt6vectorImSaImEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %123, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %124 unwind label %148

124:                                              ; preds = %120
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #7
  %125 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  %126 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %15, i32 0, i32 0
  store ptr %125, ptr %126, align 8
  %127 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  %128 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %16, i32 0, i32 0
  store ptr %127, ptr %128, align 8
  %129 = load i64, ptr %11, align 8, !tbaa !70
  %130 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %15, i32 0, i32 0
  %131 = load ptr, ptr %130, align 8
  %132 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %16, i32 0, i32 0
  %133 = load ptr, ptr %132, align 8
  invoke void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEElEvT_S7_T0_(ptr %131, ptr %133, i64 noundef %129)
          to label %134 unwind label %152

134:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %18) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %135 unwind label %156

135:                                              ; preds = %134
  invoke void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %17, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(48) %18)
          to label %136 unwind label %160

136:                                              ; preds = %135
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %18) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %19) #7
  invoke void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %137 unwind label %165

137:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #7
  %138 = load i64, ptr %11, align 8, !tbaa !70
  store i64 %138, ptr %20, align 8, !tbaa !70
  br label %139

139:                                              ; preds = %176, %137
  %140 = load i64, ptr %20, align 8, !tbaa !70
  %141 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %142 = icmp ult i64 %140, %141
  br i1 %142, label %169, label %143

143:                                              ; preds = %139
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  br label %183

144:                                              ; preds = %118
  %145 = landingpad { ptr, i32 }
          cleanup
  %146 = extractvalue { ptr, i32 } %145, 0
  store ptr %146, ptr %6, align 8
  %147 = extractvalue { ptr, i32 } %145, 1
  store i32 %147, ptr %7, align 4
  br label %466

148:                                              ; preds = %120
  %149 = landingpad { ptr, i32 }
          cleanup
  %150 = extractvalue { ptr, i32 } %149, 0
  store ptr %150, ptr %6, align 8
  %151 = extractvalue { ptr, i32 } %149, 1
  store i32 %151, ptr %7, align 4
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #7
  br label %465

152:                                              ; preds = %124
  %153 = landingpad { ptr, i32 }
          cleanup
  %154 = extractvalue { ptr, i32 } %153, 0
  store ptr %154, ptr %6, align 8
  %155 = extractvalue { ptr, i32 } %153, 1
  store i32 %155, ptr %7, align 4
  br label %464

156:                                              ; preds = %134
  %157 = landingpad { ptr, i32 }
          cleanup
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %6, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %7, align 4
  br label %164

160:                                              ; preds = %135
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %6, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %7, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  br label %164

164:                                              ; preds = %160, %156
  call void @llvm.lifetime.end.p0(i64 48, ptr %18) #7
  br label %463

165:                                              ; preds = %136
  %166 = landingpad { ptr, i32 }
          cleanup
  %167 = extractvalue { ptr, i32 } %166, 0
  store ptr %167, ptr %6, align 8
  %168 = extractvalue { ptr, i32 } %166, 1
  store i32 %168, ptr %7, align 4
  br label %462

169:                                              ; preds = %139
  %170 = invoke { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48) %19, ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %171 unwind label %179

171:                                              ; preds = %169
  %172 = getelementptr inbounds { ptr, i8 }, ptr %21, i32 0, i32 0
  %173 = extractvalue { ptr, i8 } %170, 0
  store ptr %173, ptr %172, align 8
  %174 = getelementptr inbounds { ptr, i8 }, ptr %21, i32 0, i32 1
  %175 = extractvalue { ptr, i8 } %170, 1
  store i8 %175, ptr %174, align 8
  br label %176

176:                                              ; preds = %171
  %177 = load i64, ptr %20, align 8, !tbaa !70
  %178 = add i64 %177, 1
  store i64 %178, ptr %20, align 8, !tbaa !70
  br label %139, !llvm.loop !71

179:                                              ; preds = %169
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %6, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  br label %461

183:                                              ; preds = %143
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS0_4NodeEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %22, ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %184 unwind label %215

184:                                              ; preds = %183
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %24) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %185 unwind label %219

185:                                              ; preds = %184
  invoke void @_ZN6ngraph7builder8varianceERKNS_6OutputINS_4NodeEEERKNS_7AxisSetEb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %23, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(48) %24, i1 noundef zeroext false)
          to label %186 unwind label %223

186:                                              ; preds = %185
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %24) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %187 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  %188 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node23get_output_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %187, i64 noundef 0)
          to label %189 unwind label %228

189:                                              ; preds = %186
  %190 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  %191 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %190, i64 noundef 0)
          to label %192 unwind label %228

192:                                              ; preds = %189
  %193 = getelementptr inbounds %"class.ngraph::op::v0::LayerNorm", ptr %66, i32 0, i32 4
  invoke void @_ZN6ngraph7builder13make_constantIdEESt10shared_ptrINS_4NodeEERKNS_7element4TypeERKNS_5ShapeERKT_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %25, ptr noundef nonnull align 4 dereferenceable(4) %188, ptr noundef nonnull align 8 dereferenceable(24) %191, ptr noundef nonnull align 8 dereferenceable(8) %193)
          to label %194 unwind label %228

194:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %195 unwind label %232

195:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(16) %25)
          to label %196 unwind label %236

196:                                              ; preds = %195
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %27, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %197 unwind label %240

197:                                              ; preds = %196
  invoke void @_ZSt11make_sharedIN6ngraph2op2v04SqrtEJSt10shared_ptrINS0_4NodeEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES8_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.97") align 8 %26, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %198 unwind label %244

198:                                              ; preds = %197
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #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 @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_4SqrtEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %30, ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(48) %19)
          to label %199 unwind label %251

199:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %32) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %200 unwind label %255

200:                                              ; preds = %199
  invoke void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %33, ptr noundef %34, ptr noundef %35)
          to label %201 unwind label %259

201:                                              ; preds = %200
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %202 unwind label %263

202:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %203 unwind label %267

203:                                              ; preds = %202
  invoke void @_ZN6ngraphdvERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %31, ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %204 unwind label %271

204:                                              ; preds = %203
  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) %32) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #7
  %205 = getelementptr inbounds %"class.ngraph::op::v0::LayerNorm", ptr %66, i32 0, i32 2
  %206 = load i8, ptr %205, align 1, !tbaa !9, !range !67, !noundef !68
  %207 = trunc i8 %206 to i1
  br i1 %207, label %208, label %435

208:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 48, ptr %37) #7
  invoke void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %37)
          to label %209 unwind label %279

209:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #7
  store i64 0, ptr %38, align 8, !tbaa !70
  br label %210

210:                                              ; preds = %290, %209
  %211 = load i64, ptr %38, align 8, !tbaa !70
  %212 = load i64, ptr %11, align 8, !tbaa !70
  %213 = icmp ult i64 %211, %212
  br i1 %213, label %283, label %214

214:                                              ; preds = %210
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  br label %297

215:                                              ; preds = %183
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %6, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %7, align 4
  br label %460

219:                                              ; preds = %184
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %6, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %7, align 4
  br label %227

223:                                              ; preds = %185
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %6, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %7, align 4
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  br label %227

227:                                              ; preds = %223, %219
  call void @llvm.lifetime.end.p0(i64 48, ptr %24) #7
  br label %459

228:                                              ; preds = %192, %189, %186
  %229 = landingpad { ptr, i32 }
          cleanup
  %230 = extractvalue { ptr, i32 } %229, 0
  store ptr %230, ptr %6, align 8
  %231 = extractvalue { ptr, i32 } %229, 1
  store i32 %231, ptr %7, align 4
  br label %458

232:                                              ; preds = %194
  %233 = landingpad { ptr, i32 }
          cleanup
  %234 = extractvalue { ptr, i32 } %233, 0
  store ptr %234, ptr %6, align 8
  %235 = extractvalue { ptr, i32 } %233, 1
  store i32 %235, ptr %7, align 4
  br label %250

236:                                              ; preds = %195
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %6, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %7, align 4
  br label %249

240:                                              ; preds = %196
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %6, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %7, align 4
  br label %248

244:                                              ; preds = %197
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %6, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %7, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #7
  br label %248

248:                                              ; preds = %244, %240
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  br label %249

249:                                              ; preds = %248, %236
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  br label %250

250:                                              ; preds = %249, %232
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #7
  br label %457

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

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

259:                                              ; preds = %200
  %260 = landingpad { ptr, i32 }
          cleanup
  %261 = extractvalue { ptr, i32 } %260, 0
  store ptr %261, ptr %6, align 8
  %262 = extractvalue { ptr, i32 } %260, 1
  store i32 %262, ptr %7, align 4
  br label %277

263:                                              ; preds = %201
  %264 = landingpad { ptr, i32 }
          cleanup
  %265 = extractvalue { ptr, i32 } %264, 0
  store ptr %265, ptr %6, align 8
  %266 = extractvalue { ptr, i32 } %264, 1
  store i32 %266, ptr %7, align 4
  br label %276

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

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

275:                                              ; preds = %271, %267
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  br label %276

276:                                              ; preds = %275, %263
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #7
  br label %277

277:                                              ; preds = %276, %259
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %278

278:                                              ; preds = %277, %255
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #7
  br label %455

279:                                              ; preds = %208
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %6, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %7, align 4
  br label %434

283:                                              ; preds = %210
  %284 = invoke { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %285 unwind label %293

285:                                              ; preds = %283
  %286 = getelementptr inbounds { ptr, i8 }, ptr %39, i32 0, i32 0
  %287 = extractvalue { ptr, i8 } %284, 0
  store ptr %287, ptr %286, align 8
  %288 = getelementptr inbounds { ptr, i8 }, ptr %39, i32 0, i32 1
  %289 = extractvalue { ptr, i8 } %284, 1
  store i8 %289, ptr %288, align 8
  br label %290

290:                                              ; preds = %285
  %291 = load i64, ptr %38, align 8, !tbaa !70
  %292 = add i64 %291, 1
  store i64 %292, ptr %38, align 8, !tbaa !70
  br label %210, !llvm.loop !73

293:                                              ; preds = %283
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %6, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  br label %433

297:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %40, ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 1)
          to label %298 unwind label %334

298:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 24, ptr %41) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %41, ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 2)
          to label %299 unwind label %338

299:                                              ; preds = %298
  call void @llvm.lifetime.start.p0(i64 24, ptr %42) #7
  %300 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 1)
          to label %301 unwind label %342

301:                                              ; preds = %299
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %42, ptr noundef nonnull align 8 dereferenceable(32) %300)
          to label %302 unwind label %342

302:                                              ; preds = %301
  %303 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %304 = load i64, ptr %11, align 8, !tbaa !70
  %305 = sub i64 %303, %304
  %306 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  %307 = icmp ne i64 %305, %306
  br i1 %307, label %308, label %380

308:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  %309 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %310 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %45, i32 0, i32 0
  store ptr %309, ptr %310, align 8
  %311 = getelementptr inbounds %"class.ngraph::op::v0::LayerNorm", ptr %66, i32 0, i32 3
  %312 = load i64, ptr %311, align 8, !tbaa !69
  %313 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %45, i64 noundef %312) #7
  %314 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %44, i32 0, i32 0
  store ptr %313, ptr %314, align 8
  %315 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %316 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %46, i32 0, i32 0
  store ptr %315, ptr %316, align 8
  %317 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %44, i32 0, i32 0
  %318 = load ptr, ptr %317, align 8
  %319 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %46, i32 0, i32 0
  %320 = load ptr, ptr %319, align 8
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr %318, ptr %320)
          to label %321 unwind label %346

321:                                              ; preds = %308
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %47) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %49) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  store i64 0, ptr %51, align 8, !tbaa !70
  %322 = getelementptr inbounds %"class.std::initializer_list.103", ptr %50, i32 0, i32 0
  store ptr %51, ptr %322, align 8, !tbaa !74
  %323 = getelementptr inbounds %"class.std::initializer_list.103", ptr %50, i32 0, i32 1
  store i64 1, ptr %323, align 8, !tbaa !76
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %324 unwind label %350

324:                                              ; preds = %321
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorERNS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.100") align 8 %48, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %325 unwind label %354

325:                                              ; preds = %324
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %326 unwind label %358

326:                                              ; preds = %325
  %327 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %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.start.p0(i64 24, ptr %52) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #7
  store i64 0, ptr %56, align 8, !tbaa !70
  %328 = getelementptr inbounds %"class.std::initializer_list.103", ptr %55, i32 0, i32 0
  store ptr %56, ptr %328, align 8, !tbaa !74
  %329 = getelementptr inbounds %"class.std::initializer_list.103", ptr %55, i32 0, i32 1
  store i64 1, ptr %329, align 8, !tbaa !76
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %330 unwind label %364

330:                                              ; preds = %326
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorERNS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.100") align 8 %53, ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %331 unwind label %368

331:                                              ; preds = %330
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %332 unwind label %372

332:                                              ; preds = %331
  %333 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph6OutputINS_4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %52) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #7
  br label %380

334:                                              ; preds = %297
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %6, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %7, align 4
  br label %432

338:                                              ; preds = %298
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %6, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %7, align 4
  br label %431

342:                                              ; preds = %301, %299
  %343 = landingpad { ptr, i32 }
          cleanup
  %344 = extractvalue { ptr, i32 } %343, 0
  store ptr %344, ptr %6, align 8
  %345 = extractvalue { ptr, i32 } %343, 1
  store i32 %345, ptr %7, align 4
  br label %430

346:                                              ; preds = %308
  %347 = landingpad { ptr, i32 }
          cleanup
  %348 = extractvalue { ptr, i32 } %347, 0
  store ptr %348, ptr %6, align 8
  %349 = extractvalue { ptr, i32 } %347, 1
  store i32 %349, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br label %379

350:                                              ; preds = %321
  %351 = landingpad { ptr, i32 }
          cleanup
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %6, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %7, align 4
  br label %363

354:                                              ; preds = %324
  %355 = landingpad { ptr, i32 }
          cleanup
  %356 = extractvalue { ptr, i32 } %355, 0
  store ptr %356, ptr %6, align 8
  %357 = extractvalue { ptr, i32 } %355, 1
  store i32 %357, ptr %7, align 4
  br label %362

358:                                              ; preds = %325
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %6, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %7, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  br label %362

362:                                              ; preds = %358, %354
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  br label %363

363:                                              ; preds = %362, %350
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #7
  br label %378

364:                                              ; preds = %326
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %6, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %7, align 4
  br label %377

368:                                              ; preds = %330
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %6, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %7, align 4
  br label %376

372:                                              ; preds = %331
  %373 = landingpad { ptr, i32 }
          cleanup
  %374 = extractvalue { ptr, i32 } %373, 0
  store ptr %374, ptr %6, align 8
  %375 = extractvalue { ptr, i32 } %373, 1
  store i32 %375, ptr %7, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #7
  br label %376

376:                                              ; preds = %372, %368
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  br label %377

377:                                              ; preds = %376, %364
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #7
  br label %378

378:                                              ; preds = %377, %363
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  br label %379

379:                                              ; preds = %378, %346
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #7
  br label %429

380:                                              ; preds = %332, %302
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRNS0_6OutputINS0_4NodeEEERNS0_5ShapeERNS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %57, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(48) %37)
          to label %381 unwind label %390

381:                                              ; preds = %380
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRNS0_6OutputINS0_4NodeEEERNS0_5ShapeERNS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.94") align 8 %58, ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(48) %37)
          to label %382 unwind label %394

382:                                              ; preds = %381
  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
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %383 unwind label %398

383:                                              ; preds = %382
  call void @llvm.lifetime.start.p0(i64 24, ptr %63) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(16) %57)
          to label %384 unwind label %402

384:                                              ; preds = %383
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %61, ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(24) %63)
          to label %385 unwind label %406

385:                                              ; preds = %384
  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 %386 unwind label %410

386:                                              ; preds = %385
  call void @llvm.lifetime.start.p0(i64 24, ptr %64) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %387 unwind label %414

387:                                              ; preds = %386
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %59, ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(24) %64)
          to label %388 unwind label %418

388:                                              ; preds = %387
  %389 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 8 dereferenceable(16) %59) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #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 @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #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.end.p0(i64 16, ptr %59) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__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 @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #7
  br label %435

390:                                              ; preds = %380
  %391 = landingpad { ptr, i32 }
          cleanup
  %392 = extractvalue { ptr, i32 } %391, 0
  store ptr %392, ptr %6, align 8
  %393 = extractvalue { ptr, i32 } %391, 1
  store i32 %393, ptr %7, align 4
  br label %428

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

398:                                              ; preds = %382
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %6, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %7, align 4
  br label %426

402:                                              ; preds = %383
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %6, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %7, align 4
  br label %425

406:                                              ; preds = %384
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %6, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %7, align 4
  br label %424

410:                                              ; preds = %385
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %6, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %7, align 4
  br label %423

414:                                              ; preds = %386
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %6, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %7, align 4
  br label %422

418:                                              ; preds = %387
  %419 = landingpad { ptr, i32 }
          cleanup
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %6, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %7, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #7
  br label %422

422:                                              ; preds = %418, %414
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  br label %423

423:                                              ; preds = %422, %410
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #7
  br label %424

424:                                              ; preds = %423, %406
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  br label %425

425:                                              ; preds = %424, %402
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  br label %426

426:                                              ; preds = %425, %398
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #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.end.p0(i64 16, ptr %59) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #7
  br label %427

427:                                              ; preds = %426, %394
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57) #7
  br label %428

428:                                              ; preds = %427, %390
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #7
  br label %429

429:                                              ; preds = %428, %379
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  br label %430

430:                                              ; preds = %429, %342
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  br label %431

431:                                              ; preds = %430, %338
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  br label %432

432:                                              ; preds = %431, %334
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #7
  br label %433

433:                                              ; preds = %432, %293
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  br label %434

434:                                              ; preds = %433, %279
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #7
  br label %454

435:                                              ; preds = %388, %204
  store i1 false, ptr %65, align 1
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  %436 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrIS2_EEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %437 unwind label %446

437:                                              ; preds = %435
  %438 = getelementptr inbounds %"class.ngraph::op::v0::LayerNorm", ptr %66, i32 0, i32 1
  %439 = load i8, ptr %438, align 8, !tbaa !77, !range !67, !noundef !68
  %440 = trunc i8 %439 to i1
  br i1 %440, label %441, label %450

441:                                              ; preds = %437
  %442 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrIS2_EEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %443 unwind label %446

443:                                              ; preds = %441
  %444 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrIS2_EEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %445 unwind label %446

445:                                              ; preds = %443
  br label %450

446:                                              ; preds = %443, %441, %435
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %6, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %7, align 4
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  br label %454

450:                                              ; preds = %445, %437
  store i1 true, ptr %65, align 1
  %451 = load i1, ptr %65, align 1
  br i1 %451, label %453, label %452

452:                                              ; preds = %450
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  br label %453

453:                                              ; preds = %452, %450
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04SqrtELN9__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_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 @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #7
  call void @_ZNSt6vectorImSaImEED2Ev(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 @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  ret void

454:                                              ; preds = %446, %434
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  br label %455

455:                                              ; preds = %454, %278
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #7
  br label %456

456:                                              ; preds = %455, %251
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04SqrtELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  br label %457

457:                                              ; preds = %456, %250
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #7
  br label %458

458:                                              ; preds = %457, %228
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  br label %459

459:                                              ; preds = %458, %227
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  br label %460

460:                                              ; preds = %459, %215
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #7
  br label %461

461:                                              ; preds = %460, %179
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #7
  br label %462

462:                                              ; preds = %461, %165
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  br label %463

463:                                              ; preds = %462, %164
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #7
  br label %464

464:                                              ; preds = %463, %152
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  br label %465

465:                                              ; preds = %464, %148
  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 %466

466:                                              ; preds = %465, %144
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #7
  br label %467

467:                                              ; preds = %466, %104, %73
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  br label %468

468:                                              ; preds = %467
  %469 = load ptr, ptr %6, align 8
  %470 = load i32, ptr %7, align 4
  %471 = insertvalue { ptr, i32 } poison, ptr %469, 0
  %472 = insertvalue { ptr, i32 } %471, i32 %470, 1
  resume { ptr, i32 } %472
}

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

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

declare ptr @__cxa_allocate_exception(i64)

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

declare void @__cxa_free_exception(ptr)

declare void @__cxa_throw(ptr, ptr, ptr)

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEElEvT_S7_T0_(ptr, ptr, i64 noundef) #2

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

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

declare void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48)) #4

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

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

declare void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

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

declare void @_ZN6ngraph7builder8varianceERKNS_6OutputINS_4NodeEEERKNS_7AxisSetEb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48), i1 noundef zeroext) #4

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

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

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

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

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

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

; 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 uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_4SqrtEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.94") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48)) #5

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

declare void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef, ptr noundef) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_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 ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) #2 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #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_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }
attributes #8 = { noreturn }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !65, i64 681}
!10 = !{!"_ZTSN6ngraph2op2v09LayerNormE", !11, i64 0, !65, i64 680, !65, i64 681, !20, i64 688, !66, i64 696}
!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 = !{!"bool", !7, i64 0}
!66 = !{!"double", !7, i64 0}
!67 = !{i8 0, i8 2}
!68 = !{}
!69 = !{!10, !20, i64 688}
!70 = !{!20, !20, i64 0}
!71 = distinct !{!71, !72}
!72 = !{!"llvm.loop.mustprogress"}
!73 = distinct !{!73, !72}
!74 = !{!75, !6, i64 0}
!75 = !{!"_ZTSSt16initializer_listImE", !6, i64 0, !20, i64 8}
!76 = !{!75, !20, i64 8}
!77 = !{!10, !65, i64 680}


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

%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.83" }
%"class.std::vector.83" = type { %"struct.std::_Vector_base.84" }
%"struct.std::_Vector_base.84" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::allocator.85" = type { i8 }
%"class.ngraph::AxisSet" = type { %"class.std::set.88" }
%"class.std::set.88" = type { %"class.std::_Rb_tree.89" }
%"class.std::_Rb_tree.89" = type { %"struct.std::_Rb_tree<unsigned long, unsigned long, std::_Identity<unsigned long>, std::less<unsigned long>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned long, unsigned long, std::_Identity<unsigned long>, std::less<unsigned long>>::_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::shared_ptr.94" = type { %"class.std::__shared_ptr.95" }
%"class.std::__shared_ptr.95" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.97" = type { %"class.std::__shared_ptr.98" }
%"class.std::__shared_ptr.98" = type { ptr, %"class.std::__shared_count" }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::shared_ptr.100" = type { %"class.std::__shared_ptr.101" }
%"class.std::__shared_ptr.101" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::AxisVector" = type { %"class.std::vector.83" }
%"class.std::initializer_list.103" = type { ptr, i64 }

@.str = external hidden unnamed_addr constant [45 x i8], align 1
@_ZTIN6ngraph12ngraph_errorE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.1 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [45 x i8], align 1

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

; 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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK6ngraph2op2v09LayerNorm12decompose_opEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.69") align 8 %0, ptr noundef nonnull align 8 dereferenceable(704) %1) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.ngraph::Shape", align 8
  %4 = alloca %"class.ngraph::Output", align 8
  %5 = alloca %"class.std::vector.83", align 8
  %6 = alloca %"class.std::allocator.85", align 1
  %7 = alloca %"class.std::shared_ptr.74", align 8
  %8 = alloca %"class.ngraph::AxisSet", align 8
  %9 = alloca %"class.ngraph::AxisSet", align 8
  %10 = alloca i64, align 8
  %11 = alloca %"class.std::shared_ptr.94", align 8
  %12 = alloca %"class.std::shared_ptr.74", align 8
  %13 = alloca %"class.ngraph::AxisSet", align 8
  %14 = alloca %"class.std::shared_ptr.74", align 8
  %15 = alloca %"class.std::shared_ptr.97", align 8
  %16 = alloca %"class.std::shared_ptr.74", align 8
  %17 = alloca %"class.ngraph::Output", align 8
  %18 = alloca %"class.ngraph::Output", align 8
  %19 = alloca %"class.std::shared_ptr.94", align 8
  %20 = alloca %"class.std::shared_ptr.74", align 8
  %21 = alloca %"class.ngraph::Output", align 8
  %22 = alloca %"class.std::shared_ptr.74", align 8
  %23 = alloca %"class.ngraph::Output", align 8
  %24 = alloca %"class.ngraph::Output", align 8
  %25 = alloca %"class.ngraph::Output", align 8
  %26 = alloca %"class.ngraph::AxisSet", align 8
  %27 = alloca i64, align 8
  %28 = alloca %"class.ngraph::Output", align 8
  %29 = alloca %"class.ngraph::Output", align 8
  %30 = alloca %"class.ngraph::Shape", align 8
  %31 = alloca %"class.ngraph::Shape", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %33 = alloca %"class.ngraph::Output", align 8
  %34 = alloca %"class.std::shared_ptr.100", align 8
  %35 = alloca %"class.ngraph::AxisVector", align 8
  %36 = alloca %"class.std::initializer_list.103", align 8
  %37 = alloca [1 x i64], align 8
  %38 = alloca %"class.ngraph::Output", align 8
  %39 = alloca %"class.std::shared_ptr.100", align 8
  %40 = alloca %"class.ngraph::AxisVector", align 8
  %41 = alloca %"class.std::initializer_list.103", align 8
  %42 = alloca [1 x i64], align 8
  %43 = alloca %"class.std::shared_ptr.94", align 8
  %44 = alloca %"class.std::shared_ptr.94", align 8
  %45 = alloca %"class.std::shared_ptr.74", align 8
  %46 = alloca %"class.ngraph::Output", align 8
  %47 = alloca %"class.std::shared_ptr.74", align 8
  %48 = alloca %"class.ngraph::Output", align 8
  %49 = alloca %"class.ngraph::Output", align 8
  %50 = alloca %"class.ngraph::Output", align 8
  %51 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 0)
  %52 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %51)
  br i1 %52, label %53, label %58

53:                                               ; preds = %2
  %54 = tail call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef nonnull @.str)
          to label %55 unwind label %56

55:                                               ; preds = %53
  tail call void @__cxa_throw(ptr nonnull %54, ptr nonnull @_ZTIN6ngraph12ngraph_errorE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
  unreachable

56:                                               ; preds = %53
  %57 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %54) #7
  br label %302

58:                                               ; preds = %2
  %59 = getelementptr inbounds i8, ptr %1, i64 681
  %60 = load i8, ptr %59, align 1, !tbaa !5, !range !66, !noundef !67
  %61 = trunc nuw i8 %60 to i1
  br i1 %61, label %62, label %78

62:                                               ; preds = %58
  %63 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
  %64 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 2)
  %65 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %63)
  br i1 %65, label %66, label %71

66:                                               ; preds = %62
  %67 = tail call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %67, ptr noundef nonnull @.str.1)
          to label %68 unwind label %69

68:                                               ; preds = %66
  tail call void @__cxa_throw(ptr nonnull %67, ptr nonnull @_ZTIN6ngraph12ngraph_errorE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
  unreachable

69:                                               ; preds = %66
  %70 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %67) #7
  br label %302

71:                                               ; preds = %62
  %72 = tail call noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %64)
  br i1 %72, label %73, label %78

73:                                               ; preds = %71
  %74 = tail call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZN6ngraph12ngraph_errorC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %74, ptr noundef nonnull @.str.2)
          to label %75 unwind label %76

75:                                               ; preds = %73
  tail call void @__cxa_throw(ptr nonnull %74, ptr nonnull @_ZTIN6ngraph12ngraph_errorE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
  unreachable

76:                                               ; preds = %73
  %77 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %74) #7
  br label %302

78:                                               ; preds = %71, %58
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #7
  call void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %51)
  %79 = getelementptr inbounds i8, ptr %1, i64 688
  %80 = load i64, ptr %79, align 8, !tbaa !68
  %81 = icmp sgt i64 %80, -1
  br i1 %81, label %86, label %82

82:                                               ; preds = %78
  %83 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %84 = load i64, ptr %79, align 8, !tbaa !68
  %85 = add i64 %84, %83
  br label %86

86:                                               ; preds = %78, %82
  %87 = phi i64 [ %85, %82 ], [ %80, %78 ]
  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 0)
          to label %88 unwind label %99

88:                                               ; preds = %86
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #7
  %89 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %90 = sub i64 %89, %87
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  invoke void @_ZNSt6vectorImSaImEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %90, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %91 unwind label %101

91:                                               ; preds = %88
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #7
  %92 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %93 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEElEvT_S7_T0_(ptr %92, ptr %93, i64 noundef %87)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %94 unwind label %103

94:                                               ; preds = %91
  invoke void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %7, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(48) %8)
          to label %95 unwind label %105

95:                                               ; preds = %94
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %8) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9) #7
  invoke void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %9)
          to label %96 unwind label %108

96:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  store i64 %87, ptr %10, align 8, !tbaa !69
  %97 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %98 = icmp ult i64 %87, %97
  br i1 %98, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %111, %96
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS0_4NodeEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %11, ptr noundef nonnull align 8 dereferenceable(16) %7, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %9)
          to label %118 unwind label %143

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

101:                                              ; preds = %88
  %102 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #7
  br label %300

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

105:                                              ; preds = %94
  %106 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %8) #7
  br label %107

107:                                              ; preds = %105, %103
  %.pn = phi { ptr, i32 } [ %106, %105 ], [ %104, %103 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #7
  br label %299

108:                                              ; preds = %95
  %109 = landingpad { ptr, i32 }
          cleanup
  br label %298

.lr.ph:                                           ; preds = %96, %111
  %110 = invoke { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %111 unwind label %116

111:                                              ; preds = %.lr.ph
  %112 = load i64, ptr %10, align 8, !tbaa !69
  %113 = add i64 %112, 1
  store i64 %113, ptr %10, align 8, !tbaa !69
  %114 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %115 = icmp ult i64 %113, %114
  br i1 %115, label %.lr.ph, label %._crit_edge, !llvm.loop !70

116:                                              ; preds = %.lr.ph
  %117 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %297

118:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %13) #7
  invoke void @_ZN6ngraph7AxisSetC1ERKSt6vectorImSaImEE(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %119 unwind label %145

119:                                              ; preds = %118
  invoke void @_ZN6ngraph7builder8varianceERKNS_6OutputINS_4NodeEEERKNS_7AxisSetEb(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %12, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(48) %13, i1 noundef zeroext false)
          to label %120 unwind label %147

120:                                              ; preds = %119
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #7
  %121 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  %122 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node23get_output_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %121, i64 noundef 0)
          to label %123 unwind label %150

123:                                              ; preds = %120
  %124 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  %125 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6ngraph4Node16get_output_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %124, i64 noundef 0)
          to label %126 unwind label %150

126:                                              ; preds = %123
  %127 = getelementptr inbounds i8, ptr %1, i64 696
  invoke void @_ZN6ngraph7builder13make_constantIdEESt10shared_ptrINS_4NodeEERKNS_7element4TypeERKNS_5ShapeERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %14, ptr noundef nonnull align 4 dereferenceable(4) %122, ptr noundef nonnull align 8 dereferenceable(24) %125, ptr noundef nonnull align 8 dereferenceable(8) %127)
          to label %128 unwind label %150

128:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %129 unwind label %152

129:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %130 unwind label %154

130:                                              ; preds = %129
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %16, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %18)
          to label %131 unwind label %156

131:                                              ; preds = %130
  invoke void @_ZSt11make_sharedIN6ngraph2op2v04SqrtEJSt10shared_ptrINS0_4NodeEEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueES8_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.97") align 8 %15, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %132 unwind label %158

132:                                              ; preds = %131
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_4SqrtEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %19, ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %9)
          to label %133 unwind label %163

133:                                              ; preds = %132
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(16) %11)
          to label %134 unwind label %165

134:                                              ; preds = %133
  invoke void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %22, ptr noundef nonnull %23, ptr noundef nonnull %24)
          to label %135 unwind label %167

135:                                              ; preds = %134
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %136 unwind label %169

136:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %137 unwind label %171

137:                                              ; preds = %136
  invoke void @_ZN6ngraphdvERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %20, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %25)
          to label %138 unwind label %173

138:                                              ; preds = %137
  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 @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #7
  %139 = load i8, ptr %59, align 1, !tbaa !5, !range !66, !noundef !67
  %140 = trunc nuw i8 %139 to i1
  br i1 %140, label %141, label %277

141:                                              ; preds = %138
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %26) #7
  invoke void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %26)
          to label %142 unwind label %179

142:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #7
  store i64 0, ptr %27, align 8, !tbaa !69
  %.not118 = icmp eq i64 %87, 0
  br i1 %.not118, label %._crit_edge117, label %.lr.ph116

._crit_edge117:                                   ; preds = %182, %142
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %28, ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
          to label %188 unwind label %212

143:                                              ; preds = %._crit_edge
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %296

145:                                              ; preds = %118
  %146 = landingpad { ptr, i32 }
          cleanup
  br label %149

147:                                              ; preds = %119
  %148 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #7
  br label %149

149:                                              ; preds = %147, %145
  %.pn63 = phi { ptr, i32 } [ %148, %147 ], [ %146, %145 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %13) #7
  br label %295

150:                                              ; preds = %126, %123, %120
  %151 = landingpad { ptr, i32 }
          cleanup
  br label %294

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

154:                                              ; preds = %129
  %155 = landingpad { ptr, i32 }
          cleanup
  br label %161

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

158:                                              ; preds = %131
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  br label %160

160:                                              ; preds = %158, %156
  %.pn65 = phi { ptr, i32 } [ %159, %158 ], [ %157, %156 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  br label %161

161:                                              ; preds = %160, %154
  %.pn65.pn = phi { ptr, i32 } [ %.pn65, %160 ], [ %155, %154 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  br label %162

162:                                              ; preds = %161, %152
  %.pn65.pn.pn = phi { ptr, i32 } [ %.pn65.pn, %161 ], [ %153, %152 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  br label %293

163:                                              ; preds = %132
  %164 = landingpad { ptr, i32 }
          cleanup
  br label %292

165:                                              ; preds = %133
  %166 = landingpad { ptr, i32 }
          cleanup
  br label %178

167:                                              ; preds = %134
  %168 = landingpad { ptr, i32 }
          cleanup
  br label %177

169:                                              ; preds = %135
  %170 = landingpad { ptr, i32 }
          cleanup
  br label %176

171:                                              ; preds = %136
  %172 = landingpad { ptr, i32 }
          cleanup
  br label %175

173:                                              ; preds = %137
  %174 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  br label %175

175:                                              ; preds = %173, %171
  %.pn69 = phi { ptr, i32 } [ %174, %173 ], [ %172, %171 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  br label %176

176:                                              ; preds = %175, %169
  %.pn69.pn = phi { ptr, i32 } [ %.pn69, %175 ], [ %170, %169 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  br label %177

177:                                              ; preds = %176, %167
  %.pn69.pn.pn = phi { ptr, i32 } [ %.pn69.pn, %176 ], [ %168, %167 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  br label %178

178:                                              ; preds = %177, %165
  %.pn69.pn.pn.pn = phi { ptr, i32 } [ %.pn69.pn.pn, %177 ], [ %166, %165 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #7
  br label %291

179:                                              ; preds = %141
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %276

.lr.ph116:                                        ; preds = %142, %182
  %181 = invoke { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48) %26, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %182 unwind label %186

182:                                              ; preds = %.lr.ph116
  %183 = load i64, ptr %27, align 8, !tbaa !69
  %184 = add i64 %183, 1
  store i64 %184, ptr %27, align 8, !tbaa !69
  %185 = icmp ult i64 %184, %87
  br i1 %185, label %.lr.ph116, label %._crit_edge117, !llvm.loop !72

186:                                              ; preds = %.lr.ph116
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  br label %275

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

189:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #7
  %190 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %1, i64 noundef 1)
          to label %191 unwind label %216

191:                                              ; preds = %189
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %190)
          to label %192 unwind label %216

192:                                              ; preds = %191
  %193 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  %194 = sub i64 %193, %87
  %195 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  %.not = icmp eq i64 %194, %195
  br i1 %.not, label %238, label %196

196:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #7
  %197 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  store ptr %197, ptr %32, align 8
  %198 = load i64, ptr %79, align 8, !tbaa !68
  %199 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %32, i64 noundef %198) #7
  %200 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr %199, ptr %200)
          to label %201 unwind label %218

201:                                              ; preds = %196
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  store i64 0, ptr %37, align 8, !tbaa !69
  store ptr %37, ptr %36, align 8, !tbaa !73
  %202 = getelementptr inbounds i8, ptr %36, i64 8
  store i64 1, ptr %202, align 8, !tbaa !75
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %203 unwind label %220

203:                                              ; preds = %201
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorERNS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.100") align 8 %34, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %204 unwind label %222

204:                                              ; preds = %203
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %205 unwind label %224

205:                                              ; preds = %204
  %206 = 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) %33) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #7
  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
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  store i64 0, ptr %42, align 8, !tbaa !69
  store ptr %42, ptr %41, align 8, !tbaa !73
  %207 = getelementptr inbounds i8, ptr %41, i64 8
  store i64 1, ptr %207, align 8, !tbaa !75
  invoke void @_ZN6ngraph10AxisVectorC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %208 unwind label %228

208:                                              ; preds = %205
  invoke void @_ZSt11make_sharedIN6ngraph2op2v07ReshapeEJRNS0_6OutputINS0_4NodeEEENS0_10AxisVectorERNS0_5ShapeEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.100") align 8 %39, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %209 unwind label %230

209:                                              ; preds = %208
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %210 unwind label %232

210:                                              ; preds = %209
  %211 = 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_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %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
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  br label %238

212:                                              ; preds = %._crit_edge117
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %274

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

216:                                              ; preds = %191, %189
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %272

218:                                              ; preds = %196
  %219 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  br label %237

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

222:                                              ; preds = %203
  %223 = landingpad { ptr, i32 }
          cleanup
  br label %226

224:                                              ; preds = %204
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #7
  br label %226

226:                                              ; preds = %224, %222
  %.pn75 = phi { ptr, i32 } [ %225, %224 ], [ %223, %222 ]
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %227

227:                                              ; preds = %226, %220
  %.pn75.pn = phi { ptr, i32 } [ %.pn75, %226 ], [ %221, %220 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #7
  br label %236

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

230:                                              ; preds = %208
  %231 = landingpad { ptr, i32 }
          cleanup
  br label %234

232:                                              ; preds = %209
  %233 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #7
  br label %234

234:                                              ; preds = %232, %230
  %.pn78 = phi { ptr, i32 } [ %233, %232 ], [ %231, %230 ]
  call void @_ZN6ngraph10AxisVectorD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  br label %235

235:                                              ; preds = %234, %228
  %.pn78.pn = phi { ptr, i32 } [ %.pn78, %234 ], [ %229, %228 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %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 %236

236:                                              ; preds = %235, %227
  %.pn78.pn.pn = phi { ptr, i32 } [ %.pn78.pn, %235 ], [ %.pn75.pn, %227 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  br label %237

237:                                              ; preds = %236, %218
  %.pn78.pn.pn.pn = phi { ptr, i32 } [ %.pn78.pn.pn, %236 ], [ %219, %218 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  br label %271

238:                                              ; preds = %210, %192
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRNS0_6OutputINS0_4NodeEEERNS0_5ShapeERNS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %43, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %26)
          to label %239 unwind label %248

239:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #7
  invoke void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRNS0_6OutputINS0_4NodeEEERNS0_5ShapeERNS0_7AxisSetEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.94") align 8 %44, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(48) %26)
          to label %240 unwind label %250

240:                                              ; preds = %239
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %241 unwind label %252

241:                                              ; preds = %240
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(16) %43)
          to label %242 unwind label %254

242:                                              ; preds = %241
  invoke void @_ZN6ngraphmlERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %47, ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %243 unwind label %256

243:                                              ; preds = %242
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2IS1_EERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %244 unwind label %258

244:                                              ; preds = %243
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %50) #7
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %245 unwind label %260

245:                                              ; preds = %244
  invoke void @_ZN6ngraphplERKNS_6OutputINS_4NodeEEES4_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %45, ptr noundef nonnull align 8 dereferenceable(24) %46, ptr noundef nonnull align 8 dereferenceable(24) %50)
          to label %246 unwind label %262

246:                                              ; preds = %245
  %247 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef nonnull align 8 dereferenceable(16) %45) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  call void @_ZN6ngraph5ShapeD1Ev(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 @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %26) #7
  br label %277

248:                                              ; preds = %238
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %270

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

252:                                              ; preds = %240
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %268

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

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

258:                                              ; preds = %243
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %265

260:                                              ; preds = %244
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %264

262:                                              ; preds = %245
  %263 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #7
  br label %264

264:                                              ; preds = %262, %260
  %.pn83 = phi { ptr, i32 } [ %263, %262 ], [ %261, %260 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  br label %265

265:                                              ; preds = %264, %258
  %.pn83.pn = phi { ptr, i32 } [ %.pn83, %264 ], [ %259, %258 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #7
  br label %266

266:                                              ; preds = %265, %256
  %.pn83.pn.pn = phi { ptr, i32 } [ %.pn83.pn, %265 ], [ %257, %256 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  br label %267

267:                                              ; preds = %266, %254
  %.pn83.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn, %266 ], [ %255, %254 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  br label %268

268:                                              ; preds = %267, %252
  %.pn83.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn, %267 ], [ %253, %252 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #7
  br label %269

269:                                              ; preds = %268, %250
  %.pn83.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn.pn, %268 ], [ %251, %250 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #7
  br label %270

270:                                              ; preds = %269, %248
  %.pn83.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn.pn.pn, %269 ], [ %249, %248 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  br label %271

271:                                              ; preds = %270, %237
  %.pn83.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn.pn.pn.pn, %270 ], [ %.pn78.pn.pn.pn, %237 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  br label %272

272:                                              ; preds = %271, %216
  %.pn83.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn.pn.pn.pn.pn, %271 ], [ %217, %216 ]
  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 %273

273:                                              ; preds = %272, %214
  %.pn83.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn.pn.pn.pn.pn.pn, %272 ], [ %215, %214 ]
  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 %274

274:                                              ; preds = %273, %212
  %.pn83.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn.pn.pn.pn.pn.pn.pn, %273 ], [ %213, %212 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  br label %275

275:                                              ; preds = %274, %186
  %.pn95 = phi { ptr, i32 } [ %187, %186 ], [ %.pn83.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %274 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %26) #7
  br label %276

276:                                              ; preds = %275, %179
  %.pn95.pn = phi { ptr, i32 } [ %.pn95, %275 ], [ %180, %179 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %26) #7
  br label %290

277:                                              ; preds = %246, %138
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  %278 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrIS2_EEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %279 unwind label %287

279:                                              ; preds = %277
  %280 = getelementptr inbounds i8, ptr %1, i64 680
  %281 = load i8, ptr %280, align 8, !tbaa !76, !range !66, !noundef !67
  %282 = trunc nuw i8 %281 to i1
  br i1 %282, label %283, label %289

283:                                              ; preds = %279
  %284 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrIS2_EEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %7)
          to label %285 unwind label %287

285:                                              ; preds = %283
  %286 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EE12emplace_backIJRSt10shared_ptrIS2_EEEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %289 unwind label %287

287:                                              ; preds = %285, %283, %277
  %288 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #7
  br label %290

289:                                              ; preds = %279, %285
  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 @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__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_ptrIN6ngraph2op2v04SqrtELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #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 @_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 @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #7
  call void @_ZNSt6vectorImSaImEED2Ev(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 @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  ret void

290:                                              ; preds = %287, %276
  %.pn95.pn.pn = phi { ptr, i32 } [ %.pn95.pn, %276 ], [ %288, %287 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #7
  br label %291

291:                                              ; preds = %290, %178
  %.pn95.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn, %290 ], [ %.pn69.pn.pn.pn, %178 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #7
  br label %292

292:                                              ; preds = %291, %163
  %.pn95.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn, %291 ], [ %164, %163 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v04SqrtELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #7
  br label %293

293:                                              ; preds = %292, %162
  %.pn95.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn, %292 ], [ %.pn65.pn.pn, %162 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #7
  br label %294

294:                                              ; preds = %293, %150
  %.pn95.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn, %293 ], [ %151, %150 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  br label %295

295:                                              ; preds = %294, %149
  %.pn95.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn, %294 ], [ %.pn63, %149 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v09BroadcastELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  br label %296

296:                                              ; preds = %295, %143
  %.pn95.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn.pn.pn.pn.pn, %295 ], [ %144, %143 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  br label %297

297:                                              ; preds = %296, %116
  %.pn105 = phi { ptr, i32 } [ %117, %116 ], [ %.pn95.pn.pn.pn.pn.pn.pn.pn.pn, %296 ]
  call void @_ZNSt3setImSt4lessImESaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  br label %298

298:                                              ; preds = %297, %108
  %.pn105.pn = phi { ptr, i32 } [ %.pn105, %297 ], [ %109, %108 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #7
  br label %299

299:                                              ; preds = %298, %107
  %.pn105.pn.pn = phi { ptr, i32 } [ %.pn105.pn, %298 ], [ %.pn, %107 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  br label %300

300:                                              ; preds = %299, %101
  %.pn105.pn.pn.pn = phi { ptr, i32 } [ %.pn105.pn.pn, %299 ], [ %102, %101 ]
  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 %301

301:                                              ; preds = %300, %99
  %.pn105.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn105.pn.pn.pn, %300 ], [ %100, %99 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  br label %302

302:                                              ; preds = %69, %76, %301, %56
  %.pn113 = phi { ptr, i32 } [ %57, %56 ], [ %.pn105.pn.pn.pn.pn, %301 ], [ %70, %69 ], [ %77, %76 ]
  resume { ptr, i32 } %.pn113
}

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEElEvT_S7_T0_(ptr, ptr, i64 noundef) local_unnamed_addr #2

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

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

declare void @_ZN6ngraph7builder4meanERKNS_6OutputINS_4NodeEEERKNS_7AxisSetE(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #4

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

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

declare void @_ZN6ngraph7AxisSetC1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setImSt4lessImESaImEE6insertERKm(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

declare void @_ZN6ngraph7builder8varianceERKNS_6OutputINS_4NodeEEERKNS_7AxisSetEb(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48), i1 noundef zeroext) local_unnamed_addr #4

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

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

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

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

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

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

; 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 uwtable
declare dso_local void @_ZSt11make_sharedIN6ngraph2op2v09BroadcastEJRSt10shared_ptrINS2_4SqrtEERNS0_5ShapeERNS0_7AxisSetEEES4_INSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::shared_ptr.94") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #5

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

declare void @_ZN6ngraphmiENS_6OutputINS_4NodeEEES2_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v09BroadcastEEERKSt10shared_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 ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) local_unnamed_addr #2 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v07ReshapeEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #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_ptrIN6ngraph2op2v07ReshapeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2 align 2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN6ngraph4NodeEEaSEOS2_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #2 align 2

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

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

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

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

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

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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }
attributes #8 = { noreturn }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !64, i64 681}
!6 = !{!"_ZTSN6ngraph2op2v09LayerNormE", !7, i64 0, !64, i64 680, !64, i64 681, !19, i64 688, !65, i64 696}
!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 = !{!"bool", !14, i64 0}
!65 = !{!"double", !14, i64 0}
!66 = !{i8 0, i8 2}
!67 = !{}
!68 = !{!6, !19, i64 688}
!69 = !{!19, !19, i64 0}
!70 = distinct !{!70, !71}
!71 = !{!"llvm.loop.mustprogress"}
!72 = distinct !{!72, !71}
!73 = !{!74, !13, i64 0}
!74 = !{!"_ZTSSt16initializer_listImE", !13, i64 0, !19, i64 8}
!75 = !{!74, !19, i64 8}
!76 = !{!6, !64, i64 680}


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