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

; 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.ngraph::element::Type" = type { i32 }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.79", i64 }
%"class.std::shared_ptr.79" = type { %"class.std::__shared_ptr.80" }
%"class.std::__shared_ptr.80" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::allocator.76" = type { i8 }
%"class.std::shared_ptr.82" = type { %"class.std::__shared_ptr.83" }
%"class.std::__shared_ptr.83" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Shape" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.85" = type { ptr, i64 }
%"class.std::vector.86" = type { %"struct.std::_Vector_base.87" }
%"struct.std::_Vector_base.87" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.91" = type { ptr, i64 }
%"class.std::allocator.88" = type { i8 }
%"class.std::allocator.71" = type { i8 }
%"class.std::vector.92" = type { %"struct.std::_Vector_base.93" }
%"struct.std::_Vector_base.93" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.97" = type { ptr, i64 }
%"class.std::allocator.94" = type { i8 }
%"class.ngraph::op::v0::GenerateMask" = type { %"class.ngraph::op::Op", %"class.ngraph::element::Type", %"class.ngraph::Shape", i8, i64, double }
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.5", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.13", %"class.std::set", %"class.std::deque", %"class.std::deque.39", %"class.std::unordered_map", i32, %"class.std::shared_ptr", %"class.std::map" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::unordered_set.13" = type { %"class.std::_Hashtable.14" }
%"class.std::_Hashtable.14" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@_ZTVN6ngraph2op2v012GenerateMaskE = external dso_local unnamed_addr constant { [37 x ptr] }, align 8
@_ZN6ngraph7element3u64E = external global %"class.ngraph::element::Type", align 4
@_ZN6ngraph7element3i32E = external global %"class.ngraph::element::Type", align 4
@_ZN6ngraph7element3f64E = external global %"class.ngraph::element::Type", align 4

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v012GenerateMaskC2ERKNS_6OutputINS_4NodeEEERKNS_5ShapeERKNS_7element4TypeEmdb(ptr noundef nonnull align 8 dereferenceable(736) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 4 dereferenceable(4) %3, i64 noundef %4, double noundef %5, i1 noundef zeroext %6) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca i64, align 8
  %13 = alloca double, align 8
  %14 = alloca i8, align 1
  %15 = alloca %"class.std::vector.74", align 8
  %16 = alloca %"class.std::initializer_list", align 8
  %17 = alloca [1 x %"class.ngraph::Output"], align 8
  %18 = alloca %"class.std::allocator.76", align 1
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca %"class.ngraph::Output", align 8
  %22 = alloca %"class.std::shared_ptr.82", align 8
  %23 = alloca %"class.ngraph::Shape", align 8
  %24 = alloca %"class.std::initializer_list.85", align 8
  %25 = alloca [1 x i64], align 8
  %26 = alloca %"class.ngraph::Output", align 8
  %27 = alloca %"class.std::shared_ptr.82", align 8
  %28 = alloca %"class.ngraph::Shape", align 8
  %29 = alloca %"class.std::vector.86", align 8
  %30 = alloca %"class.std::initializer_list.91", align 8
  %31 = alloca [1 x i32], align 4
  %32 = alloca %"class.std::allocator.88", align 1
  %33 = alloca %"class.ngraph::Output", align 8
  %34 = alloca %"class.std::shared_ptr.82", align 8
  %35 = alloca %"class.ngraph::Shape", align 8
  %36 = alloca %"class.std::vector.69", align 8
  %37 = alloca %"class.std::initializer_list.85", align 8
  %38 = alloca [1 x i64], align 8
  %39 = alloca %"class.std::allocator.71", align 1
  %40 = alloca %"class.ngraph::Output", align 8
  %41 = alloca %"class.std::shared_ptr.82", align 8
  %42 = alloca %"class.ngraph::Shape", align 8
  %43 = alloca %"class.std::vector.92", align 8
  %44 = alloca %"class.std::initializer_list.97", align 8
  %45 = alloca [1 x double], align 8
  %46 = alloca %"class.std::allocator.94", align 1
  %47 = alloca %"class.std::shared_ptr.79", align 8
  %48 = alloca %"class.ngraph::Output", align 8
  %49 = alloca %"class.std::shared_ptr.79", align 8
  %50 = alloca %"class.ngraph::Output", align 8
  %51 = alloca %"class.std::shared_ptr.79", align 8
  %52 = alloca %"class.ngraph::Output", align 8
  %53 = alloca %"class.std::shared_ptr.79", align 8
  %54 = alloca %"class.ngraph::Output", align 8
  store ptr %0, ptr %8, align 8, !tbaa !5
  store ptr %1, ptr %9, align 8, !tbaa !5
  store ptr %2, ptr %10, align 8, !tbaa !5
  store ptr %3, ptr %11, align 8, !tbaa !5
  store i64 %4, ptr %12, align 8, !tbaa !9
  store double %5, ptr %13, align 8, !tbaa !11
  %55 = zext i1 %6 to i8
  store i8 %55, ptr %14, align 1, !tbaa !13
  %56 = load ptr, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  %57 = load ptr, ptr %9, align 8, !tbaa !5
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  %58 = getelementptr inbounds %"class.std::initializer_list", ptr %16, i32 0, i32 0
  store ptr %17, ptr %58, align 8, !tbaa !15
  %59 = getelementptr inbounds %"class.std::initializer_list", ptr %16, i32 0, i32 1
  store i64 1, ptr %59, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #8
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  %60 = getelementptr inbounds { ptr, i64 }, ptr %16, i32 0, i32 0
  %61 = load ptr, ptr %60, align 8
  %62 = getelementptr inbounds { ptr, i64 }, ptr %16, i32 0, i32 1
  %63 = load i64, ptr %62, align 8
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr %61, i64 %63, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %64 unwind label %146

64:                                               ; preds = %7
  invoke void @_ZN6ngraph2op2OpC2ERKSt6vectorINS_6OutputINS_4NodeEEESaIS5_EE(ptr noundef nonnull align 8 dereferenceable(680) %56, ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %65 unwind label %150

65:                                               ; preds = %64
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #8
  %66 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %17, i32 0, i32 0
  %67 = getelementptr inbounds %"class.ngraph::Output", ptr %66, i64 1
  br label %68

68:                                               ; preds = %68, %65
  %69 = phi ptr [ %67, %65 ], [ %70, %68 ]
  %70 = getelementptr inbounds %"class.ngraph::Output", ptr %69, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #8
  %71 = icmp eq ptr %70, %66
  br i1 %71, label %72, label %68

72:                                               ; preds = %68
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #8
  store ptr getelementptr inbounds inrange(-16, 280) ({ [37 x ptr] }, ptr @_ZTVN6ngraph2op2v012GenerateMaskE, i32 0, i32 0, i32 2), ptr %56, align 8, !tbaa !18
  %73 = getelementptr inbounds %"class.ngraph::op::v0::GenerateMask", ptr %56, i32 0, i32 1
  %74 = load ptr, ptr %11, align 8, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %73, ptr align 4 %74, i64 4, i1 false), !tbaa.struct !20
  %75 = getelementptr inbounds %"class.ngraph::op::v0::GenerateMask", ptr %56, i32 0, i32 2
  %76 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %75, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %77 unwind label %162

77:                                               ; preds = %72
  %78 = getelementptr inbounds %"class.ngraph::op::v0::GenerateMask", ptr %56, i32 0, i32 3
  %79 = load i8, ptr %14, align 1, !tbaa !13, !range !23, !noundef !24
  %80 = trunc i8 %79 to i1
  %81 = zext i1 %80 to i8
  store i8 %81, ptr %78, align 8, !tbaa !25
  %82 = getelementptr inbounds %"class.ngraph::op::v0::GenerateMask", ptr %56, i32 0, i32 4
  %83 = load i64, ptr %12, align 8, !tbaa !9
  store i64 %83, ptr %82, align 8, !tbaa !85
  %84 = getelementptr inbounds %"class.ngraph::op::v0::GenerateMask", ptr %56, i32 0, i32 5
  %85 = load double, ptr %13, align 8, !tbaa !11
  store double %85, ptr %84, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %86 = load ptr, ptr %10, align 8, !tbaa !5
  %87 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %86) #8
  store i64 %87, ptr %25, align 8, !tbaa !9
  %88 = getelementptr inbounds %"class.std::initializer_list.85", ptr %24, i32 0, i32 0
  store ptr %25, ptr %88, align 8, !tbaa !87
  %89 = getelementptr inbounds %"class.std::initializer_list.85", ptr %24, i32 0, i32 1
  store i64 1, ptr %89, align 8, !tbaa !89
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %90 unwind label %166

90:                                               ; preds = %77
  %91 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeERKS8_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.82") align 8 %22, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3u64E, ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %91)
          to label %92 unwind label %170

92:                                               ; preds = %90
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %93 unwind label %174

93:                                               ; preds = %92
  invoke void @_ZN6ngraph4Node12set_argumentEmRKNS_6OutputIS0_EE(ptr noundef nonnull align 8 dereferenceable(680) %56, i64 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %21)
          to label %94 unwind label %178

94:                                               ; preds = %93
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %95 unwind label %185

95:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #8
  %96 = load i8, ptr %14, align 1, !tbaa !13, !range !23, !noundef !24
  %97 = trunc i8 %96 to i1
  %98 = zext i1 %97 to i32
  store i32 %98, ptr %31, align 4, !tbaa !90
  %99 = getelementptr inbounds %"class.std::initializer_list.91", ptr %30, i32 0, i32 0
  store ptr %31, ptr %99, align 8, !tbaa !91
  %100 = getelementptr inbounds %"class.std::initializer_list.91", ptr %30, i32 0, i32 1
  store i64 1, ptr %100, align 8, !tbaa !93
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #8
  %101 = getelementptr inbounds { ptr, i64 }, ptr %30, i32 0, i32 0
  %102 = load ptr, ptr %101, align 8
  %103 = getelementptr inbounds { ptr, i64 }, ptr %30, i32 0, i32 1
  %104 = load i64, ptr %103, align 8
  invoke void @_ZNSt6vectorIiSaIiEEC2ESt16initializer_listIiERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr %102, i64 %104, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %105 unwind label %189

105:                                              ; preds = %95
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorIiSaIiEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.82") align 8 %27, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3i32E, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %106 unwind label %193

106:                                              ; preds = %105
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %107 unwind label %197

107:                                              ; preds = %106
  invoke void @_ZN6ngraph4Node12set_argumentEmRKNS_6OutputIS0_EE(ptr noundef nonnull align 8 dereferenceable(680) %56, i64 noundef 2, ptr noundef nonnull align 8 dereferenceable(24) %26)
          to label %108 unwind label %201

108:                                              ; preds = %107
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %109 unwind label %209

109:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  %110 = load i64, ptr %12, align 8, !tbaa !9
  store i64 %110, ptr %38, align 8, !tbaa !9
  %111 = getelementptr inbounds %"class.std::initializer_list.85", ptr %37, i32 0, i32 0
  store ptr %38, ptr %111, align 8, !tbaa !87
  %112 = getelementptr inbounds %"class.std::initializer_list.85", ptr %37, i32 0, i32 1
  store i64 1, ptr %112, align 8, !tbaa !89
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #8
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  %113 = getelementptr inbounds { ptr, i64 }, ptr %37, i32 0, i32 0
  %114 = load ptr, ptr %113, align 8
  %115 = getelementptr inbounds { ptr, i64 }, ptr %37, i32 0, i32 1
  %116 = load i64, ptr %115, align 8
  invoke void @_ZNSt6vectorImSaImEEC2ESt16initializer_listImERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr %114, i64 %116, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %117 unwind label %213

117:                                              ; preds = %109
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorImSaImEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.82") align 8 %34, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3u64E, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %118 unwind label %217

118:                                              ; preds = %117
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %119 unwind label %221

119:                                              ; preds = %118
  invoke void @_ZN6ngraph4Node12set_argumentEmRKNS_6OutputIS0_EE(ptr noundef nonnull align 8 dereferenceable(680) %56, i64 noundef 3, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %120 unwind label %225

120:                                              ; preds = %119
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %42) #8
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42)
          to label %121 unwind label %233

121:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #8
  %122 = load double, ptr %13, align 8, !tbaa !11
  store double %122, ptr %45, align 8, !tbaa !11
  %123 = getelementptr inbounds %"class.std::initializer_list.97", ptr %44, i32 0, i32 0
  store ptr %45, ptr %123, align 8, !tbaa !94
  %124 = getelementptr inbounds %"class.std::initializer_list.97", ptr %44, i32 0, i32 1
  store i64 1, ptr %124, align 8, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #8
  %125 = getelementptr inbounds { ptr, i64 }, ptr %44, i32 0, i32 0
  %126 = load ptr, ptr %125, align 8
  %127 = getelementptr inbounds { ptr, i64 }, ptr %44, i32 0, i32 1
  %128 = load i64, ptr %127, align 8
  invoke void @_ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr %126, i64 %128, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %129 unwind label %237

129:                                              ; preds = %121
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorIdSaIdEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.82") align 8 %41, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f64E, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %130 unwind label %241

130:                                              ; preds = %129
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %131 unwind label %245

131:                                              ; preds = %130
  invoke void @_ZN6ngraph4Node12set_argumentEmRKNS_6OutputIS0_EE(ptr noundef nonnull align 8 dereferenceable(680) %56, i64 noundef 4, ptr noundef nonnull align 8 dereferenceable(24) %40)
          to label %132 unwind label %249

132:                                              ; preds = %131
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %48) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %48, ptr noundef nonnull align 8 dereferenceable(680) %56, i64 noundef 1)
          to label %133 unwind label %257

133:                                              ; preds = %132
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.79") align 8 %47, ptr noundef nonnull align 8 dereferenceable(24) %48)
          to label %134 unwind label %261

134:                                              ; preds = %133
  invoke void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680) %56, ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %135 unwind label %265

135:                                              ; preds = %134
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %50) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %50, ptr noundef nonnull align 8 dereferenceable(680) %56, i64 noundef 2)
          to label %136 unwind label %271

136:                                              ; preds = %135
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.79") align 8 %49, ptr noundef nonnull align 8 dereferenceable(24) %50)
          to label %137 unwind label %275

137:                                              ; preds = %136
  invoke void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680) %56, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %138 unwind label %279

138:                                              ; preds = %137
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %52) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %52, ptr noundef nonnull align 8 dereferenceable(680) %56, i64 noundef 3)
          to label %139 unwind label %285

139:                                              ; preds = %138
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.79") align 8 %51, ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %140 unwind label %289

140:                                              ; preds = %139
  invoke void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680) %56, ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %141 unwind label %293

141:                                              ; preds = %140
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %54, ptr noundef nonnull align 8 dereferenceable(680) %56, i64 noundef 4)
          to label %142 unwind label %299

142:                                              ; preds = %141
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.79") align 8 %53, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %143 unwind label %303

143:                                              ; preds = %142
  invoke void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680) %56, ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %144 unwind label %307

144:                                              ; preds = %143
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #8
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #8
  invoke void @_ZN6ngraph4Node36constructor_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(680) %56)
          to label %145 unwind label %313

145:                                              ; preds = %144
  ret void

146:                                              ; preds = %7
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %19, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %20, align 4
  br label %154

150:                                              ; preds = %64
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %19, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %20, align 4
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  br label %154

154:                                              ; preds = %150, %146
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #8
  %155 = getelementptr inbounds [1 x %"class.ngraph::Output"], ptr %17, i32 0, i32 0
  %156 = getelementptr inbounds %"class.ngraph::Output", ptr %155, i64 1
  br label %157

157:                                              ; preds = %157, %154
  %158 = phi ptr [ %156, %154 ], [ %159, %157 ]
  %159 = getelementptr inbounds %"class.ngraph::Output", ptr %158, i64 -1
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %159) #8
  %160 = icmp eq ptr %159, %155
  br i1 %160, label %161, label %157

161:                                              ; preds = %157
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #8
  br label %319

162:                                              ; preds = %72
  %163 = landingpad { ptr, i32 }
          cleanup
  %164 = extractvalue { ptr, i32 } %163, 0
  store ptr %164, ptr %19, align 8
  %165 = extractvalue { ptr, i32 } %163, 1
  store i32 %165, ptr %20, align 4
  br label %318

166:                                              ; preds = %77
  %167 = landingpad { ptr, i32 }
          cleanup
  %168 = extractvalue { ptr, i32 } %167, 0
  store ptr %168, ptr %19, align 8
  %169 = extractvalue { ptr, i32 } %167, 1
  store i32 %169, ptr %20, align 4
  br label %184

170:                                              ; preds = %90
  %171 = landingpad { ptr, i32 }
          cleanup
  %172 = extractvalue { ptr, i32 } %171, 0
  store ptr %172, ptr %19, align 8
  %173 = extractvalue { ptr, i32 } %171, 1
  store i32 %173, ptr %20, align 4
  br label %183

174:                                              ; preds = %92
  %175 = landingpad { ptr, i32 }
          cleanup
  %176 = extractvalue { ptr, i32 } %175, 0
  store ptr %176, ptr %19, align 8
  %177 = extractvalue { ptr, i32 } %175, 1
  store i32 %177, ptr %20, align 4
  br label %182

178:                                              ; preds = %93
  %179 = landingpad { ptr, i32 }
          cleanup
  %180 = extractvalue { ptr, i32 } %179, 0
  store ptr %180, ptr %19, align 8
  %181 = extractvalue { ptr, i32 } %179, 1
  store i32 %181, ptr %20, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  br label %182

182:                                              ; preds = %178, %174
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #8
  br label %183

183:                                              ; preds = %182, %170
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  br label %184

184:                                              ; preds = %183, %166
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  br label %317

185:                                              ; preds = %94
  %186 = landingpad { ptr, i32 }
          cleanup
  %187 = extractvalue { ptr, i32 } %186, 0
  store ptr %187, ptr %19, align 8
  %188 = extractvalue { ptr, i32 } %186, 1
  store i32 %188, ptr %20, align 4
  br label %208

189:                                              ; preds = %95
  %190 = landingpad { ptr, i32 }
          cleanup
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %19, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %20, align 4
  br label %207

193:                                              ; preds = %105
  %194 = landingpad { ptr, i32 }
          cleanup
  %195 = extractvalue { ptr, i32 } %194, 0
  store ptr %195, ptr %19, align 8
  %196 = extractvalue { ptr, i32 } %194, 1
  store i32 %196, ptr %20, align 4
  br label %206

197:                                              ; preds = %106
  %198 = landingpad { ptr, i32 }
          cleanup
  %199 = extractvalue { ptr, i32 } %198, 0
  store ptr %199, ptr %19, align 8
  %200 = extractvalue { ptr, i32 } %198, 1
  store i32 %200, ptr %20, align 4
  br label %205

201:                                              ; preds = %107
  %202 = landingpad { ptr, i32 }
          cleanup
  %203 = extractvalue { ptr, i32 } %202, 0
  store ptr %203, ptr %19, align 8
  %204 = extractvalue { ptr, i32 } %202, 1
  store i32 %204, ptr %20, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  br label %205

205:                                              ; preds = %201, %197
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27) #8
  br label %206

206:                                              ; preds = %205, %193
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  br label %207

207:                                              ; preds = %206, %189
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  br label %208

208:                                              ; preds = %207, %185
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  br label %317

209:                                              ; preds = %108
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %19, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %20, align 4
  br label %232

213:                                              ; preds = %109
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %19, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %20, align 4
  br label %231

217:                                              ; preds = %117
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %19, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %20, align 4
  br label %230

221:                                              ; preds = %118
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %19, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %20, align 4
  br label %229

225:                                              ; preds = %119
  %226 = landingpad { ptr, i32 }
          cleanup
  %227 = extractvalue { ptr, i32 } %226, 0
  store ptr %227, ptr %19, align 8
  %228 = extractvalue { ptr, i32 } %226, 1
  store i32 %228, ptr %20, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  br label %229

229:                                              ; preds = %225, %221
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #8
  br label %230

230:                                              ; preds = %229, %217
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  br label %231

231:                                              ; preds = %230, %213
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  br label %232

232:                                              ; preds = %231, %209
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #8
  br label %317

233:                                              ; preds = %120
  %234 = landingpad { ptr, i32 }
          cleanup
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %19, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %20, align 4
  br label %256

237:                                              ; preds = %121
  %238 = landingpad { ptr, i32 }
          cleanup
  %239 = extractvalue { ptr, i32 } %238, 0
  store ptr %239, ptr %19, align 8
  %240 = extractvalue { ptr, i32 } %238, 1
  store i32 %240, ptr %20, align 4
  br label %255

241:                                              ; preds = %129
  %242 = landingpad { ptr, i32 }
          cleanup
  %243 = extractvalue { ptr, i32 } %242, 0
  store ptr %243, ptr %19, align 8
  %244 = extractvalue { ptr, i32 } %242, 1
  store i32 %244, ptr %20, align 4
  br label %254

245:                                              ; preds = %130
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %19, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %20, align 4
  br label %253

249:                                              ; preds = %131
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %19, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %20, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  br label %253

253:                                              ; preds = %249, %245
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #8
  br label %254

254:                                              ; preds = %253, %241
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  br label %255

255:                                              ; preds = %254, %237
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #8
  br label %256

256:                                              ; preds = %255, %233
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  br label %317

257:                                              ; preds = %132
  %258 = landingpad { ptr, i32 }
          cleanup
  %259 = extractvalue { ptr, i32 } %258, 0
  store ptr %259, ptr %19, align 8
  %260 = extractvalue { ptr, i32 } %258, 1
  store i32 %260, ptr %20, align 4
  br label %270

261:                                              ; preds = %133
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %19, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %20, align 4
  br label %269

265:                                              ; preds = %134
  %266 = landingpad { ptr, i32 }
          cleanup
  %267 = extractvalue { ptr, i32 } %266, 0
  store ptr %267, ptr %19, align 8
  %268 = extractvalue { ptr, i32 } %266, 1
  store i32 %268, ptr %20, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47) #8
  br label %269

269:                                              ; preds = %265, %261
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  br label %270

270:                                              ; preds = %269, %257
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  br label %317

271:                                              ; preds = %135
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %19, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %20, align 4
  br label %284

275:                                              ; preds = %136
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %19, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %20, align 4
  br label %283

279:                                              ; preds = %137
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %19, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %20, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #8
  br label %283

283:                                              ; preds = %279, %275
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #8
  br label %284

284:                                              ; preds = %283, %271
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  br label %317

285:                                              ; preds = %138
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %19, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %20, align 4
  br label %298

289:                                              ; preds = %139
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %19, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %20, align 4
  br label %297

293:                                              ; preds = %140
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %19, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %20, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #8
  br label %297

297:                                              ; preds = %293, %289
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #8
  br label %298

298:                                              ; preds = %297, %285
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  br label %317

299:                                              ; preds = %141
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %19, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %20, align 4
  br label %312

303:                                              ; preds = %142
  %304 = landingpad { ptr, i32 }
          cleanup
  %305 = extractvalue { ptr, i32 } %304, 0
  store ptr %305, ptr %19, align 8
  %306 = extractvalue { ptr, i32 } %304, 1
  store i32 %306, ptr %20, align 4
  br label %311

307:                                              ; preds = %143
  %308 = landingpad { ptr, i32 }
          cleanup
  %309 = extractvalue { ptr, i32 } %308, 0
  store ptr %309, ptr %19, align 8
  %310 = extractvalue { ptr, i32 } %308, 1
  store i32 %310, ptr %20, align 4
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #8
  br label %311

311:                                              ; preds = %307, %303
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  br label %312

312:                                              ; preds = %311, %299
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #8
  br label %317

313:                                              ; preds = %144
  %314 = landingpad { ptr, i32 }
          cleanup
  %315 = extractvalue { ptr, i32 } %314, 0
  store ptr %315, ptr %19, align 8
  %316 = extractvalue { ptr, i32 } %314, 1
  store i32 %316, ptr %20, align 4
  br label %317

317:                                              ; preds = %313, %312, %298, %284, %270, %256, %232, %208, %184
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #8
  br label %318

318:                                              ; preds = %317, %162
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %73) #8
  call void @_ZN6ngraph4NodeD2Ev(ptr noundef nonnull align 8 dereferenceable(680) %56) #8
  br label %319

319:                                              ; preds = %318, %161
  %320 = load ptr, ptr %19, align 8
  %321 = load i32, ptr %20, align 4
  %322 = insertvalue { ptr, i32 } poison, ptr %320, 0
  %323 = insertvalue { ptr, i32 } %322, i32 %321, 1
  resume { ptr, i32 } %323
}

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

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680), ptr noundef nonnull align 8 dereferenceable(16)) #4

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

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

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

declare void @_ZN6ngraph4Node36constructor_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(680)) #4

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

; Function Attrs: nounwind
declare void @_ZN6ngraph4NodeD2Ev(ptr noundef nonnull align 8 dereferenceable(680)) unnamed_addr #7

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

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

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

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

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


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

%"class.ngraph::element::Type" = type { i32 }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Output<Node>, std::allocator<ngraph::Output<Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.79", i64 }
%"class.std::shared_ptr.79" = type { %"class.std::__shared_ptr.80" }
%"class.std::__shared_ptr.80" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::allocator.76" = type { i8 }
%"class.std::shared_ptr.82" = type { %"class.std::__shared_ptr.83" }
%"class.std::__shared_ptr.83" = type { ptr, %"class.std::__shared_count" }
%"class.ngraph::Shape" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list.85" = type { ptr, i64 }
%"class.std::vector.86" = type { %"struct.std::_Vector_base.87" }
%"struct.std::_Vector_base.87" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.88" = type { i8 }
%"class.std::allocator.71" = type { i8 }
%"class.std::vector.92" = type { %"struct.std::_Vector_base.93" }
%"struct.std::_Vector_base.93" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.94" = type { i8 }

@_ZTVN6ngraph2op2v012GenerateMaskE = external dso_local unnamed_addr constant { [37 x ptr] }, align 8
@_ZN6ngraph7element3u64E = external global %"class.ngraph::element::Type", align 4
@_ZN6ngraph7element3i32E = external global %"class.ngraph::element::Type", align 4
@_ZN6ngraph7element3f64E = external global %"class.ngraph::element::Type", align 4

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v012GenerateMaskC2ERKNS_6OutputINS_4NodeEEERKNS_5ShapeERKNS_7element4TypeEmdb(ptr noundef nonnull align 8 dereferenceable(736) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr nocapture noundef nonnull readonly align 4 dereferenceable(4) %3, i64 noundef %4, double noundef %5, i1 noundef zeroext %6) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca %"class.std::vector.74", align 8
  %9 = alloca [1 x %"class.ngraph::Output"], align 8
  %10 = alloca %"class.std::allocator.76", align 1
  %11 = alloca %"class.ngraph::Output", align 8
  %12 = alloca %"class.std::shared_ptr.82", align 8
  %13 = alloca %"class.ngraph::Shape", align 8
  %14 = alloca %"class.std::initializer_list.85", align 8
  %15 = alloca [1 x i64], align 8
  %16 = alloca %"class.ngraph::Output", align 8
  %17 = alloca %"class.std::shared_ptr.82", align 8
  %18 = alloca %"class.ngraph::Shape", align 8
  %19 = alloca %"class.std::vector.86", align 8
  %20 = alloca [1 x i32], align 4
  %21 = alloca %"class.std::allocator.88", align 1
  %22 = alloca %"class.ngraph::Output", align 8
  %23 = alloca %"class.std::shared_ptr.82", align 8
  %24 = alloca %"class.ngraph::Shape", align 8
  %25 = alloca %"class.std::vector.69", align 8
  %26 = alloca [1 x i64], align 8
  %27 = alloca %"class.std::allocator.71", align 1
  %28 = alloca %"class.ngraph::Output", align 8
  %29 = alloca %"class.std::shared_ptr.82", align 8
  %30 = alloca %"class.ngraph::Shape", align 8
  %31 = alloca %"class.std::vector.92", align 8
  %32 = alloca [1 x double], align 8
  %33 = alloca %"class.std::allocator.94", align 1
  %34 = alloca %"class.std::shared_ptr.79", align 8
  %35 = alloca %"class.ngraph::Output", align 8
  %36 = alloca %"class.std::shared_ptr.79", align 8
  %37 = alloca %"class.ngraph::Output", align 8
  %38 = alloca %"class.std::shared_ptr.79", align 8
  %39 = alloca %"class.ngraph::Output", align 8
  %40 = alloca %"class.std::shared_ptr.79", align 8
  %41 = alloca %"class.ngraph::Output", align 8
  %42 = zext i1 %6 to i8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #7
  call void @_ZN6ngraph6OutputINS_4NodeEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %1) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #7
  call void @_ZNSaIN6ngraph6OutputINS_4NodeEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  invoke void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EEC2ESt16initializer_listIS3_ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr nonnull %9, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %43 unwind label %87

43:                                               ; preds = %7
  invoke void @_ZN6ngraph2op2OpC2ERKSt6vectorINS_6OutputINS_4NodeEEESaIS5_EE(ptr noundef nonnull align 8 dereferenceable(680) %0, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %44 unwind label %89

44:                                               ; preds = %43
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  store ptr getelementptr inbounds inrange(-16, 280) (i8, ptr @_ZTVN6ngraph2op2v012GenerateMaskE, i64 16), ptr %0, align 8, !tbaa !5
  %45 = getelementptr inbounds i8, ptr %0, i64 680
  %46 = load i32, ptr %3, align 4, !tbaa !8
  store i32 %46, ptr %45, align 8, !tbaa !8
  %47 = getelementptr inbounds i8, ptr %0, i64 688
  invoke void @_ZN6ngraph5ShapeC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %2)
          to label %48 unwind label %92

48:                                               ; preds = %44
  %49 = getelementptr inbounds i8, ptr %0, i64 712
  store i8 %42, ptr %49, align 8, !tbaa !11
  %50 = getelementptr inbounds i8, ptr %0, i64 720
  store i64 %4, ptr %50, align 8, !tbaa !75
  %51 = getelementptr inbounds i8, ptr %0, i64 728
  store double %5, ptr %51, align 8, !tbaa !76
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  %52 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  store i64 %52, ptr %15, align 8, !tbaa !77
  store ptr %15, ptr %14, align 8, !tbaa !78
  %53 = getelementptr inbounds i8, ptr %14, i64 8
  store i64 1, ptr %53, align 8, !tbaa !80
  invoke void @_ZN6ngraph5ShapeC1ERKSt16initializer_listImE(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %54 unwind label %94

54:                                               ; preds = %48
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeERKS8_EESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESD_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.82") align 8 %12, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3u64E, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %2)
          to label %55 unwind label %96

55:                                               ; preds = %54
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %56 unwind label %98

56:                                               ; preds = %55
  invoke void @_ZN6ngraph4Node12set_argumentEmRKNS_6OutputIS0_EE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %57 unwind label %100

57:                                               ; preds = %56
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #7
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18)
          to label %58 unwind label %105

58:                                               ; preds = %57
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #7
  %59 = zext i1 %6 to i32
  store i32 %59, ptr %20, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2ESt16initializer_listIiERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr nonnull %20, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %60 unwind label %107

60:                                               ; preds = %58
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorIiSaIiEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.82") align 8 %17, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3i32E, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %19)
          to label %61 unwind label %109

61:                                               ; preds = %60
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %62 unwind label %111

62:                                               ; preds = %61
  invoke void @_ZN6ngraph4Node12set_argumentEmRKNS_6OutputIS0_EE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %63 unwind label %113

63:                                               ; preds = %62
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #7
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #7
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %24)
          to label %64 unwind label %119

64:                                               ; preds = %63
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #7
  store i64 %4, ptr %26, align 8, !tbaa !77
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #7
  call void @_ZNSaImEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  invoke void @_ZNSt6vectorImSaImEEC2ESt16initializer_listImERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr nonnull %26, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %65 unwind label %121

65:                                               ; preds = %64
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorImSaImEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.82") align 8 %23, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3u64E, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %25)
          to label %66 unwind label %123

66:                                               ; preds = %65
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %67 unwind label %125

67:                                               ; preds = %66
  invoke void @_ZN6ngraph4Node12set_argumentEmRKNS_6OutputIS0_EE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3, ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %68 unwind label %127

68:                                               ; preds = %67
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #7
  invoke void @_ZN6ngraph5ShapeC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %69 unwind label %133

69:                                               ; preds = %68
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #7
  store double %5, ptr %32, align 8, !tbaa !82
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #7
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  invoke void @_ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr nonnull %32, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %70 unwind label %135

70:                                               ; preds = %69
  invoke void @_ZSt11make_sharedIN6ngraph2op2v08ConstantEJRKNS0_7element4TypeENS0_5ShapeESt6vectorIdSaIdEEEESt10shared_ptrINSt9enable_ifIXntsr8is_arrayIT_EE5valueESE_E4typeEEDpOT0_(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.82") align 8 %29, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3f64E, ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %71 unwind label %137

71:                                               ; preds = %70
  invoke void @_ZN6ngraph6OutputINS_4NodeEEC2INS_2op2v08ConstantEEERKSt10shared_ptrIT_E(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(16) %29)
          to label %72 unwind label %139

72:                                               ; preds = %71
  invoke void @_ZN6ngraph4Node12set_argumentEmRKNS_6OutputIS0_EE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 4, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %73 unwind label %141

73:                                               ; preds = %72
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #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 @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #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
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %35, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %74 unwind label %147

74:                                               ; preds = %73
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.79") align 8 %34, ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %75 unwind label %149

75:                                               ; preds = %74
  invoke void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680) %0, ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %76 unwind label %151

76:                                               ; preds = %75
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #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.start.p0(i64 16, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %37) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %37, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %77 unwind label %155

77:                                               ; preds = %76
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.79") align 8 %36, ptr noundef nonnull align 8 dereferenceable(24) %37)
          to label %78 unwind label %157

78:                                               ; preds = %77
  invoke void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680) %0, ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %79 unwind label %159

79:                                               ; preds = %78
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %39) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %39, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
          to label %80 unwind label %163

80:                                               ; preds = %79
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.79") align 8 %38, ptr noundef nonnull align 8 dereferenceable(24) %39)
          to label %81 unwind label %165

81:                                               ; preds = %80
  invoke void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680) %0, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %82 unwind label %167

82:                                               ; preds = %81
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) #7
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %41, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 4)
          to label %83 unwind label %171

83:                                               ; preds = %82
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.79") align 8 %40, ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %84 unwind label %173

84:                                               ; preds = %83
  invoke void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680) %0, ptr noundef nonnull align 8 dereferenceable(16) %40)
          to label %85 unwind label %175

85:                                               ; preds = %84
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #7
  invoke void @_ZN6ngraph4Node36constructor_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(680) %0)
          to label %86 unwind label %179

86:                                               ; preds = %85
  ret void

87:                                               ; preds = %7
  %88 = landingpad { ptr, i32 }
          cleanup
  br label %91

89:                                               ; preds = %43
  %90 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN6ngraph6OutputINS0_4NodeEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  br label %91

91:                                               ; preds = %89, %87
  %.pn = phi { ptr, i32 } [ %90, %89 ], [ %88, %87 ]
  call void @_ZNSt15__new_allocatorIN6ngraph6OutputINS0_4NodeEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #7
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  br label %183

92:                                               ; preds = %44
  %93 = landingpad { ptr, i32 }
          cleanup
  br label %182

94:                                               ; preds = %48
  %95 = landingpad { ptr, i32 }
          cleanup
  br label %104

96:                                               ; preds = %54
  %97 = landingpad { ptr, i32 }
          cleanup
  br label %103

98:                                               ; preds = %55
  %99 = landingpad { ptr, i32 }
          cleanup
  br label %102

100:                                              ; preds = %56
  %101 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  br label %102

102:                                              ; preds = %100, %98
  %.pn49 = phi { ptr, i32 } [ %101, %100 ], [ %99, %98 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  br label %103

103:                                              ; preds = %102, %96
  %.pn49.pn = phi { ptr, i32 } [ %.pn49, %102 ], [ %97, %96 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  br label %104

104:                                              ; preds = %103, %94
  %.pn49.pn.pn = phi { ptr, i32 } [ %.pn49.pn, %103 ], [ %95, %94 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  br label %181

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

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

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

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

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

115:                                              ; preds = %113, %111
  %.pn53 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #7
  br label %116

116:                                              ; preds = %115, %109
  %.pn53.pn = phi { ptr, i32 } [ %.pn53, %115 ], [ %110, %109 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #7
  br label %117

117:                                              ; preds = %116, %107
  %.pn53.pn.pn = phi { ptr, i32 } [ %.pn53.pn, %116 ], [ %108, %107 ]
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  br label %118

118:                                              ; preds = %117, %105
  %.pn53.pn.pn.pn = phi { ptr, i32 } [ %.pn53.pn.pn, %117 ], [ %106, %105 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %181

119:                                              ; preds = %63
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %132

121:                                              ; preds = %64
  %122 = landingpad { ptr, i32 }
          cleanup
  br label %131

123:                                              ; preds = %65
  %124 = landingpad { ptr, i32 }
          cleanup
  br label %130

125:                                              ; preds = %66
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %129

127:                                              ; preds = %67
  %128 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  br label %129

129:                                              ; preds = %127, %125
  %.pn58 = phi { ptr, i32 } [ %128, %127 ], [ %126, %125 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  br label %130

130:                                              ; preds = %129, %123
  %.pn58.pn = phi { ptr, i32 } [ %.pn58, %129 ], [ %124, %123 ]
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  br label %131

131:                                              ; preds = %130, %121
  %.pn58.pn.pn = phi { ptr, i32 } [ %.pn58.pn, %130 ], [ %122, %121 ]
  call void @_ZNSt15__new_allocatorImED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  br label %132

132:                                              ; preds = %131, %119
  %.pn58.pn.pn.pn = phi { ptr, i32 } [ %.pn58.pn.pn, %131 ], [ %120, %119 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  br label %181

133:                                              ; preds = %68
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %146

135:                                              ; preds = %69
  %136 = landingpad { ptr, i32 }
          cleanup
  br label %145

137:                                              ; preds = %70
  %138 = landingpad { ptr, i32 }
          cleanup
  br label %144

139:                                              ; preds = %71
  %140 = landingpad { ptr, i32 }
          cleanup
  br label %143

141:                                              ; preds = %72
  %142 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  br label %143

143:                                              ; preds = %141, %139
  %.pn63 = phi { ptr, i32 } [ %142, %141 ], [ %140, %139 ]
  call void @_ZNSt12__shared_ptrIN6ngraph2op2v08ConstantELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  br label %144

144:                                              ; preds = %143, %137
  %.pn63.pn = phi { ptr, i32 } [ %.pn63, %143 ], [ %138, %137 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  br label %145

145:                                              ; preds = %144, %135
  %.pn63.pn.pn = phi { ptr, i32 } [ %.pn63.pn, %144 ], [ %136, %135 ]
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  br label %146

146:                                              ; preds = %145, %133
  %.pn63.pn.pn.pn = phi { ptr, i32 } [ %.pn63.pn.pn, %145 ], [ %134, %133 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #7
  br label %181

147:                                              ; preds = %73
  %148 = landingpad { ptr, i32 }
          cleanup
  br label %154

149:                                              ; preds = %74
  %150 = landingpad { ptr, i32 }
          cleanup
  br label %153

151:                                              ; preds = %75
  %152 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #7
  br label %153

153:                                              ; preds = %151, %149
  %.pn68 = phi { ptr, i32 } [ %152, %151 ], [ %150, %149 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %154

154:                                              ; preds = %153, %147
  %.pn68.pn = phi { ptr, i32 } [ %.pn68, %153 ], [ %148, %147 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #7
  br label %181

155:                                              ; preds = %76
  %156 = landingpad { ptr, i32 }
          cleanup
  br label %162

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

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

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

162:                                              ; preds = %161, %155
  %.pn71.pn = phi { ptr, i32 } [ %.pn71, %161 ], [ %156, %155 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #7
  br label %181

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

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

167:                                              ; preds = %81
  %168 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #7
  br label %169

169:                                              ; preds = %167, %165
  %.pn74 = phi { ptr, i32 } [ %168, %167 ], [ %166, %165 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #7
  br label %170

170:                                              ; preds = %169, %163
  %.pn74.pn = phi { ptr, i32 } [ %.pn74, %169 ], [ %164, %163 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #7
  br label %181

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

173:                                              ; preds = %83
  %174 = landingpad { ptr, i32 }
          cleanup
  br label %177

175:                                              ; preds = %84
  %176 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #7
  br label %177

177:                                              ; preds = %175, %173
  %.pn77 = phi { ptr, i32 } [ %176, %175 ], [ %174, %173 ]
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #7
  br label %178

178:                                              ; preds = %177, %171
  %.pn77.pn = phi { ptr, i32 } [ %.pn77, %177 ], [ %172, %171 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #7
  br label %181

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

181:                                              ; preds = %179, %178, %170, %162, %154, %146, %132, %118, %104
  %.pn80 = phi { ptr, i32 } [ %180, %179 ], [ %.pn77.pn, %178 ], [ %.pn74.pn, %170 ], [ %.pn71.pn, %162 ], [ %.pn68.pn, %154 ], [ %.pn63.pn.pn.pn, %146 ], [ %.pn58.pn.pn.pn, %132 ], [ %.pn53.pn.pn.pn, %118 ], [ %.pn49.pn.pn, %104 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  br label %182

182:                                              ; preds = %181, %92
  %.pn80.pn = phi { ptr, i32 } [ %.pn80, %181 ], [ %93, %92 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %45) #7
  call void @_ZN6ngraph4NodeD2Ev(ptr noundef nonnull align 8 dereferenceable(680) %0) #7
  br label %183

183:                                              ; preds = %182, %91
  %.pn80.pn.pn = phi { ptr, i32 } [ %.pn80.pn, %182 ], [ %.pn, %91 ]
  resume { ptr, i32 } %.pn80.pn.pn
}

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

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare void @_ZN6ngraph4Node27add_provenance_group_memberERKSt10shared_ptrIS0_E(ptr noundef nonnull align 8 dereferenceable(680), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #4

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

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

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

declare void @_ZN6ngraph4Node36constructor_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(680)) local_unnamed_addr #4

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

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

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

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

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

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

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


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass