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

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

%"class.ngraph::element::Type" = type { i32 }
%"class.std::__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.ngraph::PartialShape" = type { i8, %"class.std::vector.130" }
%"class.std::vector.130" = type { %"struct.std::_Vector_base.131" }
%"struct.std::_Vector_base.131" = 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.std::initializer_list.135" = type { ptr, i64 }
%"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::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.81" }
%"class.std::vector.81" = type { %"struct.std::_Vector_base.82" }
%"struct.std::_Vector_base.82" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }

@_ZN6ngraph7element3i64E = external global %"class.ngraph::element::Type", align 4
@.str.1 = external hidden unnamed_addr constant [93 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.5 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [58 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: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v117NonMaxSuppression24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(685) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.ngraph::PartialShape", align 8
  %4 = alloca %"class.ngraph::PartialShape", align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca %"class.ngraph::PartialShape", align 8
  %9 = alloca %"class.std::initializer_list.135", align 8
  %10 = alloca [2 x %"class.ngraph::Dimension"], align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.ngraph::Dimension", align 8
  %13 = alloca %"class.ngraph::Dimension", 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 i1, align 1
  %18 = alloca %"class.ngraph::Dimension", align 8
  %19 = alloca %"class.ngraph::Dimension", 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 i1, align 1
  %24 = alloca %"class.ngraph::PartialShape", align 8
  %25 = alloca %"class.ngraph::Shape", align 8
  %26 = alloca i1, align 1
  %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.ngraph::PartialShape", align 8
  %33 = alloca %"class.ngraph::Shape", align 8
  %34 = alloca i1, align 1
  %35 = alloca i1, align 1
  %36 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %37 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca i1, align 1
  %40 = alloca %"class.ngraph::PartialShape", align 8
  %41 = alloca %"class.ngraph::Shape", align 8
  %42 = alloca i1, align 1
  %43 = alloca i1, align 1
  %44 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %45 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca i1, align 1
  %48 = alloca %"class.ngraph::Dimension", align 8
  %49 = alloca %"class.ngraph::Dimension", align 8
  %50 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %51 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca i1, align 1
  %54 = alloca %"class.ngraph::Dimension", align 8
  %55 = alloca %"class.ngraph::Dimension", align 8
  %56 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %57 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca i1, align 1
  %60 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %61 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca i1, align 1
  %64 = alloca %"class.std::shared_ptr.74", align 8
  %65 = alloca %"class.ngraph::Output", align 8
  %66 = alloca i64, align 8
  %67 = alloca i64, align 8
  %68 = alloca i64, align 8
  %69 = alloca %"class.ngraph::Dimension", align 8
  %70 = alloca i64, align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %71 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %3) #8
  %72 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 0)
  call void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %72)
  call void @llvm.lifetime.start.p0(i64 32, ptr %4) #8
  %73 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 1)
          to label %74 unwind label %99

74:                                               ; preds = %1
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %75 unwind label %99

75:                                               ; preds = %74
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #8
  store ptr @_ZN6ngraph7element3i64E, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #8
  %76 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %77 unwind label %103

77:                                               ; preds = %75
  %78 = getelementptr inbounds %"class.ngraph::Dimension", ptr %10, i32 0, i32 0
  %79 = getelementptr inbounds { i64, i64 }, ptr %78, i32 0, i32 0
  %80 = extractvalue { i64, i64 } %76, 0
  store i64 %80, ptr %79, align 8
  %81 = getelementptr inbounds { i64, i64 }, ptr %78, i32 0, i32 1
  %82 = extractvalue { i64, i64 } %76, 1
  store i64 %82, ptr %81, align 8
  %83 = getelementptr inbounds %"class.ngraph::Dimension", ptr %10, i64 1
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %83, i64 noundef 3)
          to label %84 unwind label %103

84:                                               ; preds = %77
  %85 = getelementptr inbounds %"class.std::initializer_list.135", ptr %9, i32 0, i32 0
  store ptr %10, ptr %85, align 8, !tbaa !9
  %86 = getelementptr inbounds %"class.std::initializer_list.135", ptr %9, i32 0, i32 1
  store i64 2, ptr %86, align 8, !tbaa !12
  %87 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0
  %88 = load ptr, ptr %87, align 8
  %89 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1
  %90 = load i64, ptr %89, align 8
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr %88, i64 %90)
          to label %91 unwind label %103

91:                                               ; preds = %84
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  %92 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %93 unwind label %107

93:                                               ; preds = %91
  br i1 %92, label %97, label %94

94:                                               ; preds = %93
  %95 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %96 unwind label %107

96:                                               ; preds = %94
  br i1 %95, label %97, label %111

97:                                               ; preds = %96, %93
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3i64E, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %98 unwind label %107

98:                                               ; preds = %97
  store i32 1, ptr %11, align 4
  br label %704

99:                                               ; preds = %74, %1
  %100 = landingpad { ptr, i32 }
          cleanup
  %101 = extractvalue { ptr, i32 } %100, 0
  store ptr %101, ptr %5, align 8
  %102 = extractvalue { ptr, i32 } %100, 1
  store i32 %102, ptr %6, align 4
  br label %721

103:                                              ; preds = %84, %77, %75
  %104 = landingpad { ptr, i32 }
          cleanup
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %5, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  br label %720

107:                                              ; preds = %97, %94, %91
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %5, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %6, align 4
  br label %719

111:                                              ; preds = %96
  br label %112

112:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #8
  %113 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %114 unwind label %147

114:                                              ; preds = %112
  %115 = getelementptr inbounds %"class.ngraph::Dimension", ptr %12, i32 0, i32 0
  %116 = getelementptr inbounds { i64, i64 }, ptr %115, i32 0, i32 0
  %117 = extractvalue { i64, i64 } %113, 0
  store i64 %117, ptr %116, align 8
  %118 = getelementptr inbounds { i64, i64 }, ptr %115, i32 0, i32 1
  %119 = extractvalue { i64, i64 } %113, 1
  store i64 %119, ptr %118, align 8
  %120 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %121 unwind label %147

121:                                              ; preds = %114
  br i1 %120, label %122, label %133

122:                                              ; preds = %121
  %123 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %124 unwind label %151

124:                                              ; preds = %122
  %125 = getelementptr inbounds %"class.ngraph::Dimension", ptr %13, i32 0, i32 0
  %126 = getelementptr inbounds { i64, i64 }, ptr %125, i32 0, i32 0
  %127 = extractvalue { i64, i64 } %123, 0
  store i64 %127, ptr %126, align 8
  %128 = getelementptr inbounds { i64, i64 }, ptr %125, i32 0, i32 1
  %129 = extractvalue { i64, i64 } %123, 1
  store i64 %129, ptr %128, align 8
  %130 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %13)
          to label %131 unwind label %151

131:                                              ; preds = %124
  %132 = icmp eq i64 %130, 3
  br label %133

133:                                              ; preds = %131, %121
  %134 = phi i1 [ false, %121 ], [ %132, %131 ]
  %135 = xor i1 %134, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #8
  br i1 %135, label %136, label %178

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

137:                                              ; preds = %136
  %138 = getelementptr inbounds i8, ptr %14, i64 16
  %139 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA50_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %138, ptr noundef nonnull align 1 dereferenceable(50) @.str.5, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %140 unwind label %160

140:                                              ; preds = %137
  store i1 true, ptr %17, align 1
  %141 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #8
  %142 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %15, i32 0, i32 0
  store ptr @.str.1, ptr %142, align 8, !tbaa !13
  %143 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %15, i32 0, i32 1
  store i32 129, ptr %143, align 8, !tbaa !16
  %144 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %15, i32 0, i32 2
  store ptr @.str.6, ptr %144, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(128) %14)
          to label %145 unwind label %164

145:                                              ; preds = %140
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %141, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %146 unwind label %168

146:                                              ; preds = %145
  store i1 false, ptr %17, align 1
  invoke void @__cxa_throw(ptr %141, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %727 unwind label %168

147:                                              ; preds = %114, %112
  %148 = landingpad { ptr, i32 }
          cleanup
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %5, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %6, align 4
  br label %155

151:                                              ; preds = %124, %122
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %5, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #8
  br label %155

155:                                              ; preds = %151, %147
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #8
  br label %719

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

160:                                              ; preds = %137
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %5, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %6, align 4
  br label %176

164:                                              ; preds = %140
  %165 = landingpad { ptr, i32 }
          cleanup
  %166 = extractvalue { ptr, i32 } %165, 0
  store ptr %166, ptr %5, align 8
  %167 = extractvalue { ptr, i32 } %165, 1
  store i32 %167, ptr %6, align 4
  br label %172

168:                                              ; preds = %146, %145
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  br label %172

172:                                              ; preds = %168, %164
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #8
  %173 = load i1, ptr %17, align 1
  br i1 %173, label %174, label %175

174:                                              ; preds = %172
  call void @__cxa_free_exception(ptr %141) #8
  br label %175

175:                                              ; preds = %174, %172
  br label %176

176:                                              ; preds = %175, %160
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %14) #8
  br label %177

177:                                              ; preds = %176, %156
  call void @llvm.lifetime.end.p0(i64 392, ptr %14) #8
  br label %719

178:                                              ; preds = %133
  br label %179

179:                                              ; preds = %178
  br label %180

180:                                              ; preds = %179
  br label %181

181:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #8
  %182 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %183 unwind label %216

183:                                              ; preds = %181
  %184 = getelementptr inbounds %"class.ngraph::Dimension", ptr %18, i32 0, i32 0
  %185 = getelementptr inbounds { i64, i64 }, ptr %184, i32 0, i32 0
  %186 = extractvalue { i64, i64 } %182, 0
  store i64 %186, ptr %185, align 8
  %187 = getelementptr inbounds { i64, i64 }, ptr %184, i32 0, i32 1
  %188 = extractvalue { i64, i64 } %182, 1
  store i64 %188, ptr %187, align 8
  %189 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %190 unwind label %216

190:                                              ; preds = %183
  br i1 %189, label %191, label %202

191:                                              ; preds = %190
  %192 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %193 unwind label %220

193:                                              ; preds = %191
  %194 = getelementptr inbounds %"class.ngraph::Dimension", ptr %19, i32 0, i32 0
  %195 = getelementptr inbounds { i64, i64 }, ptr %194, i32 0, i32 0
  %196 = extractvalue { i64, i64 } %192, 0
  store i64 %196, ptr %195, align 8
  %197 = getelementptr inbounds { i64, i64 }, ptr %194, i32 0, i32 1
  %198 = extractvalue { i64, i64 } %192, 1
  store i64 %198, ptr %197, align 8
  %199 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %200 unwind label %220

200:                                              ; preds = %193
  %201 = icmp eq i64 %199, 3
  br label %202

202:                                              ; preds = %200, %190
  %203 = phi i1 [ false, %190 ], [ %201, %200 ]
  %204 = xor i1 %203, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #8
  br i1 %204, label %205, label %247

205:                                              ; preds = %202
  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 %206 unwind label %225

206:                                              ; preds = %205
  %207 = getelementptr inbounds i8, ptr %20, i64 16
  %208 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA51_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %207, ptr noundef nonnull align 1 dereferenceable(51) @.str.7, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %209 unwind label %229

209:                                              ; preds = %206
  store i1 true, ptr %23, align 1
  %210 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #8
  %211 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 0
  store ptr @.str.1, ptr %211, align 8, !tbaa !13
  %212 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 1
  store i32 134, ptr %212, align 8, !tbaa !16
  %213 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 2
  store ptr @.str.8, ptr %213, align 8, !tbaa !17
  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 %214 unwind label %233

214:                                              ; preds = %209
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %210, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %215 unwind label %237

215:                                              ; preds = %214
  store i1 false, ptr %23, align 1
  invoke void @__cxa_throw(ptr %210, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %727 unwind label %237

216:                                              ; preds = %183, %181
  %217 = landingpad { ptr, i32 }
          cleanup
  %218 = extractvalue { ptr, i32 } %217, 0
  store ptr %218, ptr %5, align 8
  %219 = extractvalue { ptr, i32 } %217, 1
  store i32 %219, ptr %6, align 4
  br label %224

220:                                              ; preds = %193, %191
  %221 = landingpad { ptr, i32 }
          cleanup
  %222 = extractvalue { ptr, i32 } %221, 0
  store ptr %222, ptr %5, align 8
  %223 = extractvalue { ptr, i32 } %221, 1
  store i32 %223, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #8
  br label %224

224:                                              ; preds = %220, %216
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #8
  br label %719

225:                                              ; preds = %205
  %226 = landingpad { ptr, i32 }
          cleanup
  %227 = extractvalue { ptr, i32 } %226, 0
  store ptr %227, ptr %5, align 8
  %228 = extractvalue { ptr, i32 } %226, 1
  store i32 %228, ptr %6, align 4
  br label %246

229:                                              ; preds = %206
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %5, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %6, align 4
  br label %245

233:                                              ; preds = %209
  %234 = landingpad { ptr, i32 }
          cleanup
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %5, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %6, align 4
  br label %241

237:                                              ; preds = %215, %214
  %238 = landingpad { ptr, i32 }
          cleanup
  %239 = extractvalue { ptr, i32 } %238, 0
  store ptr %239, ptr %5, align 8
  %240 = extractvalue { ptr, i32 } %238, 1
  store i32 %240, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %241

241:                                              ; preds = %237, %233
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  %242 = load i1, ptr %23, align 1
  br i1 %242, label %243, label %244

243:                                              ; preds = %241
  call void @__cxa_free_exception(ptr %210) #8
  br label %244

244:                                              ; preds = %243, %241
  br label %245

245:                                              ; preds = %244, %229
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20) #8
  br label %246

246:                                              ; preds = %245, %225
  call void @llvm.lifetime.end.p0(i64 392, ptr %20) #8
  br label %719

247:                                              ; preds = %202
  br label %248

248:                                              ; preds = %247
  br label %249

249:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #8
  %250 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 2)
          to label %251 unwind label %280

251:                                              ; preds = %249
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %250)
          to label %252 unwind label %280

252:                                              ; preds = %251
  br label %253

253:                                              ; preds = %252
  store i1 false, ptr %26, align 1
  store i1 false, ptr %27, align 1
  %254 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %255 unwind label %284

255:                                              ; preds = %253
  br i1 %254, label %260, label %256

256:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 24, ptr %25) #8
  store i1 true, ptr %26, align 1
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %257 unwind label %288

257:                                              ; preds = %256
  store i1 true, ptr %27, align 1
  %258 = invoke noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %25)
          to label %259 unwind label %292

259:                                              ; preds = %257
  br label %260

260:                                              ; preds = %259, %255
  %261 = phi i1 [ true, %255 ], [ %258, %259 ]
  %262 = xor i1 %261, true
  %263 = load i1, ptr %27, align 1
  br i1 %263, label %264, label %265

264:                                              ; preds = %260
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  br label %265

265:                                              ; preds = %264, %260
  %266 = load i1, ptr %26, align 1
  br i1 %266, label %267, label %268

267:                                              ; preds = %265
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #8
  br label %268

268:                                              ; preds = %267, %265
  br i1 %262, label %269, label %325

269:                                              ; preds = %268
  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 %270 unwind label %303

270:                                              ; preds = %269
  %271 = getelementptr inbounds i8, ptr %28, i64 16
  %272 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %271, ptr noundef nonnull align 1 dereferenceable(68) @.str.9, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %273 unwind label %307

273:                                              ; preds = %270
  store i1 true, ptr %31, align 1
  %274 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #8
  %275 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 0
  store ptr @.str.1, ptr %275, align 8, !tbaa !13
  %276 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 1
  store i32 140, ptr %276, align 8, !tbaa !16
  %277 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %29, i32 0, i32 2
  store ptr @.str.10, ptr %277, align 8, !tbaa !17
  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 %278 unwind label %311

278:                                              ; preds = %273
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %274, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %279 unwind label %315

279:                                              ; preds = %278
  store i1 false, ptr %31, align 1
  invoke void @__cxa_throw(ptr %274, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %727 unwind label %315

280:                                              ; preds = %251, %249
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %5, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %6, align 4
  br label %718

284:                                              ; preds = %253
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %5, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %6, align 4
  br label %717

288:                                              ; preds = %256
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %5, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %6, align 4
  br label %299

292:                                              ; preds = %257
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %5, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %6, align 4
  %296 = load i1, ptr %27, align 1
  br i1 %296, label %297, label %298

297:                                              ; preds = %292
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #8
  br label %298

298:                                              ; preds = %297, %292
  br label %299

299:                                              ; preds = %298, %288
  %300 = load i1, ptr %26, align 1
  br i1 %300, label %301, label %302

301:                                              ; preds = %299
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #8
  br label %302

302:                                              ; preds = %301, %299
  br label %717

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

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

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

315:                                              ; preds = %279, %278
  %316 = landingpad { ptr, i32 }
          cleanup
  %317 = extractvalue { ptr, i32 } %316, 0
  store ptr %317, ptr %5, align 8
  %318 = extractvalue { ptr, i32 } %316, 1
  store i32 %318, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  br label %319

319:                                              ; preds = %315, %311
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  %320 = load i1, ptr %31, align 1
  br i1 %320, label %321, label %322

321:                                              ; preds = %319
  call void @__cxa_free_exception(ptr %274) #8
  br label %322

322:                                              ; preds = %321, %319
  br label %323

323:                                              ; preds = %322, %307
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28) #8
  br label %324

324:                                              ; preds = %323, %303
  call void @llvm.lifetime.end.p0(i64 392, ptr %28) #8
  br label %717

325:                                              ; preds = %268
  br label %326

326:                                              ; preds = %325
  br label %327

327:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #8
  %328 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 3)
          to label %329 unwind label %358

329:                                              ; preds = %327
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %328)
          to label %330 unwind label %358

330:                                              ; preds = %329
  br label %331

331:                                              ; preds = %330
  store i1 false, ptr %34, align 1
  store i1 false, ptr %35, align 1
  %332 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %333 unwind label %362

333:                                              ; preds = %331
  br i1 %332, label %338, label %334

334:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #8
  store i1 true, ptr %34, align 1
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %335 unwind label %366

335:                                              ; preds = %334
  store i1 true, ptr %35, align 1
  %336 = invoke noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %337 unwind label %370

337:                                              ; preds = %335
  br label %338

338:                                              ; preds = %337, %333
  %339 = phi i1 [ true, %333 ], [ %336, %337 ]
  %340 = xor i1 %339, true
  %341 = load i1, ptr %35, align 1
  br i1 %341, label %342, label %343

342:                                              ; preds = %338
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  br label %343

343:                                              ; preds = %342, %338
  %344 = load i1, ptr %34, align 1
  br i1 %344, label %345, label %346

345:                                              ; preds = %343
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #8
  br label %346

346:                                              ; preds = %345, %343
  br i1 %340, label %347, label %403

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

348:                                              ; preds = %347
  %349 = getelementptr inbounds i8, ptr %36, i64 16
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA55_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %349, ptr noundef nonnull align 1 dereferenceable(55) @.str.11, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %351 unwind label %385

351:                                              ; preds = %348
  store i1 true, ptr %39, align 1
  %352 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %37) #8
  %353 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %37, i32 0, i32 0
  store ptr @.str.1, ptr %353, align 8, !tbaa !13
  %354 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %37, i32 0, i32 1
  store i32 146, ptr %354, align 8, !tbaa !16
  %355 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %37, i32 0, i32 2
  store ptr @.str.12, ptr %355, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(128) %36)
          to label %356 unwind label %389

356:                                              ; preds = %351
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %352, ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %357 unwind label %393

357:                                              ; preds = %356
  store i1 false, ptr %39, align 1
  invoke void @__cxa_throw(ptr %352, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %727 unwind label %393

358:                                              ; preds = %329, %327
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %5, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %6, align 4
  br label %716

362:                                              ; preds = %331
  %363 = landingpad { ptr, i32 }
          cleanup
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %5, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %6, align 4
  br label %715

366:                                              ; preds = %334
  %367 = landingpad { ptr, i32 }
          cleanup
  %368 = extractvalue { ptr, i32 } %367, 0
  store ptr %368, ptr %5, align 8
  %369 = extractvalue { ptr, i32 } %367, 1
  store i32 %369, ptr %6, align 4
  br label %377

370:                                              ; preds = %335
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %5, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %6, align 4
  %374 = load i1, ptr %35, align 1
  br i1 %374, label %375, label %376

375:                                              ; preds = %370
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #8
  br label %376

376:                                              ; preds = %375, %370
  br label %377

377:                                              ; preds = %376, %366
  %378 = load i1, ptr %34, align 1
  br i1 %378, label %379, label %380

379:                                              ; preds = %377
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #8
  br label %380

380:                                              ; preds = %379, %377
  br label %715

381:                                              ; preds = %347
  %382 = landingpad { ptr, i32 }
          cleanup
  %383 = extractvalue { ptr, i32 } %382, 0
  store ptr %383, ptr %5, align 8
  %384 = extractvalue { ptr, i32 } %382, 1
  store i32 %384, ptr %6, align 4
  br label %402

385:                                              ; preds = %348
  %386 = landingpad { ptr, i32 }
          cleanup
  %387 = extractvalue { ptr, i32 } %386, 0
  store ptr %387, ptr %5, align 8
  %388 = extractvalue { ptr, i32 } %386, 1
  store i32 %388, ptr %6, align 4
  br label %401

389:                                              ; preds = %351
  %390 = landingpad { ptr, i32 }
          cleanup
  %391 = extractvalue { ptr, i32 } %390, 0
  store ptr %391, ptr %5, align 8
  %392 = extractvalue { ptr, i32 } %390, 1
  store i32 %392, ptr %6, align 4
  br label %397

393:                                              ; preds = %357, %356
  %394 = landingpad { ptr, i32 }
          cleanup
  %395 = extractvalue { ptr, i32 } %394, 0
  store ptr %395, ptr %5, align 8
  %396 = extractvalue { ptr, i32 } %394, 1
  store i32 %396, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  br label %397

397:                                              ; preds = %393, %389
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #8
  %398 = load i1, ptr %39, align 1
  br i1 %398, label %399, label %400

399:                                              ; preds = %397
  call void @__cxa_free_exception(ptr %352) #8
  br label %400

400:                                              ; preds = %399, %397
  br label %401

401:                                              ; preds = %400, %385
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %36) #8
  br label %402

402:                                              ; preds = %401, %381
  call void @llvm.lifetime.end.p0(i64 392, ptr %36) #8
  br label %715

403:                                              ; preds = %346
  br label %404

404:                                              ; preds = %403
  br label %405

405:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #8
  %406 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 4)
          to label %407 unwind label %436

407:                                              ; preds = %405
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(32) %406)
          to label %408 unwind label %436

408:                                              ; preds = %407
  br label %409

409:                                              ; preds = %408
  store i1 false, ptr %42, align 1
  store i1 false, ptr %43, align 1
  %410 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %411 unwind label %440

411:                                              ; preds = %409
  br i1 %410, label %416, label %412

412:                                              ; preds = %411
  call void @llvm.lifetime.start.p0(i64 24, ptr %41) #8
  store i1 true, ptr %42, align 1
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %413 unwind label %444

413:                                              ; preds = %412
  store i1 true, ptr %43, align 1
  %414 = invoke noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %415 unwind label %448

415:                                              ; preds = %413
  br label %416

416:                                              ; preds = %415, %411
  %417 = phi i1 [ true, %411 ], [ %414, %415 ]
  %418 = xor i1 %417, true
  %419 = load i1, ptr %43, align 1
  br i1 %419, label %420, label %421

420:                                              ; preds = %416
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  br label %421

421:                                              ; preds = %420, %416
  %422 = load i1, ptr %42, align 1
  br i1 %422, label %423, label %424

423:                                              ; preds = %421
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #8
  br label %424

424:                                              ; preds = %423, %421
  br i1 %418, label %425, label %481

425:                                              ; preds = %424
  call void @llvm.lifetime.start.p0(i64 392, ptr %44) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %44)
          to label %426 unwind label %459

426:                                              ; preds = %425
  %427 = getelementptr inbounds i8, ptr %44, i64 16
  %428 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA57_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %427, ptr noundef nonnull align 1 dereferenceable(57) @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %429 unwind label %463

429:                                              ; preds = %426
  store i1 true, ptr %47, align 1
  %430 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #8
  %431 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %45, i32 0, i32 0
  store ptr @.str.1, ptr %431, align 8, !tbaa !13
  %432 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %45, i32 0, i32 1
  store i32 153, ptr %432, align 8, !tbaa !16
  %433 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %45, i32 0, i32 2
  store ptr @.str.14, ptr %433, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(128) %44)
          to label %434 unwind label %467

434:                                              ; preds = %429
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %430, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %435 unwind label %471

435:                                              ; preds = %434
  store i1 false, ptr %47, align 1
  invoke void @__cxa_throw(ptr %430, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %727 unwind label %471

436:                                              ; preds = %407, %405
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %5, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %6, align 4
  br label %714

440:                                              ; preds = %409
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %5, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %6, align 4
  br label %713

444:                                              ; preds = %412
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %5, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %6, align 4
  br label %455

448:                                              ; preds = %413
  %449 = landingpad { ptr, i32 }
          cleanup
  %450 = extractvalue { ptr, i32 } %449, 0
  store ptr %450, ptr %5, align 8
  %451 = extractvalue { ptr, i32 } %449, 1
  store i32 %451, ptr %6, align 4
  %452 = load i1, ptr %43, align 1
  br i1 %452, label %453, label %454

453:                                              ; preds = %448
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  br label %454

454:                                              ; preds = %453, %448
  br label %455

455:                                              ; preds = %454, %444
  %456 = load i1, ptr %42, align 1
  br i1 %456, label %457, label %458

457:                                              ; preds = %455
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #8
  br label %458

458:                                              ; preds = %457, %455
  br label %713

459:                                              ; preds = %425
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %5, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %6, align 4
  br label %480

463:                                              ; preds = %426
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %5, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %6, align 4
  br label %479

467:                                              ; preds = %429
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %5, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %6, align 4
  br label %475

471:                                              ; preds = %435, %434
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %5, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %475

475:                                              ; preds = %471, %467
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  %476 = load i1, ptr %47, align 1
  br i1 %476, label %477, label %478

477:                                              ; preds = %475
  call void @__cxa_free_exception(ptr %430) #8
  br label %478

478:                                              ; preds = %477, %475
  br label %479

479:                                              ; preds = %478, %463
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %44) #8
  br label %480

480:                                              ; preds = %479, %459
  call void @llvm.lifetime.end.p0(i64 392, ptr %44) #8
  br label %713

481:                                              ; preds = %424
  br label %482

482:                                              ; preds = %481
  br label %483

483:                                              ; preds = %482
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #8
  %484 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 0)
          to label %485 unwind label %502

485:                                              ; preds = %483
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %48, ptr align 8 %484, i64 16, i1 false), !tbaa.struct !18
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #8
  %486 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 0)
          to label %487 unwind label %506

487:                                              ; preds = %485
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %49, ptr align 8 %486, i64 16, i1 false), !tbaa.struct !18
  br label %488

488:                                              ; preds = %487
  %489 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %48, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %490 unwind label %506

490:                                              ; preds = %488
  br i1 %489, label %532, label %491

491:                                              ; preds = %490
  call void @llvm.lifetime.start.p0(i64 392, ptr %50) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %50)
          to label %492 unwind label %510

492:                                              ; preds = %491
  %493 = getelementptr inbounds i8, ptr %50, i64 16
  %494 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA69_cJRKNS_9DimensionERA11_KcS4_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %493, ptr noundef nonnull align 1 dereferenceable(69) @.str.15, ptr noundef nonnull align 8 dereferenceable(16) %48, ptr noundef nonnull align 1 dereferenceable(11) @.str.16, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %495 unwind label %514

495:                                              ; preds = %492
  store i1 true, ptr %53, align 1
  %496 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #8
  %497 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %51, i32 0, i32 0
  store ptr @.str.1, ptr %497, align 8, !tbaa !13
  %498 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %51, i32 0, i32 1
  store i32 162, ptr %498, align 8, !tbaa !16
  %499 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %51, i32 0, i32 2
  store ptr @.str.17, ptr %499, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(128) %50)
          to label %500 unwind label %518

500:                                              ; preds = %495
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %496, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %501 unwind label %522

501:                                              ; preds = %500
  store i1 false, ptr %53, align 1
  invoke void @__cxa_throw(ptr %496, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %727 unwind label %522

502:                                              ; preds = %483
  %503 = landingpad { ptr, i32 }
          cleanup
  %504 = extractvalue { ptr, i32 } %503, 0
  store ptr %504, ptr %5, align 8
  %505 = extractvalue { ptr, i32 } %503, 1
  store i32 %505, ptr %6, align 4
  br label %712

506:                                              ; preds = %488, %485
  %507 = landingpad { ptr, i32 }
          cleanup
  %508 = extractvalue { ptr, i32 } %507, 0
  store ptr %508, ptr %5, align 8
  %509 = extractvalue { ptr, i32 } %507, 1
  store i32 %509, ptr %6, align 4
  br label %711

510:                                              ; preds = %491
  %511 = landingpad { ptr, i32 }
          cleanup
  %512 = extractvalue { ptr, i32 } %511, 0
  store ptr %512, ptr %5, align 8
  %513 = extractvalue { ptr, i32 } %511, 1
  store i32 %513, ptr %6, align 4
  br label %531

514:                                              ; preds = %492
  %515 = landingpad { ptr, i32 }
          cleanup
  %516 = extractvalue { ptr, i32 } %515, 0
  store ptr %516, ptr %5, align 8
  %517 = extractvalue { ptr, i32 } %515, 1
  store i32 %517, ptr %6, align 4
  br label %530

518:                                              ; preds = %495
  %519 = landingpad { ptr, i32 }
          cleanup
  %520 = extractvalue { ptr, i32 } %519, 0
  store ptr %520, ptr %5, align 8
  %521 = extractvalue { ptr, i32 } %519, 1
  store i32 %521, ptr %6, align 4
  br label %526

522:                                              ; preds = %501, %500
  %523 = landingpad { ptr, i32 }
          cleanup
  %524 = extractvalue { ptr, i32 } %523, 0
  store ptr %524, ptr %5, align 8
  %525 = extractvalue { ptr, i32 } %523, 1
  store i32 %525, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %526

526:                                              ; preds = %522, %518
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #8
  %527 = load i1, ptr %53, align 1
  br i1 %527, label %528, label %529

528:                                              ; preds = %526
  call void @__cxa_free_exception(ptr %496) #8
  br label %529

529:                                              ; preds = %528, %526
  br label %530

530:                                              ; preds = %529, %514
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %50) #8
  br label %531

531:                                              ; preds = %530, %510
  call void @llvm.lifetime.end.p0(i64 392, ptr %50) #8
  br label %711

532:                                              ; preds = %490
  br label %533

533:                                              ; preds = %532
  br label %534

534:                                              ; preds = %533
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #8
  %535 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 1)
          to label %536 unwind label %553

536:                                              ; preds = %534
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %54, ptr align 8 %535, i64 16, i1 false), !tbaa.struct !18
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #8
  %537 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 2)
          to label %538 unwind label %557

538:                                              ; preds = %536
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %55, ptr align 8 %537, i64 16, i1 false), !tbaa.struct !18
  br label %539

539:                                              ; preds = %538
  %540 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %541 unwind label %557

541:                                              ; preds = %539
  br i1 %540, label %583, label %542

542:                                              ; preds = %541
  call void @llvm.lifetime.start.p0(i64 392, ptr %56) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %56)
          to label %543 unwind label %561

543:                                              ; preds = %542
  %544 = getelementptr inbounds i8, ptr %56, i64 16
  %545 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA101_cJRKNS_9DimensionERA11_KcS4_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %544, ptr noundef nonnull align 1 dereferenceable(101) @.str.18, ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef nonnull align 1 dereferenceable(11) @.str.16, ptr noundef nonnull align 8 dereferenceable(16) %55)
          to label %546 unwind label %565

546:                                              ; preds = %543
  store i1 true, ptr %59, align 1
  %547 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %57) #8
  %548 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %57, i32 0, i32 0
  store ptr @.str.1, ptr %548, align 8, !tbaa !13
  %549 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %57, i32 0, i32 1
  store i32 172, ptr %549, align 8, !tbaa !16
  %550 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %57, i32 0, i32 2
  store ptr @.str.19, ptr %550, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(128) %56)
          to label %551 unwind label %569

551:                                              ; preds = %546
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %547, ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %552 unwind label %573

552:                                              ; preds = %551
  store i1 false, ptr %59, align 1
  invoke void @__cxa_throw(ptr %547, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %727 unwind label %573

553:                                              ; preds = %534
  %554 = landingpad { ptr, i32 }
          cleanup
  %555 = extractvalue { ptr, i32 } %554, 0
  store ptr %555, ptr %5, align 8
  %556 = extractvalue { ptr, i32 } %554, 1
  store i32 %556, ptr %6, align 4
  br label %710

557:                                              ; preds = %593, %591, %588, %586, %539, %536
  %558 = landingpad { ptr, i32 }
          cleanup
  %559 = extractvalue { ptr, i32 } %558, 0
  store ptr %559, ptr %5, align 8
  %560 = extractvalue { ptr, i32 } %558, 1
  store i32 %560, ptr %6, align 4
  br label %709

561:                                              ; preds = %542
  %562 = landingpad { ptr, i32 }
          cleanup
  %563 = extractvalue { ptr, i32 } %562, 0
  store ptr %563, ptr %5, align 8
  %564 = extractvalue { ptr, i32 } %562, 1
  store i32 %564, ptr %6, align 4
  br label %582

565:                                              ; preds = %543
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %5, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %6, align 4
  br label %581

569:                                              ; preds = %546
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %5, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %6, align 4
  br label %577

573:                                              ; preds = %552, %551
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %5, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  br label %577

577:                                              ; preds = %573, %569
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #8
  %578 = load i1, ptr %59, align 1
  br i1 %578, label %579, label %580

579:                                              ; preds = %577
  call void @__cxa_free_exception(ptr %547) #8
  br label %580

580:                                              ; preds = %579, %577
  br label %581

581:                                              ; preds = %580, %565
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %56) #8
  br label %582

582:                                              ; preds = %581, %561
  call void @llvm.lifetime.end.p0(i64 392, ptr %56) #8
  br label %709

583:                                              ; preds = %541
  br label %584

584:                                              ; preds = %583
  br label %585

585:                                              ; preds = %584
  br label %586

586:                                              ; preds = %585
  %587 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 2)
          to label %588 unwind label %557

588:                                              ; preds = %586
  %589 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %587)
          to label %590 unwind label %557

590:                                              ; preds = %588
  br i1 %589, label %591, label %597

591:                                              ; preds = %590
  %592 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 2)
          to label %593 unwind label %557

593:                                              ; preds = %591
  %594 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %592)
          to label %595 unwind label %557

595:                                              ; preds = %593
  %596 = icmp eq i64 %594, 4
  br i1 %596, label %632, label %597

597:                                              ; preds = %595, %590
  call void @llvm.lifetime.start.p0(i64 392, ptr %60) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %60)
          to label %598 unwind label %610

598:                                              ; preds = %597
  %599 = getelementptr inbounds i8, ptr %60, i64 16
  %600 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 2)
          to label %601 unwind label %614

601:                                              ; preds = %598
  %602 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA65_cJRKNS_9DimensionEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %599, ptr noundef nonnull align 1 dereferenceable(65) @.str.20, ptr noundef nonnull align 8 dereferenceable(16) %600)
          to label %603 unwind label %614

603:                                              ; preds = %601
  store i1 true, ptr %63, align 1
  %604 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %61) #8
  %605 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %61, i32 0, i32 0
  store ptr @.str.1, ptr %605, align 8, !tbaa !13
  %606 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %61, i32 0, i32 1
  store i32 177, ptr %606, align 8, !tbaa !16
  %607 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %61, i32 0, i32 2
  store ptr @.str.21, ptr %607, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(128) %60)
          to label %608 unwind label %618

608:                                              ; preds = %603
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %604, ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %609 unwind label %622

609:                                              ; preds = %608
  store i1 false, ptr %63, align 1
  invoke void @__cxa_throw(ptr %604, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %727 unwind label %622

610:                                              ; preds = %597
  %611 = landingpad { ptr, i32 }
          cleanup
  %612 = extractvalue { ptr, i32 } %611, 0
  store ptr %612, ptr %5, align 8
  %613 = extractvalue { ptr, i32 } %611, 1
  store i32 %613, ptr %6, align 4
  br label %631

614:                                              ; preds = %601, %598
  %615 = landingpad { ptr, i32 }
          cleanup
  %616 = extractvalue { ptr, i32 } %615, 0
  store ptr %616, ptr %5, align 8
  %617 = extractvalue { ptr, i32 } %615, 1
  store i32 %617, ptr %6, align 4
  br label %630

618:                                              ; preds = %603
  %619 = landingpad { ptr, i32 }
          cleanup
  %620 = extractvalue { ptr, i32 } %619, 0
  store ptr %620, ptr %5, align 8
  %621 = extractvalue { ptr, i32 } %619, 1
  store i32 %621, ptr %6, align 4
  br label %626

622:                                              ; preds = %609, %608
  %623 = landingpad { ptr, i32 }
          cleanup
  %624 = extractvalue { ptr, i32 } %623, 0
  store ptr %624, ptr %5, align 8
  %625 = extractvalue { ptr, i32 } %623, 1
  store i32 %625, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  br label %626

626:                                              ; preds = %622, %618
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #8
  %627 = load i1, ptr %63, align 1
  br i1 %627, label %628, label %629

628:                                              ; preds = %626
  call void @__cxa_free_exception(ptr %604) #8
  br label %629

629:                                              ; preds = %628, %626
  br label %630

630:                                              ; preds = %629, %614
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %60) #8
  br label %631

631:                                              ; preds = %630, %610
  call void @llvm.lifetime.end.p0(i64 392, ptr %60) #8
  br label %709

632:                                              ; preds = %595
  br label %633

633:                                              ; preds = %632
  br label %634

634:                                              ; preds = %633
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind writable sret(%"class.ngraph::Output") align 8 %65, ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 2)
          to label %635 unwind label %669

635:                                              ; preds = %634
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind writable sret(%"class.std::shared_ptr.74") align 8 %64, ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %636 unwind label %673

636:                                              ; preds = %635
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #8
  %637 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %638 unwind label %678

638:                                              ; preds = %636
  br i1 %637, label %639, label %701

639:                                              ; preds = %638
  %640 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 1)
          to label %641 unwind label %678

641:                                              ; preds = %639
  %642 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %640)
          to label %643 unwind label %678

643:                                              ; preds = %641
  br i1 %642, label %644, label %701

644:                                              ; preds = %643
  %645 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  %646 = load ptr, ptr %645, align 8, !tbaa !20
  %647 = getelementptr inbounds ptr, ptr %646, i64 20
  %648 = load ptr, ptr %647, align 8
  %649 = invoke noundef zeroext i1 %648(ptr noundef nonnull align 8 dereferenceable(680) %645)
          to label %650 unwind label %678

650:                                              ; preds = %644
  br i1 %649, label %651, label %701

651:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #8
  %652 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %653 unwind label %682

653:                                              ; preds = %651
  store i64 %652, ptr %66, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #8
  %654 = invoke noundef i64 @_ZNK6ngraph2op2v117NonMaxSuppression27max_boxes_output_from_inputEv(ptr noundef nonnull align 8 dereferenceable(685) %71)
          to label %655 unwind label %686

655:                                              ; preds = %653
  store i64 %654, ptr %67, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #8
  %656 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 1)
          to label %657 unwind label %690

657:                                              ; preds = %655
  %658 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %656)
          to label %659 unwind label %690

659:                                              ; preds = %657
  store i64 %658, ptr %68, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #8
  %660 = load i64, ptr %67, align 8, !tbaa !19
  %661 = load i64, ptr %68, align 8, !tbaa !19
  %662 = mul nsw i64 %660, %661
  store i64 %662, ptr %70, align 8, !tbaa !19
  %663 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIlERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %664 unwind label %694

664:                                              ; preds = %659
  %665 = load i64, ptr %663, align 8, !tbaa !19
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %69, i64 noundef %665)
          to label %666 unwind label %694

666:                                              ; preds = %664
  %667 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef 0)
          to label %668 unwind label %694

668:                                              ; preds = %666
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %667, ptr align 8 %69, i64 16, i1 false), !tbaa.struct !18
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  br label %701

669:                                              ; preds = %634
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %5, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %6, align 4
  br label %677

673:                                              ; preds = %635
  %674 = landingpad { ptr, i32 }
          cleanup
  %675 = extractvalue { ptr, i32 } %674, 0
  store ptr %675, ptr %5, align 8
  %676 = extractvalue { ptr, i32 } %674, 1
  store i32 %676, ptr %6, align 4
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #8
  br label %677

677:                                              ; preds = %673, %669
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #8
  br label %708

678:                                              ; preds = %702, %701, %644, %641, %639, %636
  %679 = landingpad { ptr, i32 }
          cleanup
  %680 = extractvalue { ptr, i32 } %679, 0
  store ptr %680, ptr %5, align 8
  %681 = extractvalue { ptr, i32 } %679, 1
  store i32 %681, ptr %6, align 4
  br label %707

682:                                              ; preds = %651
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %5, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %6, align 4
  br label %700

686:                                              ; preds = %653
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %5, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %6, align 4
  br label %699

690:                                              ; preds = %657, %655
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %5, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %6, align 4
  br label %698

694:                                              ; preds = %666, %664, %659
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %5, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #8
  br label %698

698:                                              ; preds = %694, %690
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  br label %699

699:                                              ; preds = %698, %686
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  br label %700

700:                                              ; preds = %699, %682
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  br label %707

701:                                              ; preds = %668, %650, %643, %638
  invoke void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 1)
          to label %702 unwind label %678

702:                                              ; preds = %701
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %71, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) @_ZN6ngraph7element3i64E, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %703 unwind label %678

703:                                              ; preds = %702
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #8
  store i32 0, ptr %11, align 4
  br label %704

704:                                              ; preds = %703, %98
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %3) #8
  %705 = load i32, ptr %11, align 4
  switch i32 %705, label %727 [
    i32 0, label %706
    i32 1, label %706
  ]

706:                                              ; preds = %704, %704
  ret void

707:                                              ; preds = %700, %678
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #8
  br label %708

708:                                              ; preds = %707, %677
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #8
  br label %709

709:                                              ; preds = %708, %631, %582, %557
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #8
  br label %710

710:                                              ; preds = %709, %553
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  br label %711

711:                                              ; preds = %710, %531, %506
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  br label %712

712:                                              ; preds = %711, %502
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  br label %713

713:                                              ; preds = %712, %480, %458, %440
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  br label %714

714:                                              ; preds = %713, %436
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  br label %715

715:                                              ; preds = %714, %402, %380, %362
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  br label %716

716:                                              ; preds = %715, %358
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  br label %717

717:                                              ; preds = %716, %324, %302, %284
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  br label %718

718:                                              ; preds = %717, %280
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #8
  br label %719

719:                                              ; preds = %718, %246, %224, %177, %155, %107
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  br label %720

720:                                              ; preds = %719, %103
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  br label %721

721:                                              ; preds = %720, %99
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #8
  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 %722

722:                                              ; preds = %721
  %723 = load ptr, ptr %5, align 8
  %724 = load i32, ptr %6, align 4
  %725 = insertvalue { ptr, i32 } poison, ptr %723, 0
  %726 = insertvalue { ptr, i32 } %725, i32 %724, 1
  resume { ptr, i32 } %726

727:                                              ; preds = %704, %609, %552, %501, %435, %357, %279, %215, %146
  unreachable
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv() #4 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32)) #3 align 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)) #5

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24)) #1

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

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

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

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

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

; 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

declare noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA69_cJRKNS_9DimensionERA11_KcS4_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(69), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(11), ptr noundef nonnull align 8 dereferenceable(16)) #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA101_cJRKNS_9DimensionERA11_KcS4_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(101), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(11), ptr noundef nonnull align 8 dereferenceable(16)) #6

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

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

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

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

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

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #5

declare void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #5

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { 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 = !{!"_ZTSSt16initializer_listIN6ngraph9DimensionEE", !6, i64 0, !11, i64 8}
!11 = !{!"long", !7, i64 0}
!12 = !{!10, !11, i64 8}
!13 = !{!14, !6, i64 0}
!14 = !{!"_ZTSN6ngraph12CheckLocInfoE", !6, i64 0, !15, i64 8, !6, i64 16}
!15 = !{!"int", !7, i64 0}
!16 = !{!14, !15, i64 8}
!17 = !{!14, !6, i64 16}
!18 = !{i64 0, i64 8, !19, i64 8, i64 8, !19}
!19 = !{!11, !11, i64 0}
!20 = !{!21, !21, i64 0}
!21 = !{!"vtable pointer", !8, i64 0}


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

%"class.ngraph::element::Type" = type { i32 }
%"class.std::__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.ngraph::PartialShape" = type { i8, %"class.std::vector.130" }
%"class.std::vector.130" = type { %"struct.std::_Vector_base.131" }
%"struct.std::_Vector_base.131" = 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::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.81" }
%"class.std::vector.81" = type { %"struct.std::_Vector_base.82" }
%"struct.std::_Vector_base.82" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr.74" = type { %"class.std::__shared_ptr.75" }
%"class.std::__shared_ptr.75" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.ngraph::Output" = type { %"class.std::shared_ptr.74", i64 }

@_ZN6ngraph7element3i64E = external global %"class.ngraph::element::Type", align 4
@.str.1 = external hidden unnamed_addr constant [93 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.5 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [58 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: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v117NonMaxSuppression24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(685) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::PartialShape", align 8
  %3 = alloca %"class.ngraph::PartialShape", align 8
  %4 = alloca %"class.ngraph::PartialShape", align 8
  %5 = alloca [2 x %"class.ngraph::Dimension"], align 8
  %6 = alloca %"class.ngraph::Dimension", align 8
  %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 %"class.ngraph::Dimension", align 8
  %12 = alloca %"class.ngraph::Dimension", align 8
  %13 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %14 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.ngraph::PartialShape", align 8
  %17 = alloca %"class.ngraph::Shape", align 8
  %18 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %19 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.ngraph::PartialShape", align 8
  %22 = alloca %"class.ngraph::Shape", 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::Shape", align 8
  %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 %"class.ngraph::Dimension", align 8
  %32 = alloca %"class.ngraph::Dimension", align 8
  %33 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %34 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.ngraph::Dimension", align 8
  %37 = alloca %"class.ngraph::Dimension", align 8
  %38 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %39 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %42 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::shared_ptr.74", align 8
  %45 = alloca %"class.ngraph::Output", align 8
  %46 = alloca i64, align 8
  %47 = alloca %"class.ngraph::Dimension", align 8
  %48 = alloca i64, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) #8
  %49 = 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) %49)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #8
  %50 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %51 unwind label %66

51:                                               ; preds = %1
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %52 unwind label %66

52:                                               ; preds = %51
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #8
  %53 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %54 = extractvalue { i64, i64 } %53, 0
  store i64 %54, ptr %5, align 8
  %55 = getelementptr inbounds i8, ptr %5, i64 8
  %56 = extractvalue { i64, i64 } %53, 1
  store i64 %56, ptr %55, align 8
  %57 = getelementptr inbounds i8, ptr %5, i64 16
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %57, i64 noundef 3)
          to label %58 unwind label %68

58:                                               ; preds = %52
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr nonnull %5, i64 2)
          to label %59 unwind label %68

59:                                               ; preds = %58
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #8
  %60 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %61 unwind label %70

61:                                               ; preds = %59
  br i1 %60, label %65, label %62

62:                                               ; preds = %61
  %63 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %64 unwind label %70

64:                                               ; preds = %62
  br i1 %63, label %65, label %72

65:                                               ; preds = %64, %61
  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) @_ZN6ngraph7element3i64E, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %409 unwind label %70

66:                                               ; preds = %51, %1
  %67 = landingpad { ptr, i32 }
          cleanup
  br label %424

68:                                               ; preds = %58, %52
  %69 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #8
  br label %423

70:                                               ; preds = %65, %62, %59
  %71 = landingpad { ptr, i32 }
          cleanup
  br label %422

72:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #8
  %73 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %74 unwind label %100

74:                                               ; preds = %72
  %75 = extractvalue { i64, i64 } %73, 0
  store i64 %75, ptr %6, align 8
  %76 = getelementptr inbounds i8, ptr %6, i64 8
  %77 = extractvalue { i64, i64 } %73, 1
  store i64 %77, ptr %76, align 8
  %78 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %6)
          to label %79 unwind label %100

79:                                               ; preds = %74
  br i1 %78, label %80, label %.critedge

80:                                               ; preds = %79
  %81 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %82 unwind label %102

82:                                               ; preds = %80
  %83 = extractvalue { i64, i64 } %81, 0
  store i64 %83, ptr %7, align 8
  %84 = getelementptr inbounds i8, ptr %7, i64 8
  %85 = extractvalue { i64, i64 } %81, 1
  store i64 %85, ptr %84, align 8
  %86 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %7)
          to label %87 unwind label %102

87:                                               ; preds = %82
  %88 = icmp eq i64 %86, 3
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8
  br i1 %88, label %115, label %89

.critedge:                                        ; preds = %79
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8
  br label %89

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

90:                                               ; preds = %89
  %91 = getelementptr inbounds i8, ptr %8, i64 16
  %92 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA50_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %91, ptr noundef nonnull align 1 dereferenceable(50) @.str.5, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %93 unwind label %107

93:                                               ; preds = %90
  %94 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #8
  store ptr @.str.1, ptr %9, align 8, !tbaa !5
  %95 = getelementptr inbounds i8, ptr %9, i64 8
  store i32 129, ptr %95, align 8, !tbaa !11
  %96 = getelementptr inbounds i8, ptr %9, i64 16
  store ptr @.str.6, ptr %96, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #8
  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 %97 unwind label %.thread

97:                                               ; preds = %93
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %94, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %99 unwind label %.thread157

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

99:                                               ; preds = %97
  invoke void @__cxa_throw(ptr nonnull %94, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %425 unwind label %110

100:                                              ; preds = %74, %72
  %101 = landingpad { ptr, i32 }
          cleanup
  br label %104

102:                                              ; preds = %82, %80
  %103 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  br label %104

104:                                              ; preds = %102, %100
  %.pn = phi { ptr, i32 } [ %103, %102 ], [ %101, %100 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8
  br label %422

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

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

.thread:                                          ; preds = %93
  %109 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #8
  br label %112

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

112:                                              ; preds = %.thread157, %.thread
  %.pn138156 = phi { ptr, i32 } [ %109, %.thread ], [ %98, %.thread157 ]
  call void @__cxa_free_exception(ptr %94) #8
  br label %113

113:                                              ; preds = %110, %112, %107
  %.pn138.pn = phi { ptr, i32 } [ %.pn138156, %112 ], [ %111, %110 ], [ %108, %107 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %8) #8
  br label %114

114:                                              ; preds = %113, %105
  %.pn138.pn.pn = phi { ptr, i32 } [ %.pn138.pn, %113 ], [ %106, %105 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %8) #8
  br label %422

115:                                              ; preds = %87
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #8
  %116 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %117 unwind label %143

117:                                              ; preds = %115
  %118 = extractvalue { i64, i64 } %116, 0
  store i64 %118, ptr %11, align 8
  %119 = getelementptr inbounds i8, ptr %11, i64 8
  %120 = extractvalue { i64, i64 } %116, 1
  store i64 %120, ptr %119, align 8
  %121 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %11)
          to label %122 unwind label %143

122:                                              ; preds = %117
  br i1 %121, label %123, label %.critedge147

123:                                              ; preds = %122
  %124 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %125 unwind label %145

125:                                              ; preds = %123
  %126 = extractvalue { i64, i64 } %124, 0
  store i64 %126, ptr %12, align 8
  %127 = getelementptr inbounds i8, ptr %12, i64 8
  %128 = extractvalue { i64, i64 } %124, 1
  store i64 %128, ptr %127, align 8
  %129 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %130 unwind label %145

130:                                              ; preds = %125
  %131 = icmp eq i64 %129, 3
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #8
  br i1 %131, label %158, label %132

.critedge147:                                     ; preds = %122
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #8
  br label %132

132:                                              ; preds = %.critedge147, %130
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %13) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13)
          to label %133 unwind label %148

133:                                              ; preds = %132
  %134 = getelementptr inbounds i8, ptr %13, i64 16
  %135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA51_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %134, ptr noundef nonnull align 1 dereferenceable(51) @.str.7, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %136 unwind label %150

136:                                              ; preds = %133
  %137 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #8
  store ptr @.str.1, ptr %14, align 8, !tbaa !5
  %138 = getelementptr inbounds i8, ptr %14, i64 8
  store i32 134, ptr %138, align 8, !tbaa !11
  %139 = getelementptr inbounds i8, ptr %14, i64 16
  store ptr @.str.8, ptr %139, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(128) %13)
          to label %140 unwind label %.thread159

140:                                              ; preds = %136
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %137, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %142 unwind label %.thread163

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

142:                                              ; preds = %140
  invoke void @__cxa_throw(ptr nonnull %137, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %425 unwind label %153

143:                                              ; preds = %117, %115
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %147

145:                                              ; preds = %125, %123
  %146 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #8
  br label %147

147:                                              ; preds = %145, %143
  %.pn89 = phi { ptr, i32 } [ %146, %145 ], [ %144, %143 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #8
  br label %422

148:                                              ; preds = %132
  %149 = landingpad { ptr, i32 }
          cleanup
  br label %157

150:                                              ; preds = %133
  %151 = landingpad { ptr, i32 }
          cleanup
  br label %156

.thread159:                                       ; preds = %136
  %152 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #8
  br label %155

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

155:                                              ; preds = %.thread163, %.thread159
  %.pn134162 = phi { ptr, i32 } [ %152, %.thread159 ], [ %141, %.thread163 ]
  call void @__cxa_free_exception(ptr %137) #8
  br label %156

156:                                              ; preds = %153, %155, %150
  %.pn134.pn = phi { ptr, i32 } [ %.pn134162, %155 ], [ %154, %153 ], [ %151, %150 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #8
  br label %157

157:                                              ; preds = %156, %148
  %.pn134.pn.pn = phi { ptr, i32 } [ %.pn134.pn, %156 ], [ %149, %148 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %13) #8
  br label %422

158:                                              ; preds = %130
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #8
  %159 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %160 unwind label %177

160:                                              ; preds = %158
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %161 unwind label %177

161:                                              ; preds = %160
  %162 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %163 unwind label %179

163:                                              ; preds = %161
  br i1 %162, label %.critedge149.thread, label %164

164:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #8
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %.critedge149 unwind label %181

.critedge149:                                     ; preds = %164
  %165 = call noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %17)
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  br i1 %165, label %.critedge149.thread, label %166

166:                                              ; preds = %.critedge149
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %18) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %18)
          to label %167 unwind label %183

167:                                              ; preds = %166
  %168 = getelementptr inbounds i8, ptr %18, i64 16
  %169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA68_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %168, ptr noundef nonnull align 1 dereferenceable(68) @.str.9, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %170 unwind label %185

170:                                              ; preds = %167
  %171 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #8
  store ptr @.str.1, ptr %19, align 8, !tbaa !5
  %172 = getelementptr inbounds i8, ptr %19, i64 8
  store i32 140, ptr %172, align 8, !tbaa !11
  %173 = getelementptr inbounds i8, ptr %19, i64 16
  store ptr @.str.10, ptr %173, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(128) %18)
          to label %174 unwind label %.thread166

174:                                              ; preds = %170
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %171, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %176 unwind label %.thread170

.thread170:                                       ; preds = %174
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  br label %190

176:                                              ; preds = %174
  invoke void @__cxa_throw(ptr nonnull %171, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %425 unwind label %188

177:                                              ; preds = %160, %158
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %421

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

181:                                              ; preds = %164
  %182 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  br label %420

183:                                              ; preds = %166
  %184 = landingpad { ptr, i32 }
          cleanup
  br label %192

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

.thread166:                                       ; preds = %170
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  br label %190

188:                                              ; preds = %176
  %189 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  br label %191

190:                                              ; preds = %.thread170, %.thread166
  %.pn128169 = phi { ptr, i32 } [ %187, %.thread166 ], [ %175, %.thread170 ]
  call void @__cxa_free_exception(ptr %171) #8
  br label %191

191:                                              ; preds = %188, %190, %185
  %.pn128.pn = phi { ptr, i32 } [ %.pn128169, %190 ], [ %189, %188 ], [ %186, %185 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %18) #8
  br label %192

192:                                              ; preds = %191, %183
  %.pn128.pn.pn = phi { ptr, i32 } [ %.pn128.pn, %191 ], [ %184, %183 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %18) #8
  br label %420

.critedge149.thread:                              ; preds = %163, %.critedge149
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #8
  %193 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
          to label %194 unwind label %211

194:                                              ; preds = %.critedge149.thread
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %193)
          to label %195 unwind label %211

195:                                              ; preds = %194
  %196 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %197 unwind label %213

197:                                              ; preds = %195
  br i1 %196, label %.critedge151.thread, label %198

198:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #8
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %.critedge151 unwind label %215

.critedge151:                                     ; preds = %198
  %199 = call noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %22)
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #8
  br i1 %199, label %.critedge151.thread, label %200

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

201:                                              ; preds = %200
  %202 = getelementptr inbounds i8, ptr %23, i64 16
  %203 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA55_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull align 1 dereferenceable(55) @.str.11, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %204 unwind label %219

204:                                              ; preds = %201
  %205 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #8
  store ptr @.str.1, ptr %24, align 8, !tbaa !5
  %206 = getelementptr inbounds i8, ptr %24, i64 8
  store i32 146, ptr %206, align 8, !tbaa !11
  %207 = getelementptr inbounds i8, ptr %24, i64 16
  store ptr @.str.12, ptr %207, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  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 %.thread173

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 %.thread177

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

210:                                              ; preds = %208
  invoke void @__cxa_throw(ptr nonnull %205, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %425 unwind label %222

211:                                              ; preds = %194, %.critedge149.thread
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %419

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

215:                                              ; preds = %198
  %216 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #8
  br label %418

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

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

.thread173:                                       ; preds = %204
  %221 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  br label %224

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

224:                                              ; preds = %.thread177, %.thread173
  %.pn122176 = phi { ptr, i32 } [ %221, %.thread173 ], [ %209, %.thread177 ]
  call void @__cxa_free_exception(ptr %205) #8
  br label %225

225:                                              ; preds = %222, %224, %219
  %.pn122.pn = phi { ptr, i32 } [ %.pn122176, %224 ], [ %223, %222 ], [ %220, %219 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %23) #8
  br label %226

226:                                              ; preds = %225, %217
  %.pn122.pn.pn = phi { ptr, i32 } [ %.pn122.pn, %225 ], [ %218, %217 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %23) #8
  br label %418

.critedge151.thread:                              ; preds = %197, %.critedge151
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #8
  %227 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 4)
          to label %228 unwind label %245

228:                                              ; preds = %.critedge151.thread
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %227)
          to label %229 unwind label %245

229:                                              ; preds = %228
  %230 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %231 unwind label %247

231:                                              ; preds = %229
  br i1 %230, label %.critedge153.thread, label %232

232:                                              ; preds = %231
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #8
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %.critedge153 unwind label %249

.critedge153:                                     ; preds = %232
  %233 = call noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24) %27)
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  br i1 %233, label %.critedge153.thread, label %234

234:                                              ; preds = %.critedge153
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %28) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %235 unwind label %251

235:                                              ; preds = %234
  %236 = getelementptr inbounds i8, ptr %28, i64 16
  %237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA57_cJRKNS_12PartialShapeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef nonnull align 1 dereferenceable(57) @.str.13, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %238 unwind label %253

238:                                              ; preds = %235
  %239 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #8
  store ptr @.str.1, ptr %29, align 8, !tbaa !5
  %240 = getelementptr inbounds i8, ptr %29, i64 8
  store i32 153, ptr %240, align 8, !tbaa !11
  %241 = getelementptr inbounds i8, ptr %29, i64 16
  store ptr @.str.14, ptr %241, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %242 unwind label %.thread180

242:                                              ; preds = %238
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %239, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %244 unwind label %.thread184

.thread184:                                       ; preds = %242
  %243 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %258

244:                                              ; preds = %242
  invoke void @__cxa_throw(ptr nonnull %239, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %425 unwind label %256

245:                                              ; preds = %228, %.critedge151.thread
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %417

247:                                              ; preds = %229
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %416

249:                                              ; preds = %232
  %250 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  br label %416

251:                                              ; preds = %234
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %260

253:                                              ; preds = %235
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %259

.thread180:                                       ; preds = %238
  %255 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %258

256:                                              ; preds = %244
  %257 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  br label %259

258:                                              ; preds = %.thread184, %.thread180
  %.pn116183 = phi { ptr, i32 } [ %255, %.thread180 ], [ %243, %.thread184 ]
  call void @__cxa_free_exception(ptr %239) #8
  br label %259

259:                                              ; preds = %256, %258, %253
  %.pn116.pn = phi { ptr, i32 } [ %.pn116183, %258 ], [ %257, %256 ], [ %254, %253 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28) #8
  br label %260

260:                                              ; preds = %259, %251
  %.pn116.pn.pn = phi { ptr, i32 } [ %.pn116.pn, %259 ], [ %252, %251 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %28) #8
  br label %416

.critedge153.thread:                              ; preds = %231, %.critedge153
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #8
  %261 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 0)
          to label %262 unwind label %278

262:                                              ; preds = %.critedge153.thread
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 8 dereferenceable(16) %261, i64 16, i1 false), !tbaa.struct !13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #8
  %263 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 0)
          to label %264 unwind label %280

264:                                              ; preds = %262
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef nonnull align 8 dereferenceable(16) %263, i64 16, i1 false), !tbaa.struct !13
  %265 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %266 unwind label %280

266:                                              ; preds = %264
  br i1 %265, label %292, label %267

267:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %33) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %33)
          to label %268 unwind label %282

268:                                              ; preds = %267
  %269 = getelementptr inbounds i8, ptr %33, i64 16
  %270 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA69_cJRKNS_9DimensionERA11_KcS4_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %269, ptr noundef nonnull align 1 dereferenceable(69) @.str.15, ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef nonnull align 1 dereferenceable(11) @.str.16, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %271 unwind label %284

271:                                              ; preds = %268
  %272 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #8
  store ptr @.str.1, ptr %34, align 8, !tbaa !5
  %273 = getelementptr inbounds i8, ptr %34, i64 8
  store i32 162, ptr %273, align 8, !tbaa !11
  %274 = getelementptr inbounds i8, ptr %34, i64 16
  store ptr @.str.17, ptr %274, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(128) %33)
          to label %275 unwind label %.thread186

275:                                              ; preds = %271
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %272, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %277 unwind label %.thread190

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

277:                                              ; preds = %275
  invoke void @__cxa_throw(ptr nonnull %272, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %425 unwind label %287

278:                                              ; preds = %.critedge153.thread
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %415

280:                                              ; preds = %264, %262
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %414

282:                                              ; preds = %267
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %291

284:                                              ; preds = %268
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %290

.thread186:                                       ; preds = %271
  %286 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  br label %289

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

289:                                              ; preds = %.thread190, %.thread186
  %.pn91189 = phi { ptr, i32 } [ %286, %.thread186 ], [ %276, %.thread190 ]
  call void @__cxa_free_exception(ptr %272) #8
  br label %290

290:                                              ; preds = %287, %289, %284
  %.pn91.pn = phi { ptr, i32 } [ %.pn91189, %289 ], [ %288, %287 ], [ %285, %284 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %33) #8
  br label %291

291:                                              ; preds = %290, %282
  %.pn91.pn.pn = phi { ptr, i32 } [ %.pn91.pn, %290 ], [ %283, %282 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %33) #8
  br label %414

292:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36) #8
  %293 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 1)
          to label %294 unwind label %310

294:                                              ; preds = %292
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef nonnull align 8 dereferenceable(16) %293, i64 16, i1 false), !tbaa.struct !13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #8
  %295 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 2)
          to label %296 unwind label %312

296:                                              ; preds = %294
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %37, ptr noundef nonnull align 8 dereferenceable(16) %295, i64 16, i1 false), !tbaa.struct !13
  %297 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %298 unwind label %312

298:                                              ; preds = %296
  br i1 %297, label %324, label %299

299:                                              ; preds = %298
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %38) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38)
          to label %300 unwind label %314

300:                                              ; preds = %299
  %301 = getelementptr inbounds i8, ptr %38, i64 16
  %302 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA101_cJRKNS_9DimensionERA11_KcS4_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef nonnull align 1 dereferenceable(101) @.str.18, ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef nonnull align 1 dereferenceable(11) @.str.16, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %303 unwind label %316

303:                                              ; preds = %300
  %304 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %39) #8
  store ptr @.str.1, ptr %39, align 8, !tbaa !5
  %305 = getelementptr inbounds i8, ptr %39, i64 8
  store i32 172, ptr %305, align 8, !tbaa !11
  %306 = getelementptr inbounds i8, ptr %39, i64 16
  store ptr @.str.19, ptr %306, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(128) %38)
          to label %307 unwind label %.thread192

307:                                              ; preds = %303
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %304, ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %309 unwind label %.thread196

.thread196:                                       ; preds = %307
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #8
  br label %321

309:                                              ; preds = %307
  invoke void @__cxa_throw(ptr nonnull %304, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %425 unwind label %319

310:                                              ; preds = %292
  %311 = landingpad { ptr, i32 }
          cleanup
  br label %413

312:                                              ; preds = %331, %329, %326, %324, %296, %294
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %412

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

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

.thread192:                                       ; preds = %303
  %318 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #8
  br label %321

319:                                              ; preds = %309
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #8
  br label %322

321:                                              ; preds = %.thread196, %.thread192
  %.pn95195 = phi { ptr, i32 } [ %318, %.thread192 ], [ %308, %.thread196 ]
  call void @__cxa_free_exception(ptr %304) #8
  br label %322

322:                                              ; preds = %319, %321, %316
  %.pn95.pn = phi { ptr, i32 } [ %.pn95195, %321 ], [ %320, %319 ], [ %317, %316 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38) #8
  br label %323

323:                                              ; preds = %322, %314
  %.pn95.pn.pn = phi { ptr, i32 } [ %.pn95.pn, %322 ], [ %315, %314 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %38) #8
  br label %412

324:                                              ; preds = %298
  %325 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 2)
          to label %326 unwind label %312

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

328:                                              ; preds = %326
  br i1 %327, label %329, label %335

329:                                              ; preds = %328
  %330 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 2)
          to label %331 unwind label %312

331:                                              ; preds = %329
  %332 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %330)
          to label %333 unwind label %312

333:                                              ; preds = %331
  %334 = icmp eq i64 %332, 4
  br i1 %334, label %358, label %335

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

336:                                              ; preds = %335
  %337 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 2)
          to label %338 unwind label %350

338:                                              ; preds = %336
  %339 = getelementptr inbounds i8, ptr %41, i64 16
  %340 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA65_cJRKNS_9DimensionEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %339, ptr noundef nonnull align 1 dereferenceable(65) @.str.20, ptr noundef nonnull align 8 dereferenceable(16) %337)
          to label %341 unwind label %350

341:                                              ; preds = %338
  %342 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #8
  store ptr @.str.1, ptr %42, align 8, !tbaa !5
  %343 = getelementptr inbounds i8, ptr %42, i64 8
  store i32 177, ptr %343, align 8, !tbaa !11
  %344 = getelementptr inbounds i8, ptr %42, i64 16
  store ptr @.str.21, ptr %344, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(128) %41)
          to label %345 unwind label %.thread198

345:                                              ; 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) %42, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %347 unwind label %.thread202

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

347:                                              ; preds = %345
  invoke void @__cxa_throw(ptr nonnull %342, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %425 unwind label %353

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

350:                                              ; preds = %338, %336
  %351 = landingpad { ptr, i32 }
          cleanup
  br label %356

.thread198:                                       ; preds = %341
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  br label %355

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

355:                                              ; preds = %.thread202, %.thread198
  %.pn99201 = phi { ptr, i32 } [ %352, %.thread198 ], [ %346, %.thread202 ]
  call void @__cxa_free_exception(ptr %342) #8
  br label %356

356:                                              ; preds = %353, %355, %350
  %.pn99.pn = phi { ptr, i32 } [ %.pn99201, %355 ], [ %354, %353 ], [ %351, %350 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %41) #8
  br label %357

357:                                              ; preds = %356, %348
  %.pn99.pn.pn = phi { ptr, i32 } [ %.pn99.pn, %356 ], [ %349, %348 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %41) #8
  br label %412

358:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #8
  invoke void @_ZNK6ngraph4Node11input_valueEm(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Output") align 8 %45, ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %359 unwind label %390

359:                                              ; preds = %358
  invoke void @_ZNK6ngraph6OutputINS_4NodeEE19get_node_shared_ptrEv(ptr dead_on_unwind nonnull writable sret(%"class.std::shared_ptr.74") align 8 %44, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %360 unwind label %392

360:                                              ; preds = %359
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #8
  %361 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %362 unwind label %395

362:                                              ; preds = %360
  br i1 %361, label %363, label %406

363:                                              ; preds = %362
  %364 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 1)
          to label %365 unwind label %395

365:                                              ; preds = %363
  %366 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %364)
          to label %367 unwind label %395

367:                                              ; preds = %365
  br i1 %366, label %368, label %406

368:                                              ; preds = %367
  %369 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  %370 = load ptr, ptr %369, align 8, !tbaa !16
  %371 = getelementptr inbounds i8, ptr %370, i64 160
  %372 = load ptr, ptr %371, align 8
  %373 = invoke noundef zeroext i1 %372(ptr noundef nonnull align 8 dereferenceable(680) %369)
          to label %374 unwind label %395

374:                                              ; preds = %368
  br i1 %373, label %375, label %406

375:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #8
  %376 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %377 unwind label %397

377:                                              ; preds = %375
  store i64 %376, ptr %46, align 8, !tbaa !14
  %378 = invoke noundef i64 @_ZNK6ngraph2op2v117NonMaxSuppression27max_boxes_output_from_inputEv(ptr noundef nonnull align 8 dereferenceable(685) %0)
          to label %379 unwind label %399

379:                                              ; preds = %377
  %380 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef 1)
          to label %381 unwind label %401

381:                                              ; preds = %379
  %382 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %380)
          to label %383 unwind label %401

383:                                              ; preds = %381
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #8
  %384 = mul nsw i64 %382, %378
  store i64 %384, ptr %48, align 8, !tbaa !14
  %385 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIlERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(8) %48)
  %386 = load i64, ptr %385, align 8, !tbaa !14
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %47, i64 noundef %386)
          to label %387 unwind label %403

387:                                              ; preds = %383
  %388 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 0)
          to label %389 unwind label %403

389:                                              ; preds = %387
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %388, ptr noundef nonnull align 8 dereferenceable(16) %47, i64 16, i1 false), !tbaa.struct !13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #8
  br label %406

390:                                              ; preds = %358
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %394

392:                                              ; preds = %359
  %393 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph6OutputINS_4NodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  br label %394

394:                                              ; preds = %392, %390
  %.pn103 = phi { ptr, i32 } [ %393, %392 ], [ %391, %390 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #8
  br label %411

395:                                              ; preds = %407, %406, %368, %365, %363, %360
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %410

397:                                              ; preds = %375
  %398 = landingpad { ptr, i32 }
          cleanup
  br label %405

399:                                              ; preds = %377
  %400 = landingpad { ptr, i32 }
          cleanup
  br label %405

401:                                              ; preds = %381, %379
  %402 = landingpad { ptr, i32 }
          cleanup
  br label %405

403:                                              ; preds = %387, %383
  %404 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #8
  br label %405

405:                                              ; preds = %399, %403, %401, %397
  %.pn105.pn.pn = phi { ptr, i32 } [ %398, %397 ], [ %400, %399 ], [ %404, %403 ], [ %402, %401 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #8
  br label %410

406:                                              ; preds = %389, %374, %367, %362
  invoke void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %407 unwind label %395

407:                                              ; preds = %406
  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) @_ZN6ngraph7element3i64E, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %408 unwind label %395

408:                                              ; preds = %407
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  br label %409

409:                                              ; preds = %65, %408
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #8
  ret void

410:                                              ; preds = %405, %395
  %.pn109 = phi { ptr, i32 } [ %396, %395 ], [ %.pn105.pn.pn, %405 ]
  call void @_ZNSt12__shared_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #8
  br label %411

411:                                              ; preds = %410, %394
  %.pn109.pn = phi { ptr, i32 } [ %.pn109, %410 ], [ %.pn103, %394 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  br label %412

412:                                              ; preds = %411, %357, %323, %312
  %.pn109.pn.pn = phi { ptr, i32 } [ %.pn109.pn, %411 ], [ %.pn99.pn.pn, %357 ], [ %313, %312 ], [ %.pn95.pn.pn, %323 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  br label %413

413:                                              ; preds = %412, %310
  %.pn109.pn.pn.pn = phi { ptr, i32 } [ %.pn109.pn.pn, %412 ], [ %311, %310 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #8
  br label %414

414:                                              ; preds = %413, %291, %280
  %.pn109.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn109.pn.pn.pn, %413 ], [ %.pn91.pn.pn, %291 ], [ %281, %280 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  br label %415

415:                                              ; preds = %414, %278
  %.pn109.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn109.pn.pn.pn.pn, %414 ], [ %279, %278 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #8
  br label %416

416:                                              ; preds = %249, %415, %260, %247
  %.pn116.pn.pn.pn = phi { ptr, i32 } [ %.pn116.pn.pn, %260 ], [ %.pn109.pn.pn.pn.pn.pn, %415 ], [ %250, %249 ], [ %248, %247 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %417

417:                                              ; preds = %416, %245
  %.pn116.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn116.pn.pn.pn, %416 ], [ %246, %245 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  br label %418

418:                                              ; preds = %215, %417, %226, %213
  %.pn122.pn.pn.pn = phi { ptr, i32 } [ %.pn122.pn.pn, %226 ], [ %.pn116.pn.pn.pn.pn, %417 ], [ %216, %215 ], [ %214, %213 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  br label %419

419:                                              ; preds = %418, %211
  %.pn122.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn122.pn.pn.pn, %418 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #8
  br label %420

420:                                              ; preds = %181, %419, %192, %179
  %.pn128.pn.pn.pn = phi { ptr, i32 } [ %.pn128.pn.pn, %192 ], [ %.pn122.pn.pn.pn.pn, %419 ], [ %182, %181 ], [ %180, %179 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  br label %421

421:                                              ; preds = %420, %177
  %.pn128.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn128.pn.pn.pn, %420 ], [ %178, %177 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  br label %422

422:                                              ; preds = %421, %157, %147, %114, %104, %70
  %.pn142 = phi { ptr, i32 } [ %71, %70 ], [ %.pn138.pn.pn, %114 ], [ %.pn134.pn.pn, %157 ], [ %.pn128.pn.pn.pn.pn, %421 ], [ %.pn89, %147 ], [ %.pn, %104 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  br label %423

423:                                              ; preds = %422, %68
  %.pn142.pn = phi { ptr, i32 } [ %.pn142, %422 ], [ %69, %68 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  br label %424

424:                                              ; preds = %423, %66
  %.pn142.pn.pn = phi { ptr, i32 } [ %.pn142.pn, %423 ], [ %67, %66 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #8
  resume { ptr, i32 } %.pn142.pn.pn

425:                                              ; preds = %347, %309, %277, %244, %210, %176, %142, %99
  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 #5

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv() local_unnamed_addr #4 align 2

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

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

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

declare 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 #5

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN6ngraph9is_scalarINS_5ShapeEEEbRKT_(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

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

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

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

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

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

; 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

declare noundef zeroext i1 @_ZNK6ngraph9Dimension11same_schemeERKS0_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA69_cJRKNS_9DimensionERA11_KcS4_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(69), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(11), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA101_cJRKNS_9DimensionERA11_KcS4_EEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(101), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(11), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #6

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

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

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

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

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

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

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

declare void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) local_unnamed_addr #5

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

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

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


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