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

; 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::PartialShape" = type { i8, %"class.std::vector.82" }
%"class.std::vector.82" = type { %"struct.std::_Vector_base.83" }
%"struct.std::_Vector_base.83" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.std::initializer_list.88" = type { ptr, i64 }
%"class.ngraph::op::v3::ExtractImagePatches" = type <{ %"class.ngraph::op::Op", %"class.ngraph::Shape", %"class.ngraph::Strides", %"class.ngraph::Shape", i32, [4 x i8] }>
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.5", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.13", %"class.std::set", %"class.std::deque", %"class.std::deque.39", %"class.std::unordered_map", i32, %"class.std::shared_ptr", %"class.std::map" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_set.13" = type { %"class.std::_Hashtable.14" }
%"class.std::_Hashtable.14" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.ngraph::Strides" = 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.ngraph::Shape" = type { %"class.std::vector.69" }

@.str = external hidden unnamed_addr constant [32 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [25 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.3 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [100 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

56:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 16, ptr %4) #8
  %57 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %58 unwind label %79

58:                                               ; preds = %56
  %59 = getelementptr inbounds %"class.ngraph::Dimension", ptr %4, i32 0, i32 0
  %60 = getelementptr inbounds { i64, i64 }, ptr %59, i32 0, i32 0
  %61 = extractvalue { i64, i64 } %57, 0
  store i64 %61, ptr %60, align 8
  %62 = getelementptr inbounds { i64, i64 }, ptr %59, i32 0, i32 1
  %63 = extractvalue { i64, i64 } %57, 1
  store i64 %63, ptr %62, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %7) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %7, i64 noundef 4)
          to label %64 unwind label %83

64:                                               ; preds = %58
  %65 = invoke noundef zeroext i1 @_ZNK6ngraph9DimensioneqERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(16) %7)
          to label %66 unwind label %83

66:                                               ; preds = %64
  %67 = xor i1 %65, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %4) #8
  br i1 %67, label %68, label %110

68:                                               ; preds = %66
  call void @llvm.lifetime.start.p0(i64 392, ptr %8) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8)
          to label %69 unwind label %88

69:                                               ; preds = %68
  %70 = getelementptr inbounds i8, ptr %8, i64 16
  %71 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA32_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 1 dereferenceable(32) @.str)
          to label %72 unwind label %92

72:                                               ; preds = %69
  store i1 true, ptr %11, align 1
  %73 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #8
  %74 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %9, i32 0, i32 0
  store ptr @.str.1, ptr %74, align 8, !tbaa !9
  %75 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %9, i32 0, i32 1
  store i32 45, ptr %75, align 8, !tbaa !12
  %76 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %9, i32 0, i32 2
  store ptr @.str.2, ptr %76, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(128) %8)
          to label %77 unwind label %96

77:                                               ; preds = %72
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %73, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef %54, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %78 unwind label %100

78:                                               ; preds = %77
  store i1 false, ptr %11, align 1
  invoke void @__cxa_throw(ptr %73, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %628 unwind label %100

79:                                               ; preds = %56
  %80 = landingpad { ptr, i32 }
          cleanup
  %81 = extractvalue { ptr, i32 } %80, 0
  store ptr %81, ptr %5, align 8
  %82 = extractvalue { ptr, i32 } %80, 1
  store i32 %82, ptr %6, align 4
  br label %87

83:                                               ; preds = %64, %58
  %84 = landingpad { ptr, i32 }
          cleanup
  %85 = extractvalue { ptr, i32 } %84, 0
  store ptr %85, ptr %5, align 8
  %86 = extractvalue { ptr, i32 } %84, 1
  store i32 %86, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #8
  br label %87

87:                                               ; preds = %83, %79
  call void @llvm.lifetime.end.p0(i64 16, ptr %4) #8
  br label %622

88:                                               ; preds = %68
  %89 = landingpad { ptr, i32 }
          cleanup
  %90 = extractvalue { ptr, i32 } %89, 0
  store ptr %90, ptr %5, align 8
  %91 = extractvalue { ptr, i32 } %89, 1
  store i32 %91, ptr %6, align 4
  br label %109

92:                                               ; preds = %69
  %93 = landingpad { ptr, i32 }
          cleanup
  %94 = extractvalue { ptr, i32 } %93, 0
  store ptr %94, ptr %5, align 8
  %95 = extractvalue { ptr, i32 } %93, 1
  store i32 %95, ptr %6, align 4
  br label %108

96:                                               ; preds = %72
  %97 = landingpad { ptr, i32 }
          cleanup
  %98 = extractvalue { ptr, i32 } %97, 0
  store ptr %98, ptr %5, align 8
  %99 = extractvalue { ptr, i32 } %97, 1
  store i32 %99, ptr %6, align 4
  br label %104

100:                                              ; preds = %78, %77
  %101 = landingpad { ptr, i32 }
          cleanup
  %102 = extractvalue { ptr, i32 } %101, 0
  store ptr %102, ptr %5, align 8
  %103 = extractvalue { ptr, i32 } %101, 1
  store i32 %103, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  br label %104

104:                                              ; preds = %100, %96
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #8
  %105 = load i1, ptr %11, align 1
  br i1 %105, label %106, label %107

106:                                              ; preds = %104
  call void @__cxa_free_exception(ptr %73) #8
  br label %107

107:                                              ; preds = %106, %104
  br label %108

108:                                              ; preds = %107, %92
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #8
  br label %109

109:                                              ; preds = %108, %88
  call void @llvm.lifetime.end.p0(i64 392, ptr %8) #8
  br label %622

110:                                              ; preds = %66
  br label %111

111:                                              ; preds = %110
  br label %112

112:                                              ; preds = %111
  br label %113

113:                                              ; preds = %112
  %114 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 1
  %115 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %114) #8
  %116 = icmp eq i64 %115, 2
  br i1 %116, label %150, label %117

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

118:                                              ; preds = %117
  %119 = getelementptr inbounds i8, ptr %12, i64 16
  %120 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA60_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %119, ptr noundef nonnull align 1 dereferenceable(60) @.str.3)
          to label %121 unwind label %132

121:                                              ; preds = %118
  store i1 true, ptr %15, align 1
  %122 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #8
  %123 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 0
  store ptr @.str.1, ptr %123, align 8, !tbaa !9
  %124 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 1
  store i32 49, ptr %124, align 8, !tbaa !12
  %125 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %13, i32 0, i32 2
  store ptr @.str.4, ptr %125, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(128) %12)
          to label %126 unwind label %136

126:                                              ; preds = %121
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %122, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef %54, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %127 unwind label %140

127:                                              ; preds = %126
  store i1 false, ptr %15, align 1
  invoke void @__cxa_throw(ptr %122, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %628 unwind label %140

128:                                              ; preds = %117
  %129 = landingpad { ptr, i32 }
          cleanup
  %130 = extractvalue { ptr, i32 } %129, 0
  store ptr %130, ptr %5, align 8
  %131 = extractvalue { ptr, i32 } %129, 1
  store i32 %131, ptr %6, align 4
  br label %149

132:                                              ; preds = %118
  %133 = landingpad { ptr, i32 }
          cleanup
  %134 = extractvalue { ptr, i32 } %133, 0
  store ptr %134, ptr %5, align 8
  %135 = extractvalue { ptr, i32 } %133, 1
  store i32 %135, ptr %6, align 4
  br label %148

136:                                              ; preds = %121
  %137 = landingpad { ptr, i32 }
          cleanup
  %138 = extractvalue { ptr, i32 } %137, 0
  store ptr %138, ptr %5, align 8
  %139 = extractvalue { ptr, i32 } %137, 1
  store i32 %139, ptr %6, align 4
  br label %144

140:                                              ; preds = %127, %126
  %141 = landingpad { ptr, i32 }
          cleanup
  %142 = extractvalue { ptr, i32 } %141, 0
  store ptr %142, ptr %5, align 8
  %143 = extractvalue { ptr, i32 } %141, 1
  store i32 %143, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  br label %144

144:                                              ; preds = %140, %136
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #8
  %145 = load i1, ptr %15, align 1
  br i1 %145, label %146, label %147

146:                                              ; preds = %144
  call void @__cxa_free_exception(ptr %122) #8
  br label %147

147:                                              ; preds = %146, %144
  br label %148

148:                                              ; preds = %147, %132
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %12) #8
  br label %149

149:                                              ; preds = %148, %128
  call void @llvm.lifetime.end.p0(i64 392, ptr %12) #8
  br label %622

150:                                              ; preds = %113
  br label %151

151:                                              ; preds = %150
  br label %152

152:                                              ; preds = %151
  br label %153

153:                                              ; preds = %152
  %154 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 2
  %155 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %154) #8
  %156 = icmp eq i64 %155, 2
  br i1 %156, label %190, label %157

157:                                              ; preds = %153
  call void @llvm.lifetime.start.p0(i64 392, ptr %16) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16)
          to label %158 unwind label %168

158:                                              ; preds = %157
  %159 = getelementptr inbounds i8, ptr %16, i64 16
  %160 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA66_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %159, ptr noundef nonnull align 1 dereferenceable(66) @.str.5)
          to label %161 unwind label %172

161:                                              ; preds = %158
  store i1 true, ptr %19, align 1
  %162 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  %163 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 0
  store ptr @.str.1, ptr %163, align 8, !tbaa !9
  %164 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 1
  store i32 53, ptr %164, align 8, !tbaa !12
  %165 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %17, i32 0, i32 2
  store ptr @.str.6, ptr %165, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(128) %16)
          to label %166 unwind label %176

166:                                              ; preds = %161
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %162, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %54, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %167 unwind label %180

167:                                              ; preds = %166
  store i1 false, ptr %19, align 1
  invoke void @__cxa_throw(ptr %162, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %628 unwind label %180

168:                                              ; preds = %157
  %169 = landingpad { ptr, i32 }
          cleanup
  %170 = extractvalue { ptr, i32 } %169, 0
  store ptr %170, ptr %5, align 8
  %171 = extractvalue { ptr, i32 } %169, 1
  store i32 %171, ptr %6, align 4
  br label %189

172:                                              ; preds = %158
  %173 = landingpad { ptr, i32 }
          cleanup
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %5, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %6, align 4
  br label %188

176:                                              ; preds = %161
  %177 = landingpad { ptr, i32 }
          cleanup
  %178 = extractvalue { ptr, i32 } %177, 0
  store ptr %178, ptr %5, align 8
  %179 = extractvalue { ptr, i32 } %177, 1
  store i32 %179, ptr %6, align 4
  br label %184

180:                                              ; preds = %167, %166
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %5, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  br label %184

184:                                              ; preds = %180, %176
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  %185 = load i1, ptr %19, align 1
  br i1 %185, label %186, label %187

186:                                              ; preds = %184
  call void @__cxa_free_exception(ptr %162) #8
  br label %187

187:                                              ; preds = %186, %184
  br label %188

188:                                              ; preds = %187, %172
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16) #8
  br label %189

189:                                              ; preds = %188, %168
  call void @llvm.lifetime.end.p0(i64 392, ptr %16) #8
  br label %622

190:                                              ; preds = %153
  br label %191

191:                                              ; preds = %190
  br label %192

192:                                              ; preds = %191
  br label %193

193:                                              ; preds = %192
  %194 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 2
  %195 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %194, i64 noundef 0) #8
  %196 = load i64, ptr %195, align 8, !tbaa !14
  %197 = icmp ugt i64 %196, 0
  br i1 %197, label %198, label %203

198:                                              ; preds = %193
  %199 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 2
  %200 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %199, i64 noundef 1) #8
  %201 = load i64, ptr %200, align 8, !tbaa !14
  %202 = icmp ugt i64 %201, 0
  br i1 %202, label %236, label %203

203:                                              ; preds = %198, %193
  call void @llvm.lifetime.start.p0(i64 392, ptr %20) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20)
          to label %204 unwind label %214

204:                                              ; preds = %203
  %205 = getelementptr inbounds i8, ptr %20, i64 16
  %206 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA67_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %205, ptr noundef nonnull align 1 dereferenceable(67) @.str.7)
          to label %207 unwind label %218

207:                                              ; preds = %204
  store i1 true, ptr %23, align 1
  %208 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #8
  %209 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 0
  store ptr @.str.1, ptr %209, align 8, !tbaa !9
  %210 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 1
  store i32 57, ptr %210, align 8, !tbaa !12
  %211 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 2
  store ptr @.str.8, ptr %211, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(128) %20)
          to label %212 unwind label %222

212:                                              ; preds = %207
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %208, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef %54, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %213 unwind label %226

213:                                              ; preds = %212
  store i1 false, ptr %23, align 1
  invoke void @__cxa_throw(ptr %208, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %628 unwind label %226

214:                                              ; preds = %203
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %5, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %6, align 4
  br label %235

218:                                              ; preds = %204
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %5, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %6, align 4
  br label %234

222:                                              ; preds = %207
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %5, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %6, align 4
  br label %230

226:                                              ; preds = %213, %212
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %5, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %230

230:                                              ; preds = %226, %222
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  %231 = load i1, ptr %23, align 1
  br i1 %231, label %232, label %233

232:                                              ; preds = %230
  call void @__cxa_free_exception(ptr %208) #8
  br label %233

233:                                              ; preds = %232, %230
  br label %234

234:                                              ; preds = %233, %218
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20) #8
  br label %235

235:                                              ; preds = %234, %214
  call void @llvm.lifetime.end.p0(i64 392, ptr %20) #8
  br label %622

236:                                              ; preds = %198
  br label %237

237:                                              ; preds = %236
  br label %238

238:                                              ; preds = %237
  br label %239

239:                                              ; preds = %238
  %240 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 3
  %241 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %240) #8
  %242 = icmp eq i64 %241, 2
  br i1 %242, label %276, label %243

243:                                              ; preds = %239
  call void @llvm.lifetime.start.p0(i64 392, ptr %24) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %244 unwind label %254

244:                                              ; preds = %243
  %245 = getelementptr inbounds i8, ptr %24, i64 16
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA60_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %245, ptr noundef nonnull align 1 dereferenceable(60) @.str.9)
          to label %247 unwind label %258

247:                                              ; preds = %244
  store i1 true, ptr %27, align 1
  %248 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %25) #8
  %249 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %25, i32 0, i32 0
  store ptr @.str.1, ptr %249, align 8, !tbaa !9
  %250 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %25, i32 0, i32 1
  store i32 61, ptr %250, align 8, !tbaa !12
  %251 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %25, i32 0, i32 2
  store ptr @.str.10, ptr %251, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %252 unwind label %262

252:                                              ; preds = %247
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %248, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef %54, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %253 unwind label %266

253:                                              ; preds = %252
  store i1 false, ptr %27, align 1
  invoke void @__cxa_throw(ptr %248, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %628 unwind label %266

254:                                              ; preds = %243
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %5, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %6, align 4
  br label %275

258:                                              ; preds = %244
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %5, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %6, align 4
  br label %274

262:                                              ; preds = %247
  %263 = landingpad { ptr, i32 }
          cleanup
  %264 = extractvalue { ptr, i32 } %263, 0
  store ptr %264, ptr %5, align 8
  %265 = extractvalue { ptr, i32 } %263, 1
  store i32 %265, ptr %6, align 4
  br label %270

266:                                              ; preds = %253, %252
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %5, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %270

270:                                              ; preds = %266, %262
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #8
  %271 = load i1, ptr %27, align 1
  br i1 %271, label %272, label %273

272:                                              ; preds = %270
  call void @__cxa_free_exception(ptr %248) #8
  br label %273

273:                                              ; preds = %272, %270
  br label %274

274:                                              ; preds = %273, %258
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24) #8
  br label %275

275:                                              ; preds = %274, %254
  call void @llvm.lifetime.end.p0(i64 392, ptr %24) #8
  br label %622

276:                                              ; preds = %239
  br label %277

277:                                              ; preds = %276
  br label %278

278:                                              ; preds = %277
  br label %279

279:                                              ; preds = %278
  %280 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 3
  %281 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %280, i64 noundef 0) #8
  %282 = load i64, ptr %281, align 8, !tbaa !14
  %283 = icmp ugt i64 %282, 0
  br i1 %283, label %284, label %289

284:                                              ; preds = %279
  %285 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 3
  %286 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %285, i64 noundef 1) #8
  %287 = load i64, ptr %286, align 8, !tbaa !14
  %288 = icmp ugt i64 %287, 0
  br i1 %288, label %322, label %289

289:                                              ; preds = %284, %279
  call void @llvm.lifetime.start.p0(i64 392, ptr %28) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %290 unwind label %300

290:                                              ; preds = %289
  %291 = getelementptr inbounds i8, ptr %28, i64 16
  %292 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA65_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %291, ptr noundef nonnull align 1 dereferenceable(65) @.str.11)
          to label %293 unwind label %304

293:                                              ; preds = %290
  store i1 true, ptr %31, align 1
  %294 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #8
  %295 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 0
  store ptr @.str.1, ptr %295, align 8, !tbaa !9
  %296 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 1
  store i32 65, ptr %296, align 8, !tbaa !12
  %297 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 2
  store ptr @.str.12, ptr %297, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %298 unwind label %308

298:                                              ; preds = %293
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %294, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef %54, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %299 unwind label %312

299:                                              ; preds = %298
  store i1 false, ptr %31, align 1
  invoke void @__cxa_throw(ptr %294, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %628 unwind label %312

300:                                              ; preds = %289
  %301 = landingpad { ptr, i32 }
          cleanup
  %302 = extractvalue { ptr, i32 } %301, 0
  store ptr %302, ptr %5, align 8
  %303 = extractvalue { ptr, i32 } %301, 1
  store i32 %303, ptr %6, align 4
  br label %321

304:                                              ; preds = %290
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %5, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %6, align 4
  br label %320

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

312:                                              ; preds = %299, %298
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %5, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  br label %316

316:                                              ; preds = %312, %308
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  %317 = load i1, ptr %31, align 1
  br i1 %317, label %318, label %319

318:                                              ; preds = %316
  call void @__cxa_free_exception(ptr %294) #8
  br label %319

319:                                              ; preds = %318, %316
  br label %320

320:                                              ; preds = %319, %304
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28) #8
  br label %321

321:                                              ; preds = %320, %300
  call void @llvm.lifetime.end.p0(i64 392, ptr %28) #8
  br label %622

322:                                              ; preds = %284
  br label %323

323:                                              ; preds = %322
  br label %324

324:                                              ; preds = %323
  br label %325

325:                                              ; preds = %324
  %326 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 4
  %327 = load i32, ptr %326, align 8, !tbaa !16
  %328 = icmp eq i32 %327, 3
  br i1 %328, label %370, label %329

329:                                              ; preds = %325
  %330 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 4
  %331 = load i32, ptr %330, align 8, !tbaa !16
  %332 = icmp eq i32 %331, 1
  br i1 %332, label %370, label %333

333:                                              ; preds = %329
  %334 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 4
  %335 = load i32, ptr %334, align 8, !tbaa !16
  %336 = icmp eq i32 %335, 2
  br i1 %336, label %370, label %337

337:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 392, ptr %32) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %32)
          to label %338 unwind label %348

338:                                              ; preds = %337
  %339 = getelementptr inbounds i8, ptr %32, i64 16
  %340 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA73_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %339, ptr noundef nonnull align 1 dereferenceable(73) @.str.13)
          to label %341 unwind label %352

341:                                              ; preds = %338
  store i1 true, ptr %35, align 1
  %342 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #8
  %343 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %33, i32 0, i32 0
  store ptr @.str.1, ptr %343, align 8, !tbaa !9
  %344 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %33, i32 0, i32 1
  store i32 71, ptr %344, align 8, !tbaa !12
  %345 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %33, i32 0, i32 2
  store ptr @.str.14, ptr %345, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(128) %32)
          to label %346 unwind label %356

346:                                              ; preds = %341
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %342, ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef %54, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %347 unwind label %360

347:                                              ; preds = %346
  store i1 false, ptr %35, align 1
  invoke void @__cxa_throw(ptr %342, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %628 unwind label %360

348:                                              ; preds = %337
  %349 = landingpad { ptr, i32 }
          cleanup
  %350 = extractvalue { ptr, i32 } %349, 0
  store ptr %350, ptr %5, align 8
  %351 = extractvalue { ptr, i32 } %349, 1
  store i32 %351, ptr %6, align 4
  br label %369

352:                                              ; preds = %338
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %5, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %6, align 4
  br label %368

356:                                              ; preds = %341
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %5, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %6, align 4
  br label %364

360:                                              ; preds = %347, %346
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %5, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  br label %364

364:                                              ; preds = %360, %356
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #8
  %365 = load i1, ptr %35, align 1
  br i1 %365, label %366, label %367

366:                                              ; preds = %364
  call void @__cxa_free_exception(ptr %342) #8
  br label %367

367:                                              ; preds = %366, %364
  br label %368

368:                                              ; preds = %367, %352
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %32) #8
  br label %369

369:                                              ; preds = %368, %348
  call void @llvm.lifetime.end.p0(i64 392, ptr %32) #8
  br label %622

370:                                              ; preds = %333, %329, %325
  br label %371

371:                                              ; preds = %370
  br label %372

372:                                              ; preds = %371
  %373 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 1)
          to label %374 unwind label %398

374:                                              ; preds = %372
  %375 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %373)
          to label %376 unwind label %398

376:                                              ; preds = %374
  br i1 %375, label %387, label %377

377:                                              ; preds = %376
  %378 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 2)
          to label %379 unwind label %398

379:                                              ; preds = %377
  %380 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %378)
          to label %381 unwind label %398

381:                                              ; preds = %379
  br i1 %380, label %387, label %382

382:                                              ; preds = %381
  %383 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 3)
          to label %384 unwind label %398

384:                                              ; preds = %382
  %385 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %383)
          to label %386 unwind label %398

386:                                              ; preds = %384
  br i1 %385, label %387, label %411

387:                                              ; preds = %386, %381, %376
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %54, i64 noundef 0, i1 noundef zeroext true)
          to label %388 unwind label %398

388:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %37, i64 noundef 4)
          to label %389 unwind label %402

389:                                              ; preds = %388
  %390 = getelementptr inbounds { i64, i64 }, ptr %37, i32 0, i32 0
  %391 = load i64, ptr %390, align 8
  %392 = getelementptr inbounds { i64, i64 }, ptr %37, i32 0, i32 1
  %393 = load i64, ptr %392, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %36, i64 %391, i64 %393)
          to label %394 unwind label %402

394:                                              ; preds = %389
  %395 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %54, i64 noundef 0)
          to label %396 unwind label %406

396:                                              ; preds = %394
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %54, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %395, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %397 unwind label %406

397:                                              ; preds = %396
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  br label %621

398:                                              ; preds = %387, %384, %382, %379, %377, %374, %372
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %5, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %6, align 4
  br label %622

402:                                              ; preds = %389, %388
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %5, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %6, align 4
  br label %410

406:                                              ; preds = %396, %394
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %5, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %6, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  br label %410

410:                                              ; preds = %406, %402
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  br label %622

411:                                              ; preds = %386
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #8
  %412 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 1)
          to label %413 unwind label %433

413:                                              ; preds = %411
  %414 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %412)
          to label %415 unwind label %433

415:                                              ; preds = %413
  %416 = trunc i64 %414 to i32
  store i32 %416, ptr %38, align 4, !tbaa !76
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #8
  %417 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 2)
          to label %418 unwind label %437

418:                                              ; preds = %415
  %419 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %417)
          to label %420 unwind label %437

420:                                              ; preds = %418
  %421 = trunc i64 %419 to i32
  store i32 %421, ptr %39, align 4, !tbaa !76
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #8
  %422 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 3)
          to label %423 unwind label %441

423:                                              ; preds = %420
  %424 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %422)
          to label %425 unwind label %441

425:                                              ; preds = %423
  %426 = trunc i64 %424 to i32
  store i32 %426, ptr %40, align 4, !tbaa !76
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #8
  store i32 0, ptr %41, align 4, !tbaa !76
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #8
  store i32 0, ptr %42, align 4, !tbaa !76
  %427 = load i32, ptr %39, align 4, !tbaa !76
  %428 = icmp eq i32 %427, 0
  br i1 %428, label %432, label %429

429:                                              ; preds = %425
  %430 = load i32, ptr %40, align 4, !tbaa !76
  %431 = icmp eq i32 %430, 0
  br i1 %431, label %432, label %445

432:                                              ; preds = %429, %425
  store i32 0, ptr %41, align 4, !tbaa !76
  store i32 0, ptr %42, align 4, !tbaa !76
  br label %510

433:                                              ; preds = %413, %411
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %5, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %6, align 4
  br label %620

437:                                              ; preds = %418, %415
  %438 = landingpad { ptr, i32 }
          cleanup
  %439 = extractvalue { ptr, i32 } %438, 0
  store ptr %439, ptr %5, align 8
  %440 = extractvalue { ptr, i32 } %438, 1
  store i32 %440, ptr %6, align 4
  br label %619

441:                                              ; preds = %423, %420
  %442 = landingpad { ptr, i32 }
          cleanup
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %5, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %6, align 4
  br label %618

445:                                              ; preds = %429
  %446 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 4
  %447 = load i32, ptr %446, align 8, !tbaa !16
  %448 = icmp eq i32 %447, 3
  br i1 %448, label %449, label %490

449:                                              ; preds = %445
  %450 = load i32, ptr %39, align 4, !tbaa !76
  %451 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 3
  %452 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %451, i64 noundef 0) #8
  %453 = load i64, ptr %452, align 8, !tbaa !14
  %454 = trunc i64 %453 to i32
  %455 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 1
  %456 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %455, i64 noundef 0) #8
  %457 = load i64, ptr %456, align 8, !tbaa !14
  %458 = trunc i64 %457 to i32
  %459 = sub nsw i32 %458, 1
  %460 = mul nsw i32 %454, %459
  %461 = sub nsw i32 %450, %460
  %462 = sub nsw i32 %461, 1
  %463 = sext i32 %462 to i64
  %464 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 2
  %465 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %464, i64 noundef 0) #8
  %466 = load i64, ptr %465, align 8, !tbaa !14
  %467 = udiv i64 %463, %466
  %468 = add i64 %467, 1
  %469 = trunc i64 %468 to i32
  store i32 %469, ptr %41, align 4, !tbaa !76
  %470 = load i32, ptr %40, align 4, !tbaa !76
  %471 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 3
  %472 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %471, i64 noundef 1) #8
  %473 = load i64, ptr %472, align 8, !tbaa !14
  %474 = trunc i64 %473 to i32
  %475 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 1
  %476 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %475, i64 noundef 1) #8
  %477 = load i64, ptr %476, align 8, !tbaa !14
  %478 = trunc i64 %477 to i32
  %479 = sub nsw i32 %478, 1
  %480 = mul nsw i32 %474, %479
  %481 = sub nsw i32 %470, %480
  %482 = sub nsw i32 %481, 1
  %483 = sext i32 %482 to i64
  %484 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 2
  %485 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %484, i64 noundef 1) #8
  %486 = load i64, ptr %485, align 8, !tbaa !14
  %487 = udiv i64 %483, %486
  %488 = add i64 %487, 1
  %489 = trunc i64 %488 to i32
  store i32 %489, ptr %42, align 4, !tbaa !76
  br label %509

490:                                              ; preds = %445
  %491 = load i32, ptr %39, align 4, !tbaa !76
  %492 = sub nsw i32 %491, 1
  %493 = sext i32 %492 to i64
  %494 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 2
  %495 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %494, i64 noundef 0) #8
  %496 = load i64, ptr %495, align 8, !tbaa !14
  %497 = udiv i64 %493, %496
  %498 = add i64 1, %497
  %499 = trunc i64 %498 to i32
  store i32 %499, ptr %41, align 4, !tbaa !76
  %500 = load i32, ptr %40, align 4, !tbaa !76
  %501 = sub nsw i32 %500, 1
  %502 = sext i32 %501 to i64
  %503 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 2
  %504 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %503, i64 noundef 1) #8
  %505 = load i64, ptr %504, align 8, !tbaa !14
  %506 = udiv i64 %502, %505
  %507 = add i64 1, %506
  %508 = trunc i64 %507 to i32
  store i32 %508, ptr %42, align 4, !tbaa !76
  br label %509

509:                                              ; preds = %490, %449
  br label %510

510:                                              ; preds = %509, %432
  %511 = load i32, ptr %41, align 4, !tbaa !76
  %512 = icmp slt i32 %511, 0
  br i1 %512, label %513, label %514

513:                                              ; preds = %510
  store i32 0, ptr %41, align 4, !tbaa !76
  br label %514

514:                                              ; preds = %513, %510
  %515 = load i32, ptr %42, align 4, !tbaa !76
  %516 = icmp slt i32 %515, 0
  br i1 %516, label %517, label %518

517:                                              ; preds = %514
  store i32 0, ptr %42, align 4, !tbaa !76
  br label %518

518:                                              ; preds = %517, %514
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #8
  %519 = load i32, ptr %38, align 4, !tbaa !76
  %520 = sext i32 %519 to i64
  %521 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 1
  %522 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %521, i64 noundef 0) #8
  %523 = load i64, ptr %522, align 8, !tbaa !14
  %524 = mul i64 %520, %523
  %525 = getelementptr inbounds %"class.ngraph::op::v3::ExtractImagePatches", ptr %54, i32 0, i32 1
  %526 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %525, i64 noundef 1) #8
  %527 = load i64, ptr %526, align 8, !tbaa !14
  %528 = mul i64 %524, %527
  store i64 %528, ptr %43, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #8
  %529 = load i32, ptr %41, align 4, !tbaa !76
  %530 = sext i32 %529 to i64
  store i64 %530, ptr %44, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #8
  %531 = load i32, ptr %42, align 4, !tbaa !76
  %532 = sext i32 %531 to i64
  store i64 %532, ptr %45, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %533 unwind label %558

533:                                              ; preds = %518
  %534 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 0)
          to label %535 unwind label %562

535:                                              ; preds = %533
  %536 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %534)
          to label %537 unwind label %562

537:                                              ; preds = %535
  br i1 %536, label %538, label %570

538:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %49) #8
  %539 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 0)
          to label %540 unwind label %566

540:                                              ; preds = %538
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %49, ptr align 8 %539, i64 16, i1 false), !tbaa.struct !77
  %541 = getelementptr inbounds %"class.ngraph::Dimension", ptr %49, i64 1
  %542 = load i64, ptr %43, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %541, i64 noundef %542)
          to label %543 unwind label %566

543:                                              ; preds = %540
  %544 = getelementptr inbounds %"class.ngraph::Dimension", ptr %49, i64 2
  %545 = load i64, ptr %44, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %544, i64 noundef %545)
          to label %546 unwind label %566

546:                                              ; preds = %543
  %547 = getelementptr inbounds %"class.ngraph::Dimension", ptr %49, i64 3
  %548 = load i64, ptr %45, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %547, i64 noundef %548)
          to label %549 unwind label %566

549:                                              ; preds = %546
  %550 = getelementptr inbounds %"class.std::initializer_list.88", ptr %48, i32 0, i32 0
  store ptr %49, ptr %550, align 8, !tbaa !78
  %551 = getelementptr inbounds %"class.std::initializer_list.88", ptr %48, i32 0, i32 1
  store i64 4, ptr %551, align 8, !tbaa !80
  %552 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 0
  %553 = load ptr, ptr %552, align 8
  %554 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 1
  %555 = load i64, ptr %554, align 8
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr %553, i64 %555)
          to label %556 unwind label %566

556:                                              ; preds = %549
  %557 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  br label %603

558:                                              ; preds = %518
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %5, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %6, align 4
  br label %617

562:                                              ; preds = %614, %612, %609, %535, %533
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %5, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %6, align 4
  br label %616

566:                                              ; preds = %549, %546, %543, %540, %538
  %567 = landingpad { ptr, i32 }
          cleanup
  %568 = extractvalue { ptr, i32 } %567, 0
  store ptr %568, ptr %5, align 8
  %569 = extractvalue { ptr, i32 } %567, 1
  store i32 %569, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 64, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  br label %616

570:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #8
  %571 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 0)
          to label %572 unwind label %594

572:                                              ; preds = %570
  %573 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %571)
          to label %574 unwind label %594

574:                                              ; preds = %572
  store i64 %573, ptr %50, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %53) #8
  %575 = load i64, ptr %50, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %53, i64 noundef %575)
          to label %576 unwind label %598

576:                                              ; preds = %574
  %577 = getelementptr inbounds %"class.ngraph::Dimension", ptr %53, i64 1
  %578 = load i64, ptr %43, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %577, i64 noundef %578)
          to label %579 unwind label %598

579:                                              ; preds = %576
  %580 = getelementptr inbounds %"class.ngraph::Dimension", ptr %53, i64 2
  %581 = load i64, ptr %44, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %580, i64 noundef %581)
          to label %582 unwind label %598

582:                                              ; preds = %579
  %583 = getelementptr inbounds %"class.ngraph::Dimension", ptr %53, i64 3
  %584 = load i64, ptr %45, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %583, i64 noundef %584)
          to label %585 unwind label %598

585:                                              ; preds = %582
  %586 = getelementptr inbounds %"class.std::initializer_list.88", ptr %52, i32 0, i32 0
  store ptr %53, ptr %586, align 8, !tbaa !78
  %587 = getelementptr inbounds %"class.std::initializer_list.88", ptr %52, i32 0, i32 1
  store i64 4, ptr %587, align 8, !tbaa !80
  %588 = getelementptr inbounds { ptr, i64 }, ptr %52, i32 0, i32 0
  %589 = load ptr, ptr %588, align 8
  %590 = getelementptr inbounds { ptr, i64 }, ptr %52, i32 0, i32 1
  %591 = load i64, ptr %590, align 8
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr %589, i64 %591)
          to label %592 unwind label %598

592:                                              ; preds = %585
  %593 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  br label %603

594:                                              ; preds = %572, %570
  %595 = landingpad { ptr, i32 }
          cleanup
  %596 = extractvalue { ptr, i32 } %595, 0
  store ptr %596, ptr %5, align 8
  %597 = extractvalue { ptr, i32 } %595, 1
  store i32 %597, ptr %6, align 4
  br label %602

598:                                              ; preds = %585, %582, %579, %576, %574
  %599 = landingpad { ptr, i32 }
          cleanup
  %600 = extractvalue { ptr, i32 } %599, 0
  store ptr %600, ptr %5, align 8
  %601 = extractvalue { ptr, i32 } %599, 1
  store i32 %601, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 64, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  br label %602

602:                                              ; preds = %598, %594
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  br label %616

603:                                              ; preds = %592, %556
  %604 = load i32, ptr %39, align 4, !tbaa !76
  %605 = icmp eq i32 %604, 0
  br i1 %605, label %609, label %606

606:                                              ; preds = %603
  %607 = load i32, ptr %40, align 4, !tbaa !76
  %608 = icmp eq i32 %607, 0
  br i1 %608, label %609, label %612

609:                                              ; preds = %606, %603
  %610 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %611 unwind label %562

611:                                              ; preds = %609
  br label %612

612:                                              ; preds = %611, %606
  %613 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %54, i64 noundef 0)
          to label %614 unwind label %562

614:                                              ; preds = %612
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %54, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %613, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %615 unwind label %562

615:                                              ; preds = %614
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  br label %621

616:                                              ; preds = %602, %566, %562
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %617

617:                                              ; preds = %616, %558
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #8
  br label %618

618:                                              ; preds = %617, %441
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  br label %619

619:                                              ; preds = %618, %437
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #8
  br label %620

620:                                              ; preds = %619, %433
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  br label %622

621:                                              ; preds = %615, %397
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %3) #8
  ret void

622:                                              ; preds = %620, %410, %398, %369, %321, %275, %235, %189, %149, %109, %87
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %3) #8
  br label %623

623:                                              ; preds = %622
  %624 = load ptr, ptr %5, align 8
  %625 = load i32, ptr %6, align 4
  %626 = insertvalue { ptr, i32 } poison, ptr %624, 0
  %627 = insertvalue { ptr, i32 } %626, i32 %625, 1
  resume { ptr, i32 } %627

628:                                              ; preds = %347, %299, %253, %213, %167, %127, %78
  unreachable
}

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA32_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(32)) #3

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) #1 align 2

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

declare void @__cxa_free_exception(ptr)

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA60_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(60)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA66_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(66)) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA67_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(67)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA65_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(65)) #3

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

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

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

declare void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef, i1 noundef zeroext) #2

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

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

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

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

declare noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16)) #2

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 0}
!10 = !{!"_ZTSN6ngraph12CheckLocInfoE", !6, i64 0, !11, i64 8, !6, i64 16}
!11 = !{!"int", !7, i64 0}
!12 = !{!10, !11, i64 8}
!13 = !{!10, !6, i64 16}
!14 = !{!15, !15, i64 0}
!15 = !{!"long", !7, i64 0}
!16 = !{!17, !75, i64 752}
!17 = !{!"_ZTSN6ngraph2op2v319ExtractImagePatchesE", !18, i64 0, !69, i64 680, !74, i64 704, !69, i64 728, !75, i64 752}
!18 = !{!"_ZTSN6ngraph2op2OpE", !19, i64 0}
!19 = !{!"_ZTSN6ngraph4NodeE", !20, i64 8, !24, i64 24, !24, i64 80, !29, i64 136, !33, i64 160, !37, i64 184, !15, i64 216, !37, i64 224, !37, i64 256, !39, i64 288, !41, i64 344, !49, i64 392, !54, i64 472, !59, i64 552, !11, i64 608, !61, i64 616, !64, i64 632}
!20 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !21, i64 0}
!21 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !22, i64 0}
!22 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !23, i64 8}
!23 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!24 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !25, i64 0}
!25 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !15, i64 8, !26, i64 16, !15, i64 24, !27, i64 32, !6, i64 48}
!26 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!27 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !28, i64 0, !15, i64 8}
!28 = !{!"float", !7, i64 0}
!29 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!33 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !34, i64 0}
!34 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!37 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !38, i64 0, !15, i64 8, !7, i64 16}
!38 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!39 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !40, i64 0}
!40 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE", !6, i64 0, !15, i64 8, !26, i64 16, !15, i64 24, !27, i64 32, !6, i64 48}
!41 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !42, i64 0}
!42 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !43, i64 0}
!43 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !44, i64 0, !46, i64 8}
!44 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !45, i64 0}
!45 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!46 = !{!"_ZTSSt15_Rb_tree_header", !47, i64 0, !15, i64 32}
!47 = !{!"_ZTSSt18_Rb_tree_node_base", !48, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!48 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!49 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !52, i64 0}
!52 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !15, i64 8, !53, i64 16, !53, i64 48}
!53 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!54 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !55, i64 0}
!55 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !56, i64 0}
!56 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !57, i64 0}
!57 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !15, i64 8, !58, i64 16, !58, i64 48}
!58 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!59 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !60, i64 0}
!60 = !{!"_ZTSSt10_HashtableIPN6ngraph4NodeESt4pairIKS2_NS0_8autodiff8AdjointsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !15, i64 8, !26, i64 16, !15, i64 24, !27, i64 32, !6, i64 48}
!61 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !62, i64 0}
!62 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !63, i64 8}
!63 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!64 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !65, i64 0}
!65 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !66, i64 0}
!66 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !67, i64 0, !46, i64 8}
!67 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !68, i64 0}
!68 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!69 = !{!"_ZTSN6ngraph5ShapeE", !70, i64 0}
!70 = !{!"_ZTSSt6vectorImSaImEE", !71, i64 0}
!71 = !{!"_ZTSSt12_Vector_baseImSaImEE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!74 = !{!"_ZTSN6ngraph7StridesE", !70, i64 0}
!75 = !{!"_ZTSN6ngraph2op7PadTypeE", !7, i64 0}
!76 = !{!11, !11, i64 0}
!77 = !{i64 0, i64 8, !14, i64 8, i64 8, !14}
!78 = !{!79, !6, i64 0}
!79 = !{!"_ZTSSt16initializer_listIN6ngraph9DimensionEE", !6, i64 0, !15, i64 8}
!80 = !{!79, !15, 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::PartialShape" = type { i8, %"class.std::vector.82" }
%"class.std::vector.82" = type { %"struct.std::_Vector_base.83" }
%"struct.std::_Vector_base.83" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }

@.str = external hidden unnamed_addr constant [32 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [25 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.3 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [100 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v319ExtractImagePatches24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(756) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::PartialShape", align 8
  %3 = alloca %"class.ngraph::Dimension", align 8
  %4 = alloca %"class.ngraph::Dimension", align 8
  %5 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %6 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %9 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %12 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %15 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %18 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %21 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %24 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.ngraph::PartialShape", align 8
  %27 = alloca %"class.ngraph::Dimension", align 8
  %28 = alloca %"class.ngraph::PartialShape", align 8
  %29 = alloca %"class.ngraph::PartialShape", align 8
  %30 = alloca [4 x %"class.ngraph::Dimension"], align 8
  %31 = alloca %"class.ngraph::PartialShape", align 8
  %32 = alloca [4 x %"class.ngraph::Dimension"], align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) #9
  %33 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  call void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %33)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) #9
  %34 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %35 unwind label %53

35:                                               ; preds = %1
  %36 = extractvalue { i64, i64 } %34, 0
  store i64 %36, ptr %3, align 8
  %37 = getelementptr inbounds i8, ptr %3, i64 8
  %38 = extractvalue { i64, i64 } %34, 1
  store i64 %38, ptr %37, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #9
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %4, i64 noundef 4)
          to label %39 unwind label %55

39:                                               ; preds = %35
  %40 = invoke noundef zeroext i1 @_ZNK6ngraph9DimensioneqERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(16) %4)
          to label %41 unwind label %55

41:                                               ; preds = %39
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #9
  br i1 %40, label %68, label %42

42:                                               ; preds = %41
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %5) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5)
          to label %43 unwind label %58

43:                                               ; preds = %42
  %44 = getelementptr inbounds i8, ptr %5, i64 16
  %45 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA32_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 1 dereferenceable(32) @.str)
          to label %46 unwind label %60

46:                                               ; preds = %43
  %47 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #9
  store ptr @.str.1, ptr %6, align 8, !tbaa !5
  %48 = getelementptr inbounds i8, ptr %6, i64 8
  store i32 45, ptr %48, align 8, !tbaa !11
  %49 = getelementptr inbounds i8, ptr %6, i64 16
  store ptr @.str.2, ptr %49, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(128) %5)
          to label %50 unwind label %.thread

50:                                               ; preds = %46
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %47, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %52 unwind label %.thread134

.thread134:                                       ; preds = %50
  %51 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  br label %65

52:                                               ; preds = %50
  invoke void @__cxa_throw(ptr nonnull %47, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %374 unwind label %63

53:                                               ; preds = %1
  %54 = landingpad { ptr, i32 }
          cleanup
  br label %57

55:                                               ; preds = %39, %35
  %56 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #9
  br label %57

57:                                               ; preds = %55, %53
  %.pn = phi { ptr, i32 } [ %56, %55 ], [ %54, %53 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #9
  br label %373

58:                                               ; preds = %42
  %59 = landingpad { ptr, i32 }
          cleanup
  br label %67

60:                                               ; preds = %43
  %61 = landingpad { ptr, i32 }
          cleanup
  br label %66

.thread:                                          ; preds = %46
  %62 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  br label %65

63:                                               ; preds = %52
  %64 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  br label %66

65:                                               ; preds = %.thread134, %.thread
  %.pn126133 = phi { ptr, i32 } [ %62, %.thread ], [ %51, %.thread134 ]
  call void @__cxa_free_exception(ptr %47) #9
  br label %66

66:                                               ; preds = %63, %65, %60
  %.pn126.pn = phi { ptr, i32 } [ %.pn126133, %65 ], [ %64, %63 ], [ %61, %60 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5) #9
  br label %67

67:                                               ; preds = %66, %58
  %.pn126.pn.pn = phi { ptr, i32 } [ %.pn126.pn, %66 ], [ %59, %58 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %5) #9
  br label %373

68:                                               ; preds = %41
  %69 = getelementptr inbounds i8, ptr %0, i64 680
  %70 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  %71 = icmp eq i64 %70, 2
  br i1 %71, label %93, label %72

72:                                               ; preds = %68
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %8) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8)
          to label %73 unwind label %83

73:                                               ; preds = %72
  %74 = getelementptr inbounds i8, ptr %8, i64 16
  %75 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA60_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 1 dereferenceable(60) @.str.3)
          to label %76 unwind label %85

76:                                               ; preds = %73
  %77 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #9
  store ptr @.str.1, ptr %9, align 8, !tbaa !5
  %78 = getelementptr inbounds i8, ptr %9, i64 8
  store i32 49, ptr %78, align 8, !tbaa !11
  %79 = getelementptr inbounds i8, ptr %9, i64 16
  store ptr @.str.4, ptr %79, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(128) %8)
          to label %80 unwind label %.thread136

80:                                               ; preds = %76
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %77, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %82 unwind label %.thread140

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

82:                                               ; preds = %80
  invoke void @__cxa_throw(ptr nonnull %77, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %374 unwind label %88

83:                                               ; preds = %72
  %84 = landingpad { ptr, i32 }
          cleanup
  br label %92

85:                                               ; preds = %73
  %86 = landingpad { ptr, i32 }
          cleanup
  br label %91

.thread136:                                       ; preds = %76
  %87 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #9
  br label %90

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

90:                                               ; preds = %.thread140, %.thread136
  %.pn85139 = phi { ptr, i32 } [ %87, %.thread136 ], [ %81, %.thread140 ]
  call void @__cxa_free_exception(ptr %77) #9
  br label %91

91:                                               ; preds = %88, %90, %85
  %.pn85.pn = phi { ptr, i32 } [ %.pn85139, %90 ], [ %89, %88 ], [ %86, %85 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #9
  br label %92

92:                                               ; preds = %91, %83
  %.pn85.pn.pn = phi { ptr, i32 } [ %.pn85.pn, %91 ], [ %84, %83 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %8) #9
  br label %373

93:                                               ; preds = %68
  %94 = getelementptr inbounds i8, ptr %0, i64 704
  %95 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %94) #9
  %96 = icmp eq i64 %95, 2
  br i1 %96, label %118, label %97

97:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %11) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %11)
          to label %98 unwind label %108

98:                                               ; preds = %97
  %99 = getelementptr inbounds i8, ptr %11, i64 16
  %100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA66_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %99, ptr noundef nonnull align 1 dereferenceable(66) @.str.5)
          to label %101 unwind label %110

101:                                              ; preds = %98
  %102 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #9
  store ptr @.str.1, ptr %12, align 8, !tbaa !5
  %103 = getelementptr inbounds i8, ptr %12, i64 8
  store i32 53, ptr %103, align 8, !tbaa !11
  %104 = getelementptr inbounds i8, ptr %12, i64 16
  store ptr @.str.6, ptr %104, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(128) %11)
          to label %105 unwind label %.thread142

105:                                              ; preds = %101
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %102, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %107 unwind label %.thread146

.thread146:                                       ; preds = %105
  %106 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  br label %115

107:                                              ; preds = %105
  invoke void @__cxa_throw(ptr nonnull %102, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %374 unwind label %113

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

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

.thread142:                                       ; preds = %101
  %112 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  br label %115

113:                                              ; preds = %107
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  br label %116

115:                                              ; preds = %.thread146, %.thread142
  %.pn89145 = phi { ptr, i32 } [ %112, %.thread142 ], [ %106, %.thread146 ]
  call void @__cxa_free_exception(ptr %102) #9
  br label %116

116:                                              ; preds = %113, %115, %110
  %.pn89.pn = phi { ptr, i32 } [ %.pn89145, %115 ], [ %114, %113 ], [ %111, %110 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %11) #9
  br label %117

117:                                              ; preds = %116, %108
  %.pn89.pn.pn = phi { ptr, i32 } [ %.pn89.pn, %116 ], [ %109, %108 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %11) #9
  br label %373

118:                                              ; preds = %93
  %119 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %94, i64 noundef 0) #9
  %120 = load i64, ptr %119, align 8, !tbaa !13
  %.not = icmp eq i64 %120, 0
  br i1 %.not, label %124, label %121

121:                                              ; preds = %118
  %122 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %94, i64 noundef 1) #9
  %123 = load i64, ptr %122, align 8, !tbaa !13
  %.not93 = icmp eq i64 %123, 0
  br i1 %.not93, label %124, label %145

124:                                              ; preds = %121, %118
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %14) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %14)
          to label %125 unwind label %135

125:                                              ; preds = %124
  %126 = getelementptr inbounds i8, ptr %14, i64 16
  %127 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA67_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef nonnull align 1 dereferenceable(67) @.str.7)
          to label %128 unwind label %137

128:                                              ; preds = %125
  %129 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #9
  store ptr @.str.1, ptr %15, align 8, !tbaa !5
  %130 = getelementptr inbounds i8, ptr %15, i64 8
  store i32 57, ptr %130, align 8, !tbaa !11
  %131 = getelementptr inbounds i8, ptr %15, i64 16
  store ptr @.str.8, ptr %131, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(128) %14)
          to label %132 unwind label %.thread148

132:                                              ; preds = %128
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %129, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %134 unwind label %.thread152

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

134:                                              ; preds = %132
  invoke void @__cxa_throw(ptr nonnull %129, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %374 unwind label %140

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

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

.thread148:                                       ; preds = %128
  %139 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #9
  br label %142

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

142:                                              ; preds = %.thread152, %.thread148
  %.pn94151 = phi { ptr, i32 } [ %139, %.thread148 ], [ %133, %.thread152 ]
  call void @__cxa_free_exception(ptr %129) #9
  br label %143

143:                                              ; preds = %140, %142, %137
  %.pn94.pn = phi { ptr, i32 } [ %.pn94151, %142 ], [ %141, %140 ], [ %138, %137 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %14) #9
  br label %144

144:                                              ; preds = %143, %135
  %.pn94.pn.pn = phi { ptr, i32 } [ %.pn94.pn, %143 ], [ %136, %135 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %14) #9
  br label %373

145:                                              ; preds = %121
  %146 = getelementptr inbounds i8, ptr %0, i64 728
  %147 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %146) #9
  %148 = icmp eq i64 %147, 2
  br i1 %148, label %170, label %149

149:                                              ; preds = %145
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %17) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17)
          to label %150 unwind label %160

150:                                              ; preds = %149
  %151 = getelementptr inbounds i8, ptr %17, i64 16
  %152 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA60_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %151, ptr noundef nonnull align 1 dereferenceable(60) @.str.9)
          to label %153 unwind label %162

153:                                              ; preds = %150
  %154 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #9
  store ptr @.str.1, ptr %18, align 8, !tbaa !5
  %155 = getelementptr inbounds i8, ptr %18, i64 8
  store i32 61, ptr %155, align 8, !tbaa !11
  %156 = getelementptr inbounds i8, ptr %18, i64 16
  store ptr @.str.10, ptr %156, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(128) %17)
          to label %157 unwind label %.thread154

157:                                              ; preds = %153
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %154, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %159 unwind label %.thread158

.thread158:                                       ; preds = %157
  %158 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #9
  br label %167

159:                                              ; preds = %157
  invoke void @__cxa_throw(ptr nonnull %154, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %374 unwind label %165

160:                                              ; preds = %149
  %161 = landingpad { ptr, i32 }
          cleanup
  br label %169

162:                                              ; preds = %150
  %163 = landingpad { ptr, i32 }
          cleanup
  br label %168

.thread154:                                       ; preds = %153
  %164 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #9
  br label %167

165:                                              ; preds = %159
  %166 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #9
  br label %168

167:                                              ; preds = %.thread158, %.thread154
  %.pn98157 = phi { ptr, i32 } [ %164, %.thread154 ], [ %158, %.thread158 ]
  call void @__cxa_free_exception(ptr %154) #9
  br label %168

168:                                              ; preds = %165, %167, %162
  %.pn98.pn = phi { ptr, i32 } [ %.pn98157, %167 ], [ %166, %165 ], [ %163, %162 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %17) #9
  br label %169

169:                                              ; preds = %168, %160
  %.pn98.pn.pn = phi { ptr, i32 } [ %.pn98.pn, %168 ], [ %161, %160 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %17) #9
  br label %373

170:                                              ; preds = %145
  %171 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef 0) #9
  %172 = load i64, ptr %171, align 8, !tbaa !13
  %.not102 = icmp eq i64 %172, 0
  br i1 %.not102, label %176, label %173

173:                                              ; preds = %170
  %174 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef 1) #9
  %175 = load i64, ptr %174, align 8, !tbaa !13
  %.not103 = icmp eq i64 %175, 0
  br i1 %.not103, label %176, label %197

176:                                              ; preds = %173, %170
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %20) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20)
          to label %177 unwind label %187

177:                                              ; preds = %176
  %178 = getelementptr inbounds i8, ptr %20, i64 16
  %179 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA65_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %178, ptr noundef nonnull align 1 dereferenceable(65) @.str.11)
          to label %180 unwind label %189

180:                                              ; preds = %177
  %181 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #9
  store ptr @.str.1, ptr %21, align 8, !tbaa !5
  %182 = getelementptr inbounds i8, ptr %21, i64 8
  store i32 65, ptr %182, align 8, !tbaa !11
  %183 = getelementptr inbounds i8, ptr %21, i64 16
  store ptr @.str.12, ptr %183, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(128) %20)
          to label %184 unwind label %.thread160

184:                                              ; preds = %180
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %181, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %186 unwind label %.thread164

.thread164:                                       ; preds = %184
  %185 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #9
  br label %194

186:                                              ; preds = %184
  invoke void @__cxa_throw(ptr nonnull %181, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %374 unwind label %192

187:                                              ; preds = %176
  %188 = landingpad { ptr, i32 }
          cleanup
  br label %196

189:                                              ; preds = %177
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %195

.thread160:                                       ; preds = %180
  %191 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #9
  br label %194

192:                                              ; preds = %186
  %193 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #9
  br label %195

194:                                              ; preds = %.thread164, %.thread160
  %.pn104163 = phi { ptr, i32 } [ %191, %.thread160 ], [ %185, %.thread164 ]
  call void @__cxa_free_exception(ptr %181) #9
  br label %195

195:                                              ; preds = %192, %194, %189
  %.pn104.pn = phi { ptr, i32 } [ %.pn104163, %194 ], [ %193, %192 ], [ %190, %189 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20) #9
  br label %196

196:                                              ; preds = %195, %187
  %.pn104.pn.pn = phi { ptr, i32 } [ %.pn104.pn, %195 ], [ %188, %187 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %20) #9
  br label %373

197:                                              ; preds = %173
  %198 = getelementptr inbounds i8, ptr %0, i64 752
  %199 = load i32, ptr %198, align 8, !tbaa !15
  %.off = add i32 %199, -1
  %switch = icmp ult i32 %.off, 3
  br i1 %switch, label %221, label %200

200:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %23) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23)
          to label %201 unwind label %211

201:                                              ; preds = %200
  %202 = getelementptr inbounds i8, ptr %23, i64 16
  %203 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA73_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull align 1 dereferenceable(73) @.str.13)
          to label %204 unwind label %213

204:                                              ; preds = %201
  %205 = call ptr @__cxa_allocate_exception(i64 16) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #9
  store ptr @.str.1, ptr %24, align 8, !tbaa !5
  %206 = getelementptr inbounds i8, ptr %24, i64 8
  store i32 71, ptr %206, align 8, !tbaa !11
  %207 = getelementptr inbounds i8, ptr %24, i64 16
  store ptr @.str.14, ptr %207, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(128) %23)
          to label %208 unwind label %.thread166

208:                                              ; preds = %204
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %205, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %210 unwind label %.thread170

.thread170:                                       ; preds = %208
  %209 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #9
  br label %218

210:                                              ; preds = %208
  invoke void @__cxa_throw(ptr nonnull %205, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #10
          to label %374 unwind label %216

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

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

.thread166:                                       ; preds = %204
  %215 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #9
  br label %218

216:                                              ; preds = %210
  %217 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #9
  br label %219

218:                                              ; preds = %.thread170, %.thread166
  %.pn108169 = phi { ptr, i32 } [ %215, %.thread166 ], [ %209, %.thread170 ]
  call void @__cxa_free_exception(ptr %205) #9
  br label %219

219:                                              ; preds = %216, %218, %213
  %.pn108.pn = phi { ptr, i32 } [ %.pn108169, %218 ], [ %217, %216 ], [ %214, %213 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23) #9
  br label %220

220:                                              ; preds = %219, %211
  %.pn108.pn.pn = phi { ptr, i32 } [ %.pn108.pn, %219 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %23) #9
  br label %373

221:                                              ; preds = %197
  %222 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 1)
          to label %223 unwind label %246

223:                                              ; preds = %221
  %224 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %222)
          to label %225 unwind label %246

225:                                              ; preds = %223
  br i1 %224, label %236, label %226

226:                                              ; preds = %225
  %227 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 2)
          to label %228 unwind label %246

228:                                              ; preds = %226
  %229 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %227)
          to label %230 unwind label %246

230:                                              ; preds = %228
  br i1 %229, label %236, label %231

231:                                              ; preds = %230
  %232 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 3)
          to label %233 unwind label %246

233:                                              ; preds = %231
  %234 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %232)
          to label %235 unwind label %246

235:                                              ; preds = %233
  br i1 %234, label %236, label %253

236:                                              ; preds = %235, %230, %225
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, i1 noundef zeroext true)
          to label %237 unwind label %246

237:                                              ; preds = %236
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #9
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %27, i64 noundef 4)
          to label %238 unwind label %248

238:                                              ; preds = %237
  %239 = load i64, ptr %27, align 8
  %240 = getelementptr inbounds i8, ptr %27, i64 8
  %241 = load i64, ptr %240, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %26, i64 %239, i64 %241)
          to label %242 unwind label %248

242:                                              ; preds = %238
  %243 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %244 unwind label %250

244:                                              ; preds = %242
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %243, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %245 unwind label %250

245:                                              ; preds = %244
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  br label %372

246:                                              ; preds = %236, %233, %231, %228, %226, %223, %221
  %247 = landingpad { ptr, i32 }
          cleanup
  br label %373

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

250:                                              ; preds = %244, %242
  %251 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  br label %252

252:                                              ; preds = %250, %248
  %.pn124 = phi { ptr, i32 } [ %251, %250 ], [ %249, %248 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  br label %373

253:                                              ; preds = %235
  %254 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 1)
          to label %255 unwind label %270

255:                                              ; preds = %253
  %256 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %254)
          to label %257 unwind label %270

257:                                              ; preds = %255
  %258 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 2)
          to label %259 unwind label %272

259:                                              ; preds = %257
  %260 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %258)
          to label %261 unwind label %272

261:                                              ; preds = %259
  %262 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 3)
          to label %263 unwind label %274

263:                                              ; preds = %261
  %264 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %262)
          to label %265 unwind label %274

265:                                              ; preds = %263
  %266 = and i64 %260, 4294967295
  %267 = icmp eq i64 %266, 0
  %268 = and i64 %264, 4294967295
  %269 = icmp eq i64 %268, 0
  %or.cond = or i1 %267, %269
  br i1 %or.cond, label %313, label %276

270:                                              ; preds = %255, %253
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %373

272:                                              ; preds = %259, %257
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %373

274:                                              ; preds = %263, %261
  %275 = landingpad { ptr, i32 }
          cleanup
  br label %373

276:                                              ; preds = %265
  %277 = load i32, ptr %198, align 8, !tbaa !15
  %278 = icmp eq i32 %277, 3
  br i1 %278, label %279, label %300

279:                                              ; preds = %276
  %280 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef 0) #9
  %281 = load i64, ptr %280, align 8, !tbaa !13
  %282 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef 0) #9
  %283 = load i64, ptr %282, align 8, !tbaa !13
  %284 = add i64 %283, 4294967295
  %285 = mul i64 %284, %281
  %286 = xor i64 %285, -1
  %287 = add i64 %260, %286
  %sext113 = shl i64 %287, 32
  %288 = ashr exact i64 %sext113, 32
  %289 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %94, i64 noundef 0) #9
  %290 = load i64, ptr %289, align 8, !tbaa !13
  %291 = udiv i64 %288, %290
  %292 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef 1) #9
  %293 = load i64, ptr %292, align 8, !tbaa !13
  %294 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef 1) #9
  %295 = load i64, ptr %294, align 8, !tbaa !13
  %296 = add i64 %295, 4294967295
  %297 = mul i64 %296, %293
  %298 = xor i64 %297, -1
  %299 = add i64 %264, %298
  %sext114 = shl i64 %299, 32
  br label %.sink.split

300:                                              ; preds = %276
  %301 = shl i64 %260, 32
  %sext = add i64 %301, -4294967296
  %302 = ashr exact i64 %sext, 32
  %303 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %94, i64 noundef 0) #9
  %304 = load i64, ptr %303, align 8, !tbaa !13
  %305 = udiv i64 %302, %304
  %306 = shl i64 %264, 32
  %sext112 = add i64 %306, -4294967296
  br label %.sink.split

.sink.split:                                      ; preds = %300, %279
  %sext114.sink = phi i64 [ %sext114, %279 ], [ %sext112, %300 ]
  %.078.ph.in.in = phi i64 [ %291, %279 ], [ %305, %300 ]
  %.078.ph.in = trunc i64 %.078.ph.in.in to i32
  %.078.ph = add i32 %.078.ph.in, 1
  %307 = ashr exact i64 %sext114.sink, 32
  %308 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %94, i64 noundef 1) #9
  %309 = load i64, ptr %308, align 8, !tbaa !13
  %310 = udiv i64 %307, %309
  %311 = trunc i64 %310 to i32
  %312 = add i32 %311, 1
  br label %313

313:                                              ; preds = %.sink.split, %265
  %.078 = phi i32 [ 0, %265 ], [ %.078.ph, %.sink.split ]
  %.077 = phi i32 [ 0, %265 ], [ %312, %.sink.split ]
  %spec.store.select = call i32 @llvm.smax.i32(i32 %.078, i32 0)
  %spec.store.select4 = call i32 @llvm.smax.i32(i32 %.077, i32 0)
  %sext115 = shl i64 %256, 32
  %314 = ashr exact i64 %sext115, 32
  %315 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef 0) #9
  %316 = load i64, ptr %315, align 8, !tbaa !13
  %317 = mul i64 %316, %314
  %318 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef 1) #9
  %319 = load i64, ptr %318, align 8, !tbaa !13
  %320 = mul i64 %317, %319
  %321 = zext nneg i32 %spec.store.select to i64
  %322 = zext nneg i32 %spec.store.select4 to i64
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #9
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %323 unwind label %339

323:                                              ; preds = %313
  %324 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 0)
          to label %325 unwind label %341

325:                                              ; preds = %323
  %326 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %324)
          to label %327 unwind label %341

327:                                              ; preds = %325
  br i1 %326, label %328, label %345

328:                                              ; preds = %327
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %30) #9
  %329 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 0)
          to label %330 unwind label %343

330:                                              ; preds = %328
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %30, ptr noundef nonnull align 8 dereferenceable(16) %329, i64 16, i1 false), !tbaa.struct !75
  %331 = getelementptr inbounds i8, ptr %30, i64 16
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %331, i64 noundef %320)
          to label %332 unwind label %343

332:                                              ; preds = %330
  %333 = getelementptr inbounds i8, ptr %30, i64 32
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %333, i64 noundef %321)
          to label %334 unwind label %343

334:                                              ; preds = %332
  %335 = getelementptr inbounds i8, ptr %30, i64 48
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %335, i64 noundef %322)
          to label %336 unwind label %343

336:                                              ; preds = %334
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr nonnull %30, i64 4)
          to label %337 unwind label %343

337:                                              ; preds = %336
  %338 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  br label %363

339:                                              ; preds = %313
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %371

341:                                              ; preds = %368, %366, %364, %325, %323
  %342 = landingpad { ptr, i32 }
          cleanup
  br label %370

343:                                              ; preds = %336, %334, %332, %330, %328
  %344 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  br label %370

345:                                              ; preds = %327
  %346 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 0)
          to label %347 unwind label %359

347:                                              ; preds = %345
  %348 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %346)
          to label %349 unwind label %359

349:                                              ; preds = %347
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #9
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %32) #9
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef %348)
          to label %350 unwind label %361

350:                                              ; preds = %349
  %351 = getelementptr inbounds i8, ptr %32, i64 16
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %351, i64 noundef %320)
          to label %352 unwind label %361

352:                                              ; preds = %350
  %353 = getelementptr inbounds i8, ptr %32, i64 32
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %353, i64 noundef %321)
          to label %354 unwind label %361

354:                                              ; preds = %352
  %355 = getelementptr inbounds i8, ptr %32, i64 48
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %355, i64 noundef %322)
          to label %356 unwind label %361

356:                                              ; preds = %354
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr nonnull %32, i64 4)
          to label %357 unwind label %361

357:                                              ; preds = %356
  %358 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  br label %363

359:                                              ; preds = %347, %345
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %370

361:                                              ; preds = %356, %354, %352, %350, %349
  %362 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  br label %370

363:                                              ; preds = %357, %337
  br i1 %or.cond, label %364, label %366

364:                                              ; preds = %363
  %365 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %366 unwind label %341

366:                                              ; preds = %364, %363
  %367 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %368 unwind label %341

368:                                              ; preds = %366
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %367, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %369 unwind label %341

369:                                              ; preds = %368
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #9
  br label %372

370:                                              ; preds = %359, %361, %343, %341
  %.pn118 = phi { ptr, i32 } [ %342, %341 ], [ %344, %343 ], [ %362, %361 ], [ %360, %359 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #9
  br label %371

371:                                              ; preds = %370, %339
  %.pn118.pn = phi { ptr, i32 } [ %.pn118, %370 ], [ %340, %339 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #9
  br label %373

372:                                              ; preds = %369, %245
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #9
  ret void

373:                                              ; preds = %270, %274, %371, %272, %252, %246, %220, %196, %169, %144, %117, %92, %67, %57
  %.pn126.pn.pn.pn = phi { ptr, i32 } [ %.pn126.pn.pn, %67 ], [ %.pn124, %252 ], [ %247, %246 ], [ %.pn108.pn.pn, %220 ], [ %.pn104.pn.pn, %196 ], [ %.pn98.pn.pn, %169 ], [ %.pn94.pn.pn, %144 ], [ %.pn89.pn.pn, %117 ], [ %.pn85.pn.pn, %92 ], [ %.pn, %57 ], [ %271, %270 ], [ %273, %272 ], [ %.pn118.pn, %371 ], [ %275, %274 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #9
  resume { ptr, i32 } %.pn126.pn.pn.pn

374:                                              ; preds = %210, %186, %159, %134, %107, %82, %52
  unreachable
}

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA32_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #3

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA60_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(60)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA66_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(66)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA67_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(67)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA65_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(65)) local_unnamed_addr #3

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

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

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

declare void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef, i1 noundef zeroext) local_unnamed_addr #2

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

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

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

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

declare noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #2

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

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

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

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smax.i32(i32, i32) #8

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

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

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


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