; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/experimental/dyn_pad.ll (ZN6ngraph2op2v06DynPad24validate_and_infer_typesEv)

; 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_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.78" }
%"class.std::vector.78" = type { %"struct.std::_Vector_base.79" }
%"struct.std::_Vector_base.79" = 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.83" = type { ptr, i64 }

@.str = external hidden unnamed_addr constant [36 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.3 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [36 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v06DynPad24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(684) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.ngraph::element::Type", align 4
  %4 = alloca %"class.ngraph::element::Type", align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %8 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca i1, align 1
  %11 = alloca %"class.ngraph::element::Type", align 4
  %12 = alloca %"class.ngraph::element::Type", align 4
  %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 i1, align 1
  %17 = alloca %"class.ngraph::element::Type", align 4
  %18 = alloca %"class.ngraph::element::Type", align 4
  %19 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %20 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca i1, align 1
  %23 = alloca %"class.ngraph::Dimension", align 8
  %24 = alloca %"class.ngraph::Dimension", align 8
  %25 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %26 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca i1, align 1
  %29 = alloca %"class.ngraph::PartialShape", align 8
  %30 = alloca %"class.ngraph::Dimension", align 8
  %31 = alloca %"class.ngraph::PartialShape", align 8
  %32 = alloca %"class.ngraph::Dimension", align 8
  %33 = alloca %"class.ngraph::PartialShape", align 8
  %34 = alloca %"class.ngraph::Dimension", align 8
  %35 = alloca %"class.ngraph::Dimension", align 8
  %36 = alloca %"class.ngraph::Dimension", align 8
  %37 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %38 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca i1, align 1
  %41 = alloca %"class.ngraph::Dimension", align 8
  %42 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %43 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca i1, align 1
  %46 = alloca %"class.ngraph::PartialShape", align 8
  %47 = alloca %"class.std::initializer_list.83", align 8
  %48 = alloca [1 x %"class.ngraph::Dimension"], align 8
  %49 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %50 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca i1, align 1
  %53 = alloca %"class.ngraph::PartialShape", align 8
  %54 = alloca %"class.std::initializer_list.83", align 8
  %55 = alloca [1 x %"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.ngraph::PartialShape", align 8
  %65 = alloca %"class.ngraph::Dimension", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %66 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #8
  %67 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 0)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %3, ptr align 4 %67, i64 4, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #8
  %68 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 3)
          to label %69 unwind label %84

69:                                               ; preds = %1
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %68, i64 4, i1 false), !tbaa.struct !9
  br label %70

70:                                               ; preds = %69
  %71 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4)
          to label %72 unwind label %88

72:                                               ; preds = %70
  br i1 %71, label %114, label %73

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

74:                                               ; preds = %73
  %75 = getelementptr inbounds i8, ptr %7, i64 16
  %76 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA36_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 1 dereferenceable(36) @.str)
          to label %77 unwind label %96

77:                                               ; preds = %74
  store i1 true, ptr %10, align 1
  %78 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %8) #8
  %79 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %8, i32 0, i32 0
  store ptr @.str.1, ptr %79, align 8, !tbaa !12
  %80 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %8, i32 0, i32 1
  store i32 40, ptr %80, align 8, !tbaa !15
  %81 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %8, i32 0, i32 2
  store ptr @.str.2, ptr %81, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(128) %7)
          to label %82 unwind label %100

82:                                               ; preds = %77
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %78, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %83 unwind label %104

83:                                               ; preds = %82
  store i1 false, ptr %10, align 1
  invoke void @__cxa_throw(ptr %78, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %644 unwind label %104

84:                                               ; preds = %1
  %85 = landingpad { ptr, i32 }
          cleanup
  %86 = extractvalue { ptr, i32 } %85, 0
  store ptr %86, ptr %5, align 8
  %87 = extractvalue { ptr, i32 } %85, 1
  store i32 %87, ptr %6, align 4
  br label %638

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

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

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

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

104:                                              ; preds = %83, %82
  %105 = landingpad { ptr, i32 }
          cleanup
  %106 = extractvalue { ptr, i32 } %105, 0
  store ptr %106, ptr %5, align 8
  %107 = extractvalue { ptr, i32 } %105, 1
  store i32 %107, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  br label %108

108:                                              ; preds = %104, %100
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #8
  %109 = load i1, ptr %10, align 1
  br i1 %109, label %110, label %111

110:                                              ; preds = %108
  call void @__cxa_free_exception(ptr %78) #8
  br label %111

111:                                              ; preds = %110, %108
  br label %112

112:                                              ; preds = %111, %96
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7) #8
  br label %113

113:                                              ; preds = %112, %92
  call void @llvm.lifetime.end.p0(i64 392, ptr %7) #8
  br label %637

114:                                              ; preds = %72
  br label %115

115:                                              ; preds = %114
  br label %116

116:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #8
  %117 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 1)
          to label %118 unwind label %135

118:                                              ; preds = %116
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %11, ptr align 4 %117, i64 4, i1 false), !tbaa.struct !9
  br label %119

119:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #8
  invoke void @_ZN6ngraph7element4TypeC2ENS0_6Type_tE(ptr noundef nonnull align 4 dereferenceable(4) %12, i32 noundef 10)
          to label %120 unwind label %139

120:                                              ; preds = %119
  %121 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %122 unwind label %143

122:                                              ; preds = %120
  %123 = xor i1 %121, true
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  br i1 %123, label %124, label %170

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

125:                                              ; preds = %124
  %126 = getelementptr inbounds i8, ptr %13, i64 16
  %127 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA50_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef nonnull align 1 dereferenceable(50) @.str.3, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %128 unwind label %152

128:                                              ; preds = %125
  store i1 true, ptr %16, align 1
  %129 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #8
  %130 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 0
  store ptr @.str.1, ptr %130, align 8, !tbaa !12
  %131 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 1
  store i32 48, ptr %131, align 8, !tbaa !15
  %132 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %14, i32 0, i32 2
  store ptr @.str.4, ptr %132, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(128) %13)
          to label %133 unwind label %156

133:                                              ; preds = %128
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %129, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %134 unwind label %160

134:                                              ; preds = %133
  store i1 false, ptr %16, align 1
  invoke void @__cxa_throw(ptr %129, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %644 unwind label %160

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

139:                                              ; preds = %119
  %140 = landingpad { ptr, i32 }
          cleanup
  %141 = extractvalue { ptr, i32 } %140, 0
  store ptr %141, ptr %5, align 8
  %142 = extractvalue { ptr, i32 } %140, 1
  store i32 %142, ptr %6, align 4
  br label %147

143:                                              ; preds = %120
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %5, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %6, align 4
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %12) #8
  br label %147

147:                                              ; preds = %143, %139
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  br label %635

148:                                              ; preds = %124
  %149 = landingpad { ptr, i32 }
          cleanup
  %150 = extractvalue { ptr, i32 } %149, 0
  store ptr %150, ptr %5, align 8
  %151 = extractvalue { ptr, i32 } %149, 1
  store i32 %151, ptr %6, align 4
  br label %169

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

156:                                              ; preds = %128
  %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 %164

160:                                              ; preds = %134, %133
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  br label %164

164:                                              ; preds = %160, %156
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #8
  %165 = load i1, ptr %16, align 1
  br i1 %165, label %166, label %167

166:                                              ; preds = %164
  call void @__cxa_free_exception(ptr %129) #8
  br label %167

167:                                              ; preds = %166, %164
  br label %168

168:                                              ; preds = %167, %152
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %13) #8
  br label %169

169:                                              ; preds = %168, %148
  call void @llvm.lifetime.end.p0(i64 392, ptr %13) #8
  br label %635

170:                                              ; preds = %122
  br label %171

171:                                              ; preds = %170
  br label %172

172:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #8
  %173 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 2)
          to label %174 unwind label %191

174:                                              ; preds = %172
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %17, ptr align 4 %173, i64 4, i1 false), !tbaa.struct !9
  br label %175

175:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #8
  invoke void @_ZN6ngraph7element4TypeC2ENS0_6Type_tE(ptr noundef nonnull align 4 dereferenceable(4) %18, i32 noundef 10)
          to label %176 unwind label %195

176:                                              ; preds = %175
  %177 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %178 unwind label %199

178:                                              ; preds = %176
  %179 = xor i1 %177, true
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %18) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  br i1 %179, label %180, label %226

180:                                              ; preds = %178
  call void @llvm.lifetime.start.p0(i64 392, ptr %19) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %19)
          to label %181 unwind label %204

181:                                              ; preds = %180
  %182 = getelementptr inbounds i8, ptr %19, i64 16
  %183 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA50_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %182, ptr noundef nonnull align 1 dereferenceable(50) @.str.3, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %184 unwind label %208

184:                                              ; preds = %181
  store i1 true, ptr %22, align 1
  %185 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #8
  %186 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %20, i32 0, i32 0
  store ptr @.str.1, ptr %186, align 8, !tbaa !12
  %187 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %20, i32 0, i32 1
  store i32 54, ptr %187, align 8, !tbaa !15
  %188 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %20, i32 0, i32 2
  store ptr @.str.5, ptr %188, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(128) %19)
          to label %189 unwind label %212

189:                                              ; preds = %184
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %185, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %190 unwind label %216

190:                                              ; preds = %189
  store i1 false, ptr %22, align 1
  invoke void @__cxa_throw(ptr %185, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %644 unwind label %216

191:                                              ; preds = %172
  %192 = landingpad { ptr, i32 }
          cleanup
  %193 = extractvalue { ptr, i32 } %192, 0
  store ptr %193, ptr %5, align 8
  %194 = extractvalue { ptr, i32 } %192, 1
  store i32 %194, ptr %6, align 4
  br label %634

195:                                              ; preds = %175
  %196 = landingpad { ptr, i32 }
          cleanup
  %197 = extractvalue { ptr, i32 } %196, 0
  store ptr %197, ptr %5, align 8
  %198 = extractvalue { ptr, i32 } %196, 1
  store i32 %198, ptr %6, align 4
  br label %203

199:                                              ; preds = %176
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %5, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %6, align 4
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %18) #8
  br label %203

203:                                              ; preds = %199, %195
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  br label %633

204:                                              ; preds = %180
  %205 = landingpad { ptr, i32 }
          cleanup
  %206 = extractvalue { ptr, i32 } %205, 0
  store ptr %206, ptr %5, align 8
  %207 = extractvalue { ptr, i32 } %205, 1
  store i32 %207, ptr %6, align 4
  br label %225

208:                                              ; preds = %181
  %209 = landingpad { ptr, i32 }
          cleanup
  %210 = extractvalue { ptr, i32 } %209, 0
  store ptr %210, ptr %5, align 8
  %211 = extractvalue { ptr, i32 } %209, 1
  store i32 %211, ptr %6, align 4
  br label %224

212:                                              ; preds = %184
  %213 = landingpad { ptr, i32 }
          cleanup
  %214 = extractvalue { ptr, i32 } %213, 0
  store ptr %214, ptr %5, align 8
  %215 = extractvalue { ptr, i32 } %213, 1
  store i32 %215, ptr %6, align 4
  br label %220

216:                                              ; preds = %190, %189
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  br label %220

220:                                              ; preds = %216, %212
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #8
  %221 = load i1, ptr %22, align 1
  br i1 %221, label %222, label %223

222:                                              ; preds = %220
  call void @__cxa_free_exception(ptr %185) #8
  br label %223

223:                                              ; preds = %222, %220
  br label %224

224:                                              ; preds = %223, %208
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %19) #8
  br label %225

225:                                              ; preds = %224, %204
  call void @llvm.lifetime.end.p0(i64 392, ptr %19) #8
  br label %633

226:                                              ; preds = %178
  br label %227

227:                                              ; preds = %226
  br label %228

228:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #8
  %229 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 3)
          to label %230 unwind label %254

230:                                              ; preds = %228
  %231 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %229)
          to label %232 unwind label %254

232:                                              ; preds = %230
  %233 = getelementptr inbounds %"class.ngraph::Dimension", ptr %23, i32 0, i32 0
  %234 = getelementptr inbounds { i64, i64 }, ptr %233, i32 0, i32 0
  %235 = extractvalue { i64, i64 } %231, 0
  store i64 %235, ptr %234, align 8
  %236 = getelementptr inbounds { i64, i64 }, ptr %233, i32 0, i32 1
  %237 = extractvalue { i64, i64 } %231, 1
  store i64 %237, ptr %236, align 8
  br label %238

238:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %24, i64 noundef 0)
          to label %239 unwind label %258

239:                                              ; preds = %238
  %240 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %23, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %241 unwind label %258

241:                                              ; preds = %239
  %242 = xor i1 %240, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  br i1 %242, label %243, label %284

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

244:                                              ; preds = %243
  %245 = getelementptr inbounds i8, ptr %25, i64 16
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA53_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %245, ptr noundef nonnull align 1 dereferenceable(53) @.str.6, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %247 unwind label %266

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

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

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

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

258:                                              ; preds = %239, %238
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %5, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  br label %632

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

266:                                              ; preds = %244
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %5, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %6, align 4
  br label %282

270:                                              ; preds = %247
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %5, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %6, align 4
  br label %278

274:                                              ; preds = %253, %252
  %275 = landingpad { ptr, i32 }
          cleanup
  %276 = extractvalue { ptr, i32 } %275, 0
  store ptr %276, ptr %5, align 8
  %277 = extractvalue { ptr, i32 } %275, 1
  store i32 %277, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  br label %278

278:                                              ; preds = %274, %270
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  %279 = load i1, ptr %28, align 1
  br i1 %279, label %280, label %281

280:                                              ; preds = %278
  call void @__cxa_free_exception(ptr %248) #8
  br label %281

281:                                              ; preds = %280, %278
  br label %282

282:                                              ; preds = %281, %266
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %25) #8
  br label %283

283:                                              ; preds = %282, %262
  call void @llvm.lifetime.end.p0(i64 392, ptr %25) #8
  br label %632

284:                                              ; preds = %241
  br label %285

285:                                              ; preds = %284
  br label %286

286:                                              ; preds = %285
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #8
  %287 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 0)
          to label %288 unwind label %340

288:                                              ; preds = %286
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %287)
          to label %289 unwind label %340

289:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #8
  %290 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %291 unwind label %344

291:                                              ; preds = %289
  %292 = getelementptr inbounds %"class.ngraph::Dimension", ptr %30, i32 0, i32 0
  %293 = getelementptr inbounds { i64, i64 }, ptr %292, i32 0, i32 0
  %294 = extractvalue { i64, i64 } %290, 0
  store i64 %294, ptr %293, align 8
  %295 = getelementptr inbounds { i64, i64 }, ptr %292, i32 0, i32 1
  %296 = extractvalue { i64, i64 } %290, 1
  store i64 %296, ptr %295, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #8
  %297 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 1)
          to label %298 unwind label %348

298:                                              ; preds = %291
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) %297)
          to label %299 unwind label %348

299:                                              ; preds = %298
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #8
  %300 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %301 unwind label %352

301:                                              ; preds = %299
  %302 = getelementptr inbounds %"class.ngraph::Dimension", ptr %32, i32 0, i32 0
  %303 = getelementptr inbounds { i64, i64 }, ptr %302, i32 0, i32 0
  %304 = extractvalue { i64, i64 } %300, 0
  store i64 %304, ptr %303, align 8
  %305 = getelementptr inbounds { i64, i64 }, ptr %302, i32 0, i32 1
  %306 = extractvalue { i64, i64 } %300, 1
  store i64 %306, ptr %305, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #8
  %307 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 2)
          to label %308 unwind label %356

308:                                              ; preds = %301
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %307)
          to label %309 unwind label %356

309:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #8
  %310 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %311 unwind label %360

311:                                              ; preds = %309
  %312 = getelementptr inbounds %"class.ngraph::Dimension", ptr %34, i32 0, i32 0
  %313 = getelementptr inbounds { i64, i64 }, ptr %312, i32 0, i32 0
  %314 = extractvalue { i64, i64 } %310, 0
  store i64 %314, ptr %313, align 8
  %315 = getelementptr inbounds { i64, i64 }, ptr %312, i32 0, i32 1
  %316 = extractvalue { i64, i64 } %310, 1
  store i64 %316, ptr %315, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #8
  %317 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %318 unwind label %364

318:                                              ; preds = %311
  %319 = getelementptr inbounds %"class.ngraph::Dimension", ptr %35, i32 0, i32 0
  %320 = getelementptr inbounds { i64, i64 }, ptr %319, i32 0, i32 0
  %321 = extractvalue { i64, i64 } %317, 0
  store i64 %321, ptr %320, align 8
  %322 = getelementptr inbounds { i64, i64 }, ptr %319, i32 0, i32 1
  %323 = extractvalue { i64, i64 } %317, 1
  store i64 %323, ptr %322, align 8
  br label %324

324:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %36, i64 noundef 1)
          to label %325 unwind label %368

325:                                              ; preds = %324
  %326 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %327 unwind label %368

327:                                              ; preds = %325
  %328 = xor i1 %326, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #8
  br i1 %328, label %329, label %394

329:                                              ; preds = %327
  call void @llvm.lifetime.start.p0(i64 392, ptr %37) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %37)
          to label %330 unwind label %372

330:                                              ; preds = %329
  %331 = getelementptr inbounds i8, ptr %37, i64 16
  %332 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %331, ptr noundef nonnull align 1 dereferenceable(41) @.str.8)
          to label %333 unwind label %376

333:                                              ; preds = %330
  store i1 true, ptr %40, align 1
  %334 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #8
  %335 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 0
  store ptr @.str.1, ptr %335, align 8, !tbaa !12
  %336 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 1
  store i32 72, ptr %336, align 8, !tbaa !15
  %337 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 2
  store ptr @.str.9, ptr %337, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(128) %37)
          to label %338 unwind label %380

338:                                              ; preds = %333
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %334, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %339 unwind label %384

339:                                              ; preds = %338
  store i1 false, ptr %40, align 1
  invoke void @__cxa_throw(ptr %334, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %644 unwind label %384

340:                                              ; preds = %288, %286
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %5, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %6, align 4
  br label %631

344:                                              ; preds = %289
  %345 = landingpad { ptr, i32 }
          cleanup
  %346 = extractvalue { ptr, i32 } %345, 0
  store ptr %346, ptr %5, align 8
  %347 = extractvalue { ptr, i32 } %345, 1
  store i32 %347, ptr %6, align 4
  br label %630

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

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

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

360:                                              ; preds = %309
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %5, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %6, align 4
  br label %626

364:                                              ; preds = %602, %599, %596, %558, %441, %311
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %5, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %6, align 4
  br label %625

368:                                              ; preds = %325, %324
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %5, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #8
  br label %625

372:                                              ; preds = %329
  %373 = landingpad { ptr, i32 }
          cleanup
  %374 = extractvalue { ptr, i32 } %373, 0
  store ptr %374, ptr %5, align 8
  %375 = extractvalue { ptr, i32 } %373, 1
  store i32 %375, ptr %6, align 4
  br label %393

376:                                              ; preds = %330
  %377 = landingpad { ptr, i32 }
          cleanup
  %378 = extractvalue { ptr, i32 } %377, 0
  store ptr %378, ptr %5, align 8
  %379 = extractvalue { ptr, i32 } %377, 1
  store i32 %379, ptr %6, align 4
  br label %392

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

384:                                              ; preds = %339, %338
  %385 = landingpad { ptr, i32 }
          cleanup
  %386 = extractvalue { ptr, i32 } %385, 0
  store ptr %386, ptr %5, align 8
  %387 = extractvalue { ptr, i32 } %385, 1
  store i32 %387, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  br label %388

388:                                              ; preds = %384, %380
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #8
  %389 = load i1, ptr %40, align 1
  br i1 %389, label %390, label %391

390:                                              ; preds = %388
  call void @__cxa_free_exception(ptr %334) #8
  br label %391

391:                                              ; preds = %390, %388
  br label %392

392:                                              ; preds = %391, %376
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %37) #8
  br label %393

393:                                              ; preds = %392, %372
  call void @llvm.lifetime.end.p0(i64 392, ptr %37) #8
  br label %625

394:                                              ; preds = %327
  br label %395

395:                                              ; preds = %394
  br label %396

396:                                              ; preds = %395
  br label %397

397:                                              ; preds = %396
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %41, i64 noundef 1)
          to label %398 unwind label %413

398:                                              ; preds = %397
  %399 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %400 unwind label %413

400:                                              ; preds = %398
  %401 = xor i1 %399, true
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  br i1 %401, label %402, label %439

402:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 392, ptr %42) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %42)
          to label %403 unwind label %417

403:                                              ; preds = %402
  %404 = getelementptr inbounds i8, ptr %42, i64 16
  %405 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %404, ptr noundef nonnull align 1 dereferenceable(41) @.str.10)
          to label %406 unwind label %421

406:                                              ; preds = %403
  store i1 true, ptr %45, align 1
  %407 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #8
  %408 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 0
  store ptr @.str.1, ptr %408, align 8, !tbaa !12
  %409 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 1
  store i32 74, ptr %409, align 8, !tbaa !15
  %410 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %43, i32 0, i32 2
  store ptr @.str.11, ptr %410, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(128) %42)
          to label %411 unwind label %425

411:                                              ; preds = %406
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %407, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %412 unwind label %429

412:                                              ; preds = %411
  store i1 false, ptr %45, align 1
  invoke void @__cxa_throw(ptr %407, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %644 unwind label %429

413:                                              ; preds = %398, %397
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %5, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  br label %625

417:                                              ; preds = %402
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %5, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %6, align 4
  br label %438

421:                                              ; preds = %403
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %5, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %6, align 4
  br label %437

425:                                              ; preds = %406
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %5, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %6, align 4
  br label %433

429:                                              ; preds = %412, %411
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %5, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %433

433:                                              ; preds = %429, %425
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #8
  %434 = load i1, ptr %45, align 1
  br i1 %434, label %435, label %436

435:                                              ; preds = %433
  call void @__cxa_free_exception(ptr %407) #8
  br label %436

436:                                              ; preds = %435, %433
  br label %437

437:                                              ; preds = %436, %421
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %42) #8
  br label %438

438:                                              ; preds = %437, %417
  call void @llvm.lifetime.end.p0(i64 392, ptr %42) #8
  br label %625

439:                                              ; preds = %400
  br label %440

440:                                              ; preds = %439
  br label %441

441:                                              ; preds = %440
  %442 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %443 unwind label %364

443:                                              ; preds = %441
  br i1 %442, label %444, label %557

444:                                              ; preds = %443
  br label %445

445:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %48, ptr align 8 %30, i64 16, i1 false), !tbaa.struct !17
  %446 = getelementptr inbounds %"class.std::initializer_list.83", ptr %47, i32 0, i32 0
  store ptr %48, ptr %446, align 8, !tbaa !20
  %447 = getelementptr inbounds %"class.std::initializer_list.83", ptr %47, i32 0, i32 1
  store i64 1, ptr %447, align 8, !tbaa !22
  %448 = getelementptr inbounds { ptr, i64 }, ptr %47, i32 0, i32 0
  %449 = load ptr, ptr %448, align 8
  %450 = getelementptr inbounds { ptr, i64 }, ptr %47, i32 0, i32 1
  %451 = load i64, ptr %450, align 8
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr %449, i64 %451)
          to label %452 unwind label %467

452:                                              ; preds = %445
  %453 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %454 unwind label %471

454:                                              ; preds = %452
  %455 = xor i1 %453, true
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br i1 %455, label %456, label %498

456:                                              ; preds = %454
  call void @llvm.lifetime.start.p0(i64 392, ptr %49) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %49)
          to label %457 unwind label %476

457:                                              ; preds = %456
  %458 = getelementptr inbounds i8, ptr %49, i64 16
  %459 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %458, ptr noundef nonnull align 1 dereferenceable(37) @.str.12)
          to label %460 unwind label %480

460:                                              ; preds = %457
  store i1 true, ptr %52, align 1
  %461 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %50) #8
  %462 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %50, i32 0, i32 0
  store ptr @.str.1, ptr %462, align 8, !tbaa !12
  %463 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %50, i32 0, i32 1
  store i32 81, ptr %463, align 8, !tbaa !15
  %464 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %50, i32 0, i32 2
  store ptr @.str.13, ptr %464, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(128) %49)
          to label %465 unwind label %484

465:                                              ; preds = %460
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %461, ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %466 unwind label %488

466:                                              ; preds = %465
  store i1 false, ptr %52, align 1
  invoke void @__cxa_throw(ptr %461, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %644 unwind label %488

467:                                              ; preds = %445
  %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 = %452
  %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 @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %475

475:                                              ; preds = %471, %467
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %625

476:                                              ; preds = %456
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %5, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %6, align 4
  br label %497

480:                                              ; preds = %457
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %5, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %6, align 4
  br label %496

484:                                              ; preds = %460
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %5, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %6, align 4
  br label %492

488:                                              ; preds = %466, %465
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %5, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %492

492:                                              ; preds = %488, %484
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #8
  %493 = load i1, ptr %52, align 1
  br i1 %493, label %494, label %495

494:                                              ; preds = %492
  call void @__cxa_free_exception(ptr %461) #8
  br label %495

495:                                              ; preds = %494, %492
  br label %496

496:                                              ; preds = %495, %480
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %49) #8
  br label %497

497:                                              ; preds = %496, %476
  call void @llvm.lifetime.end.p0(i64 392, ptr %49) #8
  br label %625

498:                                              ; preds = %454
  br label %499

499:                                              ; preds = %498
  br label %500

500:                                              ; preds = %499
  br label %501

501:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %55, ptr align 8 %30, i64 16, i1 false), !tbaa.struct !17
  %502 = getelementptr inbounds %"class.std::initializer_list.83", ptr %54, i32 0, i32 0
  store ptr %55, ptr %502, align 8, !tbaa !20
  %503 = getelementptr inbounds %"class.std::initializer_list.83", ptr %54, i32 0, i32 1
  store i64 1, ptr %503, align 8, !tbaa !22
  %504 = getelementptr inbounds { ptr, i64 }, ptr %54, i32 0, i32 0
  %505 = load ptr, ptr %504, align 8
  %506 = getelementptr inbounds { ptr, i64 }, ptr %54, i32 0, i32 1
  %507 = load i64, ptr %506, align 8
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr %505, i64 %507)
          to label %508 unwind label %523

508:                                              ; preds = %501
  %509 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %510 unwind label %527

510:                                              ; preds = %508
  %511 = xor i1 %509, true
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  br i1 %511, label %512, label %554

512:                                              ; preds = %510
  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 %513 unwind label %532

513:                                              ; preds = %512
  %514 = getelementptr inbounds i8, ptr %56, i64 16
  %515 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %514, ptr noundef nonnull align 1 dereferenceable(37) @.str.14)
          to label %516 unwind label %536

516:                                              ; preds = %513
  store i1 true, ptr %59, align 1
  %517 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %57) #8
  %518 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %57, i32 0, i32 0
  store ptr @.str.1, ptr %518, align 8, !tbaa !12
  %519 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %57, i32 0, i32 1
  store i32 85, ptr %519, align 8, !tbaa !15
  %520 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %57, i32 0, i32 2
  store ptr @.str.15, ptr %520, align 8, !tbaa !16
  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 %521 unwind label %540

521:                                              ; preds = %516
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %517, ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %522 unwind label %544

522:                                              ; preds = %521
  store i1 false, ptr %59, align 1
  invoke void @__cxa_throw(ptr %517, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %644 unwind label %544

523:                                              ; preds = %501
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %5, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %6, align 4
  br label %531

527:                                              ; preds = %508
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %5, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %6, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %531

531:                                              ; preds = %527, %523
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  br label %625

532:                                              ; preds = %512
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %5, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %6, align 4
  br label %553

536:                                              ; preds = %513
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %5, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %6, align 4
  br label %552

540:                                              ; preds = %516
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %5, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %6, align 4
  br label %548

544:                                              ; preds = %522, %521
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %5, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  br label %548

548:                                              ; preds = %544, %540
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #8
  %549 = load i1, ptr %59, align 1
  br i1 %549, label %550, label %551

550:                                              ; preds = %548
  call void @__cxa_free_exception(ptr %517) #8
  br label %551

551:                                              ; preds = %550, %548
  br label %552

552:                                              ; preds = %551, %536
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %56) #8
  br label %553

553:                                              ; preds = %552, %532
  call void @llvm.lifetime.end.p0(i64 392, ptr %56) #8
  br label %625

554:                                              ; preds = %510
  br label %555

555:                                              ; preds = %554
  br label %556

556:                                              ; preds = %555
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %35, ptr align 8 %30, i64 16, i1 false), !tbaa.struct !17
  br label %607

557:                                              ; preds = %443
  br label %558

558:                                              ; preds = %557
  %559 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %560 unwind label %364

560:                                              ; preds = %558
  br i1 %559, label %594, label %561

561:                                              ; preds = %560
  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 %562 unwind label %572

562:                                              ; preds = %561
  %563 = getelementptr inbounds i8, ptr %60, i64 16
  %564 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %563, ptr noundef nonnull align 1 dereferenceable(39) @.str.16)
          to label %565 unwind label %576

565:                                              ; preds = %562
  store i1 true, ptr %63, align 1
  %566 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %61) #8
  %567 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %61, i32 0, i32 0
  store ptr @.str.1, ptr %567, align 8, !tbaa !12
  %568 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %61, i32 0, i32 1
  store i32 94, ptr %568, align 8, !tbaa !15
  %569 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %61, i32 0, i32 2
  store ptr @.str.17, ptr %569, align 8, !tbaa !16
  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 %570 unwind label %580

570:                                              ; preds = %565
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %566, ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %571 unwind label %584

571:                                              ; preds = %570
  store i1 false, ptr %63, align 1
  invoke void @__cxa_throw(ptr %566, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %644 unwind label %584

572:                                              ; preds = %561
  %573 = landingpad { ptr, i32 }
          cleanup
  %574 = extractvalue { ptr, i32 } %573, 0
  store ptr %574, ptr %5, align 8
  %575 = extractvalue { ptr, i32 } %573, 1
  store i32 %575, ptr %6, align 4
  br label %593

576:                                              ; preds = %562
  %577 = landingpad { ptr, i32 }
          cleanup
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %5, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %6, align 4
  br label %592

580:                                              ; preds = %565
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %5, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %6, align 4
  br label %588

584:                                              ; preds = %571, %570
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %5, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  br label %588

588:                                              ; preds = %584, %580
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #8
  %589 = load i1, ptr %63, align 1
  br i1 %589, label %590, label %591

590:                                              ; preds = %588
  call void @__cxa_free_exception(ptr %566) #8
  br label %591

591:                                              ; preds = %590, %588
  br label %592

592:                                              ; preds = %591, %576
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %60) #8
  br label %593

593:                                              ; preds = %592, %572
  call void @llvm.lifetime.end.p0(i64 392, ptr %60) #8
  br label %625

594:                                              ; preds = %560
  br label %595

595:                                              ; preds = %594
  br label %596

596:                                              ; preds = %595
  %597 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %598 unwind label %364

598:                                              ; preds = %596
  br i1 %597, label %599, label %602

599:                                              ; preds = %598
  %600 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %31, i64 noundef 0)
          to label %601 unwind label %364

601:                                              ; preds = %599
  br label %605

602:                                              ; preds = %598
  %603 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %33, i64 noundef 0)
          to label %604 unwind label %364

604:                                              ; preds = %602
  br label %605

605:                                              ; preds = %604, %601
  %606 = phi ptr [ %600, %601 ], [ %603, %604 ]
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %35, ptr align 8 %606, i64 16, i1 false), !tbaa.struct !17
  br label %607

607:                                              ; preds = %605, %556
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %65, ptr align 8 %35, i64 16, i1 false), !tbaa.struct !17
  %608 = getelementptr inbounds { i64, i64 }, ptr %65, i32 0, i32 0
  %609 = load i64, ptr %608, align 8
  %610 = getelementptr inbounds { i64, i64 }, ptr %65, i32 0, i32 1
  %611 = load i64, ptr %610, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %64, i64 %609, i64 %611)
          to label %612 unwind label %616

612:                                              ; preds = %607
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 1, i1 noundef zeroext true)
          to label %613 unwind label %620

613:                                              ; preds = %612
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 2, i1 noundef zeroext true)
          to label %614 unwind label %620

614:                                              ; preds = %613
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %66, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %615 unwind label %620

615:                                              ; preds = %614
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %17) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #8
  ret void

616:                                              ; preds = %607
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %5, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %6, align 4
  br label %624

620:                                              ; preds = %614, %613, %612
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %5, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %6, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  br label %624

624:                                              ; preds = %620, %616
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  br label %625

625:                                              ; preds = %624, %593, %553, %531, %497, %475, %438, %413, %393, %368, %364
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  br label %626

626:                                              ; preds = %625, %360
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  br label %627

627:                                              ; preds = %626, %356
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  br label %628

628:                                              ; preds = %627, %352
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  br label %629

629:                                              ; preds = %628, %348
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #8
  br label %630

630:                                              ; preds = %629, %344
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  br label %631

631:                                              ; preds = %630, %340
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #8
  br label %632

632:                                              ; preds = %631, %283, %258, %254
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #8
  br label %633

633:                                              ; preds = %632, %225, %203
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %17) #8
  br label %634

634:                                              ; preds = %633, %191
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  br label %635

635:                                              ; preds = %634, %169, %147
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11) #8
  br label %636

636:                                              ; preds = %635, %135
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  br label %637

637:                                              ; preds = %636, %113, %88
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %4) #8
  br label %638

638:                                              ; preds = %637, %84
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #8
  br label %639

639:                                              ; preds = %638
  %640 = load ptr, ptr %5, align 8
  %641 = load i32, ptr %6, align 4
  %642 = insertvalue { ptr, i32 } poison, ptr %640, 0
  %643 = insertvalue { ptr, i32 } %642, i32 %641, 1
  resume { ptr, i32 } %643

644:                                              ; preds = %571, %522, %466, %412, %339, %253, %190, %134, %83
  unreachable
}

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

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

declare noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA36_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(36)) #4

declare ptr @__cxa_allocate_exception(i64)

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

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

declare void @__cxa_free_exception(ptr)

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph7element4TypeC2ENS0_6Type_tE(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) unnamed_addr #5 align 2

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

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

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

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

declare noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA53_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(53), ptr noundef nonnull align 8 dereferenceable(16)) #4

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(41)) #4

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

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(37)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(39)) #4

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32)) #2

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

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

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

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

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

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


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

%"class.ngraph::element::Type" = type { i32 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.78" }
%"class.std::vector.78" = type { %"struct.std::_Vector_base.79" }
%"struct.std::_Vector_base.79" = 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 }

@.str = external hidden unnamed_addr constant [36 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.3 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [36 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v06DynPad24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(684) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::element::Type", align 4
  %3 = alloca %"class.ngraph::element::Type", align 4
  %4 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %5 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.ngraph::element::Type", align 4
  %8 = alloca %"class.ngraph::element::Type", align 4
  %9 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %10 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.ngraph::element::Type", align 4
  %13 = alloca %"class.ngraph::element::Type", align 4
  %14 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %15 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.ngraph::Dimension", align 8
  %18 = alloca %"class.ngraph::Dimension", align 8
  %19 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %20 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.ngraph::PartialShape", align 8
  %23 = alloca %"class.ngraph::Dimension", align 8
  %24 = alloca %"class.ngraph::PartialShape", align 8
  %25 = alloca %"class.ngraph::Dimension", align 8
  %26 = alloca %"class.ngraph::PartialShape", align 8
  %27 = alloca %"class.ngraph::Dimension", align 8
  %28 = alloca %"class.ngraph::Dimension", align 8
  %29 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %30 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", 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::PartialShape", align 8
  %37 = alloca [1 x %"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.ngraph::PartialShape", align 8
  %42 = alloca [1 x %"class.ngraph::Dimension"], align 8
  %43 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %44 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %47 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.ngraph::PartialShape", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #8
  %50 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %51 = load i32, ptr %50, align 4, !tbaa !5
  store i32 %51, ptr %2, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #8
  %52 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
          to label %53 unwind label %68

53:                                               ; preds = %1
  %54 = load i32, ptr %52, align 4, !tbaa !5
  store i32 %54, ptr %3, align 4, !tbaa !5
  %55 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %56 unwind label %70

56:                                               ; preds = %53
  br i1 %55, label %82, label %57

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

58:                                               ; preds = %57
  %59 = getelementptr inbounds i8, ptr %4, i64 16
  %60 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA36_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull align 1 dereferenceable(36) @.str)
          to label %61 unwind label %74

61:                                               ; preds = %58
  %62 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #8
  store ptr @.str.1, ptr %5, align 8, !tbaa !9
  %63 = getelementptr inbounds i8, ptr %5, i64 8
  store i32 40, ptr %63, align 8, !tbaa !13
  %64 = getelementptr inbounds i8, ptr %5, i64 16
  store ptr @.str.2, ptr %64, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(128) %4)
          to label %65 unwind label %.thread

65:                                               ; preds = %61
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %67 unwind label %.thread139

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

67:                                               ; preds = %65
  invoke void @__cxa_throw(ptr nonnull %62, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %77

68:                                               ; preds = %1
  %69 = landingpad { ptr, i32 }
          cleanup
  br label %386

70:                                               ; preds = %53
  %71 = landingpad { ptr, i32 }
          cleanup
  br label %385

72:                                               ; preds = %57
  %73 = landingpad { ptr, i32 }
          cleanup
  br label %81

74:                                               ; preds = %58
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %80

.thread:                                          ; preds = %61
  %76 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #8
  br label %79

77:                                               ; preds = %67
  %78 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #8
  br label %80

79:                                               ; preds = %.thread139, %.thread
  %.pn138 = phi { ptr, i32 } [ %76, %.thread ], [ %66, %.thread139 ]
  call void @__cxa_free_exception(ptr %62) #8
  br label %80

80:                                               ; preds = %77, %79, %74
  %.pn.pn = phi { ptr, i32 } [ %.pn138, %79 ], [ %78, %77 ], [ %75, %74 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %4) #8
  br label %81

81:                                               ; preds = %80, %72
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %80 ], [ %73, %72 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %4) #8
  br label %385

82:                                               ; preds = %56
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #8
  %83 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %84 unwind label %99

84:                                               ; preds = %82
  %85 = load i32, ptr %83, align 4, !tbaa !5
  store i32 %85, ptr %7, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #8
  call void @_ZN6ngraph7element4TypeC2ENS0_6Type_tE(ptr noundef nonnull align 4 dereferenceable(4) %8, i32 noundef 10)
  %86 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %87 unwind label %101

87:                                               ; preds = %84
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #8
  br i1 %86, label %113, label %88

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

89:                                               ; preds = %88
  %90 = getelementptr inbounds i8, ptr %9, i64 16
  %91 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA50_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull align 1 dereferenceable(50) @.str.3, ptr noundef nonnull align 4 dereferenceable(4) %7)
          to label %92 unwind label %105

92:                                               ; preds = %89
  %93 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #8
  store ptr @.str.1, ptr %10, align 8, !tbaa !9
  %94 = getelementptr inbounds i8, ptr %10, i64 8
  store i32 48, ptr %94, align 8, !tbaa !13
  %95 = getelementptr inbounds i8, ptr %10, i64 16
  store ptr @.str.4, ptr %95, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(128) %9)
          to label %96 unwind label %.thread141

96:                                               ; preds = %92
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %93, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %98 unwind label %.thread145

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

98:                                               ; preds = %96
  invoke void @__cxa_throw(ptr nonnull %93, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %108

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

101:                                              ; preds = %84
  %102 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #8
  br label %383

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

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

.thread141:                                       ; preds = %92
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #8
  br label %110

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

110:                                              ; preds = %.thread145, %.thread141
  %.pn128144 = phi { ptr, i32 } [ %107, %.thread141 ], [ %97, %.thread145 ]
  call void @__cxa_free_exception(ptr %93) #8
  br label %111

111:                                              ; preds = %108, %110, %105
  %.pn128.pn = phi { ptr, i32 } [ %.pn128144, %110 ], [ %109, %108 ], [ %106, %105 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %9) #8
  br label %112

112:                                              ; preds = %111, %103
  %.pn128.pn.pn = phi { ptr, i32 } [ %.pn128.pn, %111 ], [ %104, %103 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %9) #8
  br label %383

113:                                              ; preds = %87
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #8
  %114 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2)
          to label %115 unwind label %130

115:                                              ; preds = %113
  %116 = load i32, ptr %114, align 4, !tbaa !5
  store i32 %116, ptr %12, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #8
  call void @_ZN6ngraph7element4TypeC2ENS0_6Type_tE(ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 10)
  %117 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %118 unwind label %132

118:                                              ; preds = %115
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %13) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #8
  br i1 %117, label %144, label %119

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

120:                                              ; preds = %119
  %121 = getelementptr inbounds i8, ptr %14, i64 16
  %122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA50_cJRNS_7element4TypeEEEERSoS5_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef nonnull align 1 dereferenceable(50) @.str.3, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %123 unwind label %136

123:                                              ; preds = %120
  %124 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #8
  store ptr @.str.1, ptr %15, align 8, !tbaa !9
  %125 = getelementptr inbounds i8, ptr %15, i64 8
  store i32 54, ptr %125, align 8, !tbaa !13
  %126 = getelementptr inbounds i8, ptr %15, i64 16
  store ptr @.str.5, ptr %126, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(128) %14)
          to label %127 unwind label %.thread147

127:                                              ; preds = %123
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %124, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %129 unwind label %.thread151

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

129:                                              ; preds = %127
  invoke void @__cxa_throw(ptr nonnull %124, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %139

130:                                              ; preds = %113
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %382

132:                                              ; preds = %115
  %133 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %13) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #8
  br label %381

134:                                              ; preds = %119
  %135 = landingpad { ptr, i32 }
          cleanup
  br label %143

136:                                              ; preds = %120
  %137 = landingpad { ptr, i32 }
          cleanup
  br label %142

.thread147:                                       ; preds = %123
  %138 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #8
  br label %141

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

141:                                              ; preds = %.thread151, %.thread147
  %.pn122150 = phi { ptr, i32 } [ %138, %.thread147 ], [ %128, %.thread151 ]
  call void @__cxa_free_exception(ptr %124) #8
  br label %142

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

143:                                              ; preds = %142, %134
  %.pn122.pn.pn = phi { ptr, i32 } [ %.pn122.pn, %142 ], [ %135, %134 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %14) #8
  br label %381

144:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #8
  %145 = 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 %146 unwind label %166

146:                                              ; preds = %144
  %147 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %145)
          to label %148 unwind label %166

148:                                              ; preds = %146
  %149 = extractvalue { i64, i64 } %147, 0
  store i64 %149, ptr %17, align 8
  %150 = getelementptr inbounds i8, ptr %17, i64 8
  %151 = extractvalue { i64, i64 } %147, 1
  store i64 %151, ptr %150, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %18, i64 noundef 0)
          to label %152 unwind label %168

152:                                              ; preds = %148
  %153 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %154 unwind label %168

154:                                              ; preds = %152
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #8
  br i1 %153, label %180, label %155

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

156:                                              ; preds = %155
  %157 = getelementptr inbounds i8, ptr %19, i64 16
  %158 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA53_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull align 1 dereferenceable(53) @.str.6, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %159 unwind label %172

159:                                              ; preds = %156
  %160 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #8
  store ptr @.str.1, ptr %20, align 8, !tbaa !9
  %161 = getelementptr inbounds i8, ptr %20, i64 8
  store i32 61, ptr %161, align 8, !tbaa !13
  %162 = getelementptr inbounds i8, ptr %20, i64 16
  store ptr @.str.7, ptr %162, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(128) %19)
          to label %163 unwind label %.thread153

163:                                              ; preds = %159
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %160, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %165 unwind label %.thread157

.thread157:                                       ; preds = %163
  %164 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #8
  br label %177

165:                                              ; preds = %163
  invoke void @__cxa_throw(ptr nonnull %160, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %175

166:                                              ; preds = %146, %144
  %167 = landingpad { ptr, i32 }
          cleanup
  br label %380

168:                                              ; preds = %152, %148
  %169 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #8
  br label %380

170:                                              ; preds = %155
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %179

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

.thread153:                                       ; preds = %159
  %174 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #8
  br label %177

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

177:                                              ; preds = %.thread157, %.thread153
  %.pn117156 = phi { ptr, i32 } [ %174, %.thread153 ], [ %164, %.thread157 ]
  call void @__cxa_free_exception(ptr %160) #8
  br label %178

178:                                              ; preds = %175, %177, %172
  %.pn117.pn = phi { ptr, i32 } [ %.pn117156, %177 ], [ %176, %175 ], [ %173, %172 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %19) #8
  br label %179

179:                                              ; preds = %178, %170
  %.pn117.pn.pn = phi { ptr, i32 } [ %.pn117.pn, %178 ], [ %171, %170 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %19) #8
  br label %380

180:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  %181 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
          to label %182 unwind label %220

182:                                              ; preds = %180
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %183 unwind label %220

183:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #8
  %184 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %185 unwind label %222

185:                                              ; preds = %183
  %186 = extractvalue { i64, i64 } %184, 0
  store i64 %186, ptr %23, align 8
  %187 = getelementptr inbounds i8, ptr %23, i64 8
  %188 = extractvalue { i64, i64 } %184, 1
  store i64 %188, ptr %187, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  %189 = 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 %190 unwind label %224

190:                                              ; preds = %185
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %189)
          to label %191 unwind label %224

191:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) #8
  %192 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %193 unwind label %226

193:                                              ; preds = %191
  %194 = extractvalue { i64, i64 } %192, 0
  store i64 %194, ptr %25, align 8
  %195 = getelementptr inbounds i8, ptr %25, i64 8
  %196 = extractvalue { i64, i64 } %192, 1
  store i64 %196, ptr %195, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #8
  %197 = 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 %198 unwind label %228

198:                                              ; preds = %193
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %197)
          to label %199 unwind label %228

199:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #8
  %200 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %201 unwind label %230

201:                                              ; preds = %199
  %202 = extractvalue { i64, i64 } %200, 0
  store i64 %202, ptr %27, align 8
  %203 = getelementptr inbounds i8, ptr %27, i64 8
  %204 = extractvalue { i64, i64 } %200, 1
  store i64 %204, ptr %203, align 8
  %205 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %28, i64 noundef 1)
          to label %206 unwind label %234

206:                                              ; preds = %201
  %207 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %208 unwind label %234

208:                                              ; preds = %206
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #8
  br i1 %207, label %246, label %209

209:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %29) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %29)
          to label %210 unwind label %236

210:                                              ; preds = %209
  %211 = getelementptr inbounds i8, ptr %29, i64 16
  %212 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef nonnull align 1 dereferenceable(41) @.str.8)
          to label %213 unwind label %238

213:                                              ; preds = %210
  %214 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #8
  store ptr @.str.1, ptr %30, align 8, !tbaa !9
  %215 = getelementptr inbounds i8, ptr %30, i64 8
  store i32 72, ptr %215, align 8, !tbaa !13
  %216 = getelementptr inbounds i8, ptr %30, i64 16
  store ptr @.str.9, ptr %216, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(128) %29)
          to label %217 unwind label %.thread159

217:                                              ; preds = %213
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %214, ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %219 unwind label %.thread163

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

219:                                              ; preds = %217
  invoke void @__cxa_throw(ptr nonnull %214, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %241

220:                                              ; preds = %182, %180
  %221 = landingpad { ptr, i32 }
          cleanup
  br label %379

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

224:                                              ; preds = %190, %185
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %377

226:                                              ; preds = %191
  %227 = landingpad { ptr, i32 }
          cleanup
  br label %376

228:                                              ; preds = %198, %193
  %229 = landingpad { ptr, i32 }
          cleanup
  br label %375

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

232:                                              ; preds = %.invoke, %360, %336, %273
  %233 = landingpad { ptr, i32 }
          cleanup
  br label %374

234:                                              ; preds = %206, %201
  %235 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #8
  br label %374

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

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

.thread159:                                       ; preds = %213
  %240 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  br label %243

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

243:                                              ; preds = %.thread163, %.thread159
  %.pn106162 = phi { ptr, i32 } [ %240, %.thread159 ], [ %218, %.thread163 ]
  call void @__cxa_free_exception(ptr %214) #8
  br label %244

244:                                              ; preds = %241, %243, %238
  %.pn106.pn = phi { ptr, i32 } [ %.pn106162, %243 ], [ %242, %241 ], [ %239, %238 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %29) #8
  br label %245

245:                                              ; preds = %244, %236
  %.pn106.pn.pn = phi { ptr, i32 } [ %.pn106.pn, %244 ], [ %237, %236 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %29) #8
  br label %374

246:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #8
  invoke void @_ZN6ngraph9DimensionC1El(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef 1)
          to label %247 unwind label %261

247:                                              ; preds = %246
  %248 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %249 unwind label %261

249:                                              ; preds = %247
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  br i1 %248, label %273, label %250

250:                                              ; preds = %249
  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 %251 unwind label %263

251:                                              ; preds = %250
  %252 = getelementptr inbounds i8, ptr %33, i64 16
  %253 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %252, ptr noundef nonnull align 1 dereferenceable(41) @.str.10)
          to label %254 unwind label %265

254:                                              ; preds = %251
  %255 = 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 !9
  %256 = getelementptr inbounds i8, ptr %34, i64 8
  store i32 74, ptr %256, align 8, !tbaa !13
  %257 = getelementptr inbounds i8, ptr %34, i64 16
  store ptr @.str.11, ptr %257, align 8, !tbaa !14
  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 %258 unwind label %.thread165

258:                                              ; preds = %254
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %255, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %260 unwind label %.thread169

.thread169:                                       ; preds = %258
  %259 = 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 %270

260:                                              ; preds = %258
  invoke void @__cxa_throw(ptr nonnull %255, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %268

261:                                              ; preds = %247, %246
  %262 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  br label %374

263:                                              ; preds = %250
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %272

265:                                              ; preds = %251
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %271

.thread165:                                       ; preds = %254
  %267 = 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 %270

268:                                              ; preds = %260
  %269 = 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 %271

270:                                              ; preds = %.thread169, %.thread165
  %.pn102168 = phi { ptr, i32 } [ %267, %.thread165 ], [ %259, %.thread169 ]
  call void @__cxa_free_exception(ptr %255) #8
  br label %271

271:                                              ; preds = %268, %270, %265
  %.pn102.pn = phi { ptr, i32 } [ %.pn102168, %270 ], [ %269, %268 ], [ %266, %265 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %33) #8
  br label %272

272:                                              ; preds = %271, %263
  %.pn102.pn.pn = phi { ptr, i32 } [ %.pn102.pn, %271 ], [ %264, %263 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %33) #8
  br label %374

273:                                              ; preds = %249
  %274 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %275 unwind label %232

275:                                              ; preds = %273
  br i1 %274, label %276, label %336

276:                                              ; preds = %275
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %37, ptr noundef nonnull align 8 dereferenceable(16) %23, i64 16, i1 false), !tbaa.struct !15
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr nonnull %37, i64 1)
          to label %277 unwind label %291

277:                                              ; preds = %276
  %278 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %279 unwind label %293

279:                                              ; preds = %277
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  br i1 %278, label %306, label %280

280:                                              ; preds = %279
  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 %281 unwind label %296

281:                                              ; preds = %280
  %282 = getelementptr inbounds i8, ptr %38, i64 16
  %283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %282, ptr noundef nonnull align 1 dereferenceable(37) @.str.12)
          to label %284 unwind label %298

284:                                              ; preds = %281
  %285 = 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 !9
  %286 = getelementptr inbounds i8, ptr %39, i64 8
  store i32 81, ptr %286, align 8, !tbaa !13
  %287 = getelementptr inbounds i8, ptr %39, i64 16
  store ptr @.str.13, ptr %287, align 8, !tbaa !14
  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 %288 unwind label %.thread171

288:                                              ; preds = %284
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %285, ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %290 unwind label %.thread175

.thread175:                                       ; preds = %288
  %289 = 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 %303

290:                                              ; preds = %288
  invoke void @__cxa_throw(ptr nonnull %285, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %301

291:                                              ; preds = %276
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %295

293:                                              ; preds = %277
  %294 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  br label %295

295:                                              ; preds = %293, %291
  %.pn88 = phi { ptr, i32 } [ %294, %293 ], [ %292, %291 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  br label %374

296:                                              ; preds = %280
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %305

298:                                              ; preds = %281
  %299 = landingpad { ptr, i32 }
          cleanup
  br label %304

.thread171:                                       ; preds = %284
  %300 = 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 %303

301:                                              ; preds = %290
  %302 = 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 %304

303:                                              ; preds = %.thread175, %.thread171
  %.pn98174 = phi { ptr, i32 } [ %300, %.thread171 ], [ %289, %.thread175 ]
  call void @__cxa_free_exception(ptr %285) #8
  br label %304

304:                                              ; preds = %301, %303, %298
  %.pn98.pn = phi { ptr, i32 } [ %.pn98174, %303 ], [ %302, %301 ], [ %299, %298 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38) #8
  br label %305

305:                                              ; preds = %304, %296
  %.pn98.pn.pn = phi { ptr, i32 } [ %.pn98.pn, %304 ], [ %297, %296 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %38) #8
  br label %374

306:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %42, ptr noundef nonnull align 8 dereferenceable(16) %23, i64 16, i1 false), !tbaa.struct !15
  invoke void @_ZN6ngraph12PartialShapeC2ESt16initializer_listINS_9DimensionEE(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr nonnull %42, i64 1)
          to label %307 unwind label %321

307:                                              ; preds = %306
  %308 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %309 unwind label %323

309:                                              ; preds = %307
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  br i1 %308, label %364, label %310

310:                                              ; preds = %309
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %43) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %311 unwind label %326

311:                                              ; preds = %310
  %312 = getelementptr inbounds i8, ptr %43, i64 16
  %313 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %312, ptr noundef nonnull align 1 dereferenceable(37) @.str.14)
          to label %314 unwind label %328

314:                                              ; preds = %311
  %315 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #8
  store ptr @.str.1, ptr %44, align 8, !tbaa !9
  %316 = getelementptr inbounds i8, ptr %44, i64 8
  store i32 85, ptr %316, align 8, !tbaa !13
  %317 = getelementptr inbounds i8, ptr %44, i64 16
  store ptr @.str.15, ptr %317, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %318 unwind label %.thread177

318:                                              ; preds = %314
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %315, ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %320 unwind label %.thread181

.thread181:                                       ; preds = %318
  %319 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #8
  br label %333

320:                                              ; preds = %318
  invoke void @__cxa_throw(ptr nonnull %315, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %331

321:                                              ; preds = %306
  %322 = landingpad { ptr, i32 }
          cleanup
  br label %325

323:                                              ; preds = %307
  %324 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %325

325:                                              ; preds = %323, %321
  %.pn90 = phi { ptr, i32 } [ %324, %323 ], [ %322, %321 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  br label %374

326:                                              ; preds = %310
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %335

328:                                              ; preds = %311
  %329 = landingpad { ptr, i32 }
          cleanup
  br label %334

.thread177:                                       ; preds = %314
  %330 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #8
  br label %333

331:                                              ; preds = %320
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #8
  br label %334

333:                                              ; preds = %.thread181, %.thread177
  %.pn94180 = phi { ptr, i32 } [ %330, %.thread177 ], [ %319, %.thread181 ]
  call void @__cxa_free_exception(ptr %315) #8
  br label %334

334:                                              ; preds = %331, %333, %328
  %.pn94.pn = phi { ptr, i32 } [ %.pn94180, %333 ], [ %332, %331 ], [ %329, %328 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %43) #8
  br label %335

335:                                              ; preds = %334, %326
  %.pn94.pn.pn = phi { ptr, i32 } [ %.pn94.pn, %334 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %43) #8
  br label %374

336:                                              ; preds = %275
  %337 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %338 unwind label %232

338:                                              ; preds = %336
  br i1 %337, label %360, label %339

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

340:                                              ; preds = %339
  %341 = getelementptr inbounds i8, ptr %46, i64 16
  %342 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %341, ptr noundef nonnull align 1 dereferenceable(39) @.str.16)
          to label %343 unwind label %352

343:                                              ; preds = %340
  %344 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %47) #8
  store ptr @.str.1, ptr %47, align 8, !tbaa !9
  %345 = getelementptr inbounds i8, ptr %47, i64 8
  store i32 94, ptr %345, align 8, !tbaa !13
  %346 = getelementptr inbounds i8, ptr %47, i64 16
  store ptr @.str.17, ptr %346, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(128) %46)
          to label %347 unwind label %.thread183

347:                                              ; preds = %343
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %344, ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %349 unwind label %.thread187

.thread187:                                       ; preds = %347
  %348 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #8
  br label %357

349:                                              ; preds = %347
  invoke void @__cxa_throw(ptr nonnull %344, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #9
          to label %387 unwind label %355

350:                                              ; preds = %339
  %351 = landingpad { ptr, i32 }
          cleanup
  br label %359

352:                                              ; preds = %340
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %358

.thread183:                                       ; preds = %343
  %354 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #8
  br label %357

355:                                              ; preds = %349
  %356 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #8
  br label %358

357:                                              ; preds = %.thread187, %.thread183
  %.pn84186 = phi { ptr, i32 } [ %354, %.thread183 ], [ %348, %.thread187 ]
  call void @__cxa_free_exception(ptr %344) #8
  br label %358

358:                                              ; preds = %355, %357, %352
  %.pn84.pn = phi { ptr, i32 } [ %.pn84186, %357 ], [ %356, %355 ], [ %353, %352 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %46) #8
  br label %359

359:                                              ; preds = %358, %350
  %.pn84.pn.pn = phi { ptr, i32 } [ %.pn84.pn, %358 ], [ %351, %350 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %46) #8
  br label %374

360:                                              ; preds = %338
  %361 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %.invoke unwind label %232

.invoke:                                          ; preds = %360
  %. = select i1 %361, ptr %24, ptr %26
  %362 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %., i64 noundef 0)
          to label %363 unwind label %232

363:                                              ; preds = %.invoke
  %.sroa.7.0..sroa_idx11 = getelementptr inbounds i8, ptr %362, i64 8
  br label %364

364:                                              ; preds = %309, %363
  %.sroa.7.0..sroa_idx11.sink = phi ptr [ %.sroa.7.0..sroa_idx11, %363 ], [ %187, %309 ]
  %.sroa.09.0.in = phi ptr [ %362, %363 ], [ %23, %309 ]
  %.sroa.7.0.copyload12 = load i64, ptr %.sroa.7.0..sroa_idx11.sink, align 8, !tbaa !16
  %.sroa.09.0 = load i64, ptr %.sroa.09.0.in, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %49, i64 %.sroa.09.0, i64 %.sroa.7.0.copyload12)
          to label %365 unwind label %369

365:                                              ; preds = %364
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1, i1 noundef zeroext true)
          to label %366 unwind label %371

366:                                              ; preds = %365
  invoke void @_ZN6ngraph4Node30set_input_is_relevant_to_shapeEmb(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2, i1 noundef zeroext true)
          to label %367 unwind label %371

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

368:                                              ; preds = %367
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #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 @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  ret void

369:                                              ; preds = %364
  %370 = landingpad { ptr, i32 }
          cleanup
  br label %373

371:                                              ; preds = %367, %366, %365
  %372 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %373

373:                                              ; preds = %371, %369
  %.pn92 = phi { ptr, i32 } [ %372, %371 ], [ %370, %369 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  br label %374

374:                                              ; preds = %232, %234, %245, %261, %272, %295, %305, %325, %335, %359, %373, %230
  %.pn106.pn.pn.pn.pn = phi { ptr, i32 } [ %231, %230 ], [ %.pn106.pn.pn, %245 ], [ %.pn102.pn.pn, %272 ], [ %.pn98.pn.pn, %305 ], [ %.pn94.pn.pn, %335 ], [ %.pn92, %373 ], [ %.pn90, %325 ], [ %.pn88, %295 ], [ %233, %232 ], [ %.pn84.pn.pn, %359 ], [ %262, %261 ], [ %235, %234 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %375

375:                                              ; preds = %374, %228
  %.pn106.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn.pn, %374 ], [ %229, %228 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  br label %376

376:                                              ; preds = %375, %226
  %.pn106.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn.pn.pn, %375 ], [ %227, %226 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  br label %377

377:                                              ; preds = %376, %224
  %.pn106.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn.pn.pn.pn, %376 ], [ %225, %224 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  br label %378

378:                                              ; preds = %377, %222
  %.pn106.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn.pn.pn.pn.pn, %377 ], [ %223, %222 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %379

379:                                              ; preds = %378, %220
  %.pn106.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn.pn.pn.pn.pn.pn, %378 ], [ %221, %220 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br label %380

380:                                              ; preds = %379, %179, %168, %166
  %.pn117.pn.pn.pn = phi { ptr, i32 } [ %.pn117.pn.pn, %179 ], [ %.pn106.pn.pn.pn.pn.pn.pn.pn.pn.pn, %379 ], [ %169, %168 ], [ %167, %166 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  br label %381

381:                                              ; preds = %380, %143, %132
  %.pn122.pn.pn.pn = phi { ptr, i32 } [ %.pn122.pn.pn, %143 ], [ %.pn117.pn.pn.pn, %380 ], [ %133, %132 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %12) #8
  br label %382

382:                                              ; preds = %381, %130
  %.pn122.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn122.pn.pn.pn, %381 ], [ %131, %130 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #8
  br label %383

383:                                              ; preds = %382, %112, %101
  %.pn128.pn.pn.pn = phi { ptr, i32 } [ %.pn128.pn.pn, %112 ], [ %.pn122.pn.pn.pn.pn, %382 ], [ %102, %101 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %7) #8
  br label %384

384:                                              ; preds = %383, %99
  %.pn128.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn128.pn.pn.pn, %383 ], [ %100, %99 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #8
  br label %385

385:                                              ; preds = %384, %81, %70
  %.pn128.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn128.pn.pn.pn.pn, %384 ], [ %.pn.pn.pn, %81 ], [ %71, %70 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #8
  br label %386

386:                                              ; preds = %385, %68
  %.pn128.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn128.pn.pn.pn.pn.pn, %385 ], [ %69, %68 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #8
  resume { ptr, i32 } %.pn128.pn.pn.pn.pn.pn.pn

387:                                              ; preds = %349, %320, %290, %260, %219, %165, %129, %98, %67
  unreachable
}

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

; Function Attrs: 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) #3

declare noundef zeroext i1 @_ZNK6ngraph7element4Type10compatibleERKS1_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA36_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(36)) local_unnamed_addr #4

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph7element4TypeC2ENS0_6Type_tE(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) unnamed_addr #5 align 2

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA53_cJRNS_9DimensionEEEERSoS4_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(53), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #4

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA41_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(41)) local_unnamed_addr #4

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

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape10compatibleERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA37_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(37)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(39)) local_unnamed_addr #4

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

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

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

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

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

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

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


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