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

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.77" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::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::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::op::v0::LayerNormBackprop" = type { %"class.ngraph::op::util::FusedOp", i8, i8, i64, double }
%"class.ngraph::op::util::FusedOp" = type { %"class.ngraph::op::Op" }
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.5", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.13", %"class.std::set", %"class.std::deque", %"class.std::deque.39", %"class.std::unordered_map", i32, %"class.std::shared_ptr", %"class.std::map" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_set.13" = type { %"class.std::_Hashtable.14" }
%"class.std::_Hashtable.14" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@.str.4 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [64 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.8 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [45 x i8], align 1

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

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

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

declare ptr @__cxa_allocate_exception(i64)

declare void @__cxa_free_exception(ptr)

declare void @__cxa_throw(ptr, ptr, ptr)

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

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

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

declare noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4)) #1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v017LayerNormBackprop28pre_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(704) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.ngraph::element::Type", align 4
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %7 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca i1, align 1
  %10 = alloca ptr, align 8
  %11 = alloca %"class.ngraph::Dimension", align 8
  %12 = alloca i64, align 8
  %13 = alloca i64, align 8
  %14 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %15 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca i1, align 1
  %18 = alloca ptr, align 8
  %19 = alloca %"class.ngraph::Dimension", align 8
  %20 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %21 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca i1, align 1
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca %"class.ngraph::Dimension", align 8
  %27 = alloca %"class.ngraph::Dimension", align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %31 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca i1, align 1
  %34 = alloca ptr, align 8
  %35 = alloca %"class.ngraph::Dimension", align 8
  %36 = alloca i64, 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.std::vector.77", align 8
  %42 = alloca i64, align 8
  %43 = alloca %"class.ngraph::PartialShape", align 8
  %44 = alloca %"class.ngraph::PartialShape", align 8
  %45 = alloca %"class.ngraph::Dimension", align 8
  %46 = alloca %"class.ngraph::PartialShape", align 8
  %47 = alloca %"class.ngraph::Dimension", align 8
  %48 = alloca %"class.ngraph::PartialShape", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %49 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #8
  %50 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 0)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %3, ptr align 4 %50, i64 4, i1 false), !tbaa.struct !9
  br label %51

51:                                               ; preds = %1
  %52 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %53 unwind label %68

53:                                               ; preds = %51
  br i1 %52, label %94, label %54

54:                                               ; preds = %53
  %55 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %56 unwind label %68

56:                                               ; preds = %54
  br i1 %55, label %94, label %57

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

58:                                               ; preds = %57
  %59 = getelementptr inbounds i8, ptr %6, i64 16
  %60 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA67_cJRNS_7element4TypeERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull align 1 dereferenceable(67) @.str.4, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 1 dereferenceable(3) @.str.5)
          to label %61 unwind label %76

61:                                               ; preds = %58
  store i1 true, ptr %9, align 1
  %62 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %7) #8
  %63 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 0
  store ptr @.str.6, ptr %63, align 8, !tbaa !12
  %64 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 1
  store i32 521, ptr %64, align 8, !tbaa !15
  %65 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %7, i32 0, i32 2
  store ptr @.str.7, ptr %65, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(128) %6)
          to label %66 unwind label %80

66:                                               ; 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) %7, ptr noundef %49, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %67 unwind label %84

67:                                               ; preds = %66
  store i1 false, ptr %9, align 1
  invoke void @__cxa_throw(ptr %62, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %552 unwind label %84

68:                                               ; preds = %54, %51
  %69 = landingpad { ptr, i32 }
          cleanup
  %70 = extractvalue { ptr, i32 } %69, 0
  store ptr %70, ptr %4, align 8
  %71 = extractvalue { ptr, i32 } %69, 1
  store i32 %71, ptr %5, align 4
  br label %546

72:                                               ; preds = %57
  %73 = landingpad { ptr, i32 }
          cleanup
  %74 = extractvalue { ptr, i32 } %73, 0
  store ptr %74, ptr %4, align 8
  %75 = extractvalue { ptr, i32 } %73, 1
  store i32 %75, ptr %5, align 4
  br label %93

76:                                               ; preds = %58
  %77 = landingpad { ptr, i32 }
          cleanup
  %78 = extractvalue { ptr, i32 } %77, 0
  store ptr %78, ptr %4, align 8
  %79 = extractvalue { ptr, i32 } %77, 1
  store i32 %79, ptr %5, align 4
  br label %92

80:                                               ; preds = %61
  %81 = landingpad { ptr, i32 }
          cleanup
  %82 = extractvalue { ptr, i32 } %81, 0
  store ptr %82, ptr %4, align 8
  %83 = extractvalue { ptr, i32 } %81, 1
  store i32 %83, ptr %5, align 4
  br label %88

84:                                               ; preds = %67, %66
  %85 = landingpad { ptr, i32 }
          cleanup
  %86 = extractvalue { ptr, i32 } %85, 0
  store ptr %86, ptr %4, align 8
  %87 = extractvalue { ptr, i32 } %85, 1
  store i32 %87, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  br label %88

88:                                               ; preds = %84, %80
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #8
  %89 = load i1, ptr %9, align 1
  br i1 %89, label %90, label %91

90:                                               ; preds = %88
  call void @__cxa_free_exception(ptr %62) #8
  br label %91

91:                                               ; preds = %90, %88
  br label %92

92:                                               ; preds = %91, %76
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %6) #8
  br label %93

93:                                               ; preds = %92, %72
  call void @llvm.lifetime.end.p0(i64 392, ptr %6) #8
  br label %546

94:                                               ; preds = %56, %53
  br label %95

95:                                               ; preds = %94
  br label %96

96:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  %97 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 0)
          to label %98 unwind label %143

98:                                               ; preds = %96
  store ptr %97, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %11) #8
  %99 = load ptr, ptr %10, align 8, !tbaa !5
  %100 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %101 unwind label %147

101:                                              ; preds = %98
  %102 = getelementptr inbounds %"class.ngraph::Dimension", ptr %11, i32 0, i32 0
  %103 = getelementptr inbounds { i64, i64 }, ptr %102, i32 0, i32 0
  %104 = extractvalue { i64, i64 } %100, 0
  store i64 %104, ptr %103, align 8
  %105 = getelementptr inbounds { i64, i64 }, ptr %102, i32 0, i32 1
  %106 = extractvalue { i64, i64 } %100, 1
  store i64 %106, ptr %105, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #8
  store i64 -1, ptr %12, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #8
  store i64 -1, ptr %13, align 8, !tbaa !17
  %107 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %11)
          to label %108 unwind label %151

108:                                              ; preds = %101
  br i1 %107, label %109, label %441

109:                                              ; preds = %108
  %110 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %11)
          to label %111 unwind label %151

111:                                              ; preds = %109
  store i64 %110, ptr %12, align 8, !tbaa !17
  %112 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %49, i32 0, i32 3
  %113 = load i64, ptr %112, align 8, !tbaa !19
  %114 = icmp sge i64 %113, 0
  br i1 %114, label %115, label %118

115:                                              ; preds = %111
  %116 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %49, i32 0, i32 3
  %117 = load i64, ptr %116, align 8, !tbaa !19
  br label %123

118:                                              ; preds = %111
  %119 = load i64, ptr %12, align 8, !tbaa !17
  %120 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %49, i32 0, i32 3
  %121 = load i64, ptr %120, align 8, !tbaa !19
  %122 = add nsw i64 %119, %121
  br label %123

123:                                              ; preds = %118, %115
  %124 = phi i64 [ %117, %115 ], [ %122, %118 ]
  store i64 %124, ptr %13, align 8, !tbaa !17
  br label %125

125:                                              ; preds = %123
  %126 = load i64, ptr %13, align 8, !tbaa !17
  %127 = icmp sge i64 %126, 0
  br i1 %127, label %128, label %132

128:                                              ; preds = %125
  %129 = load i64, ptr %13, align 8, !tbaa !17
  %130 = load i64, ptr %12, align 8, !tbaa !17
  %131 = icmp slt i64 %129, %130
  br i1 %131, label %177, label %132

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

133:                                              ; preds = %132
  %134 = getelementptr inbounds i8, ptr %14, i64 16
  %135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA32_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %134, ptr noundef nonnull align 1 dereferenceable(32) @.str.8)
          to label %136 unwind label %159

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

141:                                              ; preds = %136
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %137, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef %49, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %142 unwind label %167

142:                                              ; preds = %141
  store i1 false, ptr %17, align 1
  invoke void @__cxa_throw(ptr %137, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %552 unwind label %167

143:                                              ; preds = %96
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %4, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %5, align 4
  br label %545

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

151:                                              ; preds = %445, %109, %101
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %4, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %5, align 4
  br label %543

155:                                              ; preds = %132
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %4, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %5, align 4
  br label %176

159:                                              ; preds = %133
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %4, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %5, align 4
  br label %175

163:                                              ; preds = %136
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %4, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %5, align 4
  br label %171

167:                                              ; preds = %142, %141
  %168 = landingpad { ptr, i32 }
          cleanup
  %169 = extractvalue { ptr, i32 } %168, 0
  store ptr %169, ptr %4, align 8
  %170 = extractvalue { ptr, i32 } %168, 1
  store i32 %170, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  br label %171

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

173:                                              ; preds = %171
  call void @__cxa_free_exception(ptr %137) #8
  br label %174

174:                                              ; preds = %173, %171
  br label %175

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

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

177:                                              ; preds = %128
  br label %178

178:                                              ; preds = %177
  br label %179

179:                                              ; preds = %178
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #8
  %180 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 1)
          to label %181 unwind label %209

181:                                              ; preds = %179
  store ptr %180, ptr %18, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #8
  %182 = load ptr, ptr %18, align 8, !tbaa !5
  %183 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %184 unwind label %213

184:                                              ; preds = %181
  %185 = getelementptr inbounds %"class.ngraph::Dimension", ptr %19, i32 0, i32 0
  %186 = getelementptr inbounds { i64, i64 }, ptr %185, i32 0, i32 0
  %187 = extractvalue { i64, i64 } %183, 0
  store i64 %187, ptr %186, align 8
  %188 = getelementptr inbounds { i64, i64 }, ptr %185, i32 0, i32 1
  %189 = extractvalue { i64, i64 } %183, 1
  store i64 %189, ptr %188, align 8
  br label %190

190:                                              ; preds = %184
  %191 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %192 unwind label %213

192:                                              ; preds = %190
  br i1 %191, label %239, label %193

193:                                              ; preds = %192
  %194 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %195 unwind label %213

195:                                              ; preds = %193
  %196 = load i64, ptr %12, align 8, !tbaa !17
  %197 = icmp eq i64 %194, %196
  br i1 %197, label %239, label %198

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

199:                                              ; preds = %198
  %200 = getelementptr inbounds i8, ptr %20, i64 16
  %201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA24_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %200, ptr noundef nonnull align 1 dereferenceable(24) @.str.15)
          to label %202 unwind label %221

202:                                              ; preds = %199
  store i1 true, ptr %23, align 1
  %203 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #8
  %204 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 0
  store ptr @.str.6, ptr %204, align 8, !tbaa !12
  %205 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 1
  store i32 538, ptr %205, align 8, !tbaa !15
  %206 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %21, i32 0, i32 2
  store ptr @.str.16, ptr %206, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(128) %20)
          to label %207 unwind label %225

207:                                              ; preds = %202
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %203, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef %49, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %208 unwind label %229

208:                                              ; preds = %207
  store i1 false, ptr %23, align 1
  invoke void @__cxa_throw(ptr %203, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %552 unwind label %229

209:                                              ; preds = %179
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %4, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %5, align 4
  br label %440

213:                                              ; preds = %193, %190, %181
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %4, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %5, align 4
  br label %439

217:                                              ; preds = %198
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %4, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %5, align 4
  br label %238

221:                                              ; preds = %199
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %4, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %5, align 4
  br label %237

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

229:                                              ; preds = %208, %207
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %4, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %233

233:                                              ; preds = %229, %225
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  %234 = load i1, ptr %23, align 1
  br i1 %234, label %235, label %236

235:                                              ; preds = %233
  call void @__cxa_free_exception(ptr %203) #8
  br label %236

236:                                              ; preds = %235, %233
  br label %237

237:                                              ; preds = %236, %221
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %20) #8
  br label %238

238:                                              ; preds = %237, %217
  call void @llvm.lifetime.end.p0(i64 392, ptr %20) #8
  br label %439

239:                                              ; preds = %195, %192
  br label %240

240:                                              ; preds = %239
  br label %241

241:                                              ; preds = %240
  %242 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %49, i32 0, i32 1
  %243 = load i8, ptr %242, align 8, !tbaa !75, !range !76, !noundef !77
  %244 = trunc i8 %243 to i1
  br i1 %244, label %245, label %351

245:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %246 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 2)
          to label %247 unwind label %295

247:                                              ; preds = %245
  store ptr %246, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %248 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 3)
          to label %249 unwind label %299

249:                                              ; preds = %247
  store ptr %248, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #8
  %250 = load ptr, ptr %24, align 8, !tbaa !5
  %251 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %250)
          to label %252 unwind label %303

252:                                              ; preds = %249
  %253 = getelementptr inbounds %"class.ngraph::Dimension", ptr %26, i32 0, i32 0
  %254 = getelementptr inbounds { i64, i64 }, ptr %253, i32 0, i32 0
  %255 = extractvalue { i64, i64 } %251, 0
  store i64 %255, ptr %254, align 8
  %256 = getelementptr inbounds { i64, i64 }, ptr %253, i32 0, i32 1
  %257 = extractvalue { i64, i64 } %251, 1
  store i64 %257, ptr %256, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #8
  %258 = load ptr, ptr %25, align 8, !tbaa !5
  %259 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %258)
          to label %260 unwind label %307

260:                                              ; preds = %252
  %261 = getelementptr inbounds %"class.ngraph::Dimension", ptr %27, i32 0, i32 0
  %262 = getelementptr inbounds { i64, i64 }, ptr %261, i32 0, i32 0
  %263 = extractvalue { i64, i64 } %259, 0
  store i64 %263, ptr %262, align 8
  %264 = getelementptr inbounds { i64, i64 }, ptr %261, i32 0, i32 1
  %265 = extractvalue { i64, i64 } %259, 1
  store i64 %265, ptr %264, align 8
  %266 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %267 unwind label %307

267:                                              ; preds = %260
  br i1 %266, label %268, label %346

268:                                              ; preds = %267
  %269 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %270 unwind label %307

270:                                              ; preds = %268
  br i1 %269, label %271, label %346

271:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  %272 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %273 unwind label %311

273:                                              ; preds = %271
  store i64 %272, ptr %28, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  %274 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %275 unwind label %315

275:                                              ; preds = %273
  store i64 %274, ptr %29, align 8, !tbaa !17
  br label %276

276:                                              ; preds = %275
  %277 = load i64, ptr %28, align 8, !tbaa !17
  %278 = load i64, ptr %29, align 8, !tbaa !17
  %279 = icmp eq i64 %277, %278
  br i1 %279, label %280, label %284

280:                                              ; preds = %276
  %281 = load i64, ptr %28, align 8, !tbaa !17
  %282 = load i64, ptr %13, align 8, !tbaa !17
  %283 = icmp eq i64 %281, %282
  br i1 %283, label %341, label %284

284:                                              ; preds = %280, %276
  call void @llvm.lifetime.start.p0(i64 392, ptr %30) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30)
          to label %285 unwind label %319

285:                                              ; preds = %284
  %286 = getelementptr inbounds i8, ptr %30, i64 16
  %287 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %286, ptr noundef nonnull align 1 dereferenceable(39) @.str.17)
          to label %288 unwind label %323

288:                                              ; preds = %285
  store i1 true, ptr %33, align 1
  %289 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %31) #8
  %290 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %31, i32 0, i32 0
  store ptr @.str.6, ptr %290, align 8, !tbaa !12
  %291 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %31, i32 0, i32 1
  store i32 552, ptr %291, align 8, !tbaa !15
  %292 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %31, i32 0, i32 2
  store ptr @.str.18, ptr %292, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(128) %30)
          to label %293 unwind label %327

293:                                              ; preds = %288
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %289, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef %49, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %294 unwind label %331

294:                                              ; preds = %293
  store i1 false, ptr %33, align 1
  invoke void @__cxa_throw(ptr %289, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %552 unwind label %331

295:                                              ; preds = %245
  %296 = landingpad { ptr, i32 }
          cleanup
  %297 = extractvalue { ptr, i32 } %296, 0
  store ptr %297, ptr %4, align 8
  %298 = extractvalue { ptr, i32 } %296, 1
  store i32 %298, ptr %5, align 4
  br label %350

299:                                              ; preds = %247
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %4, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %5, align 4
  br label %349

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

307:                                              ; preds = %268, %260, %252
  %308 = landingpad { ptr, i32 }
          cleanup
  %309 = extractvalue { ptr, i32 } %308, 0
  store ptr %309, ptr %4, align 8
  %310 = extractvalue { ptr, i32 } %308, 1
  store i32 %310, ptr %5, align 4
  br label %347

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

315:                                              ; preds = %273
  %316 = landingpad { ptr, i32 }
          cleanup
  %317 = extractvalue { ptr, i32 } %316, 0
  store ptr %317, ptr %4, align 8
  %318 = extractvalue { ptr, i32 } %316, 1
  store i32 %318, ptr %5, align 4
  br label %344

319:                                              ; preds = %284
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %4, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %5, align 4
  br label %340

323:                                              ; preds = %285
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %4, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %5, align 4
  br label %339

327:                                              ; preds = %288
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %4, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %5, align 4
  br label %335

331:                                              ; preds = %294, %293
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %4, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  br label %335

335:                                              ; preds = %331, %327
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #8
  %336 = load i1, ptr %33, align 1
  br i1 %336, label %337, label %338

337:                                              ; preds = %335
  call void @__cxa_free_exception(ptr %289) #8
  br label %338

338:                                              ; preds = %337, %335
  br label %339

339:                                              ; preds = %338, %323
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %30) #8
  br label %340

340:                                              ; preds = %339, %319
  call void @llvm.lifetime.end.p0(i64 392, ptr %30) #8
  br label %344

341:                                              ; preds = %280
  br label %342

342:                                              ; preds = %341
  br label %343

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

344:                                              ; preds = %340, %315
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  br label %345

345:                                              ; preds = %344, %311
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  br label %347

346:                                              ; preds = %343, %270, %267
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %351

347:                                              ; preds = %345, %307
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  br label %348

348:                                              ; preds = %347, %303
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #8
  br label %349

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

350:                                              ; preds = %349, %295
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %439

351:                                              ; preds = %346, %241
  %352 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %49, i32 0, i32 2
  %353 = load i8, ptr %352, align 1, !tbaa !78, !range !76, !noundef !77
  %354 = trunc i8 %353 to i1
  br i1 %354, label %355, label %438

355:                                              ; preds = %351
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #8
  %356 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %49, i32 0, i32 1
  %357 = load i8, ptr %356, align 8, !tbaa !75, !range !76, !noundef !77
  %358 = trunc i8 %357 to i1
  %359 = zext i1 %358 to i64
  %360 = select i1 %358, i32 4, i32 2
  %361 = sext i32 %360 to i64
  %362 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef %361)
          to label %363 unwind label %397

363:                                              ; preds = %355
  store ptr %362, ptr %34, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #8
  %364 = load ptr, ptr %34, align 8, !tbaa !5
  %365 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %364)
          to label %366 unwind label %401

366:                                              ; preds = %363
  %367 = getelementptr inbounds %"class.ngraph::Dimension", ptr %35, i32 0, i32 0
  %368 = getelementptr inbounds { i64, i64 }, ptr %367, i32 0, i32 0
  %369 = extractvalue { i64, i64 } %365, 0
  store i64 %369, ptr %368, align 8
  %370 = getelementptr inbounds { i64, i64 }, ptr %367, i32 0, i32 1
  %371 = extractvalue { i64, i64 } %365, 1
  store i64 %371, ptr %370, align 8
  %372 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %373 unwind label %401

373:                                              ; preds = %366
  br i1 %372, label %374, label %435

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

376:                                              ; preds = %374
  store i64 %375, ptr %36, align 8, !tbaa !17
  br label %377

377:                                              ; preds = %376
  %378 = load i64, ptr %36, align 8, !tbaa !17
  %379 = load i64, ptr %12, align 8, !tbaa !17
  %380 = load i64, ptr %13, align 8, !tbaa !17
  %381 = sub nsw i64 %379, %380
  %382 = icmp eq i64 %378, %381
  br i1 %382, label %431, label %383

383:                                              ; preds = %377
  %384 = load i64, ptr %36, align 8, !tbaa !17
  %385 = icmp eq i64 %384, 1
  br i1 %385, label %431, label %386

386:                                              ; preds = %383
  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 %387 unwind label %409

387:                                              ; preds = %386
  %388 = getelementptr inbounds i8, ptr %37, i64 16
  %389 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA24_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %388, ptr noundef nonnull align 1 dereferenceable(24) @.str.19)
          to label %390 unwind label %413

390:                                              ; preds = %387
  store i1 true, ptr %40, align 1
  %391 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #8
  %392 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 0
  store ptr @.str.6, ptr %392, align 8, !tbaa !12
  %393 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 1
  store i32 564, ptr %393, align 8, !tbaa !15
  %394 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %38, i32 0, i32 2
  store ptr @.str.20, ptr %394, 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 %395 unwind label %417

395:                                              ; preds = %390
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %391, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef %49, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %396 unwind label %421

396:                                              ; preds = %395
  store i1 false, ptr %40, align 1
  invoke void @__cxa_throw(ptr %391, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %552 unwind label %421

397:                                              ; preds = %355
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %4, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %5, align 4
  br label %437

401:                                              ; preds = %366, %363
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %4, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %5, align 4
  br label %436

405:                                              ; preds = %374
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %4, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %5, align 4
  br label %434

409:                                              ; preds = %386
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %4, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %5, align 4
  br label %430

413:                                              ; preds = %387
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %4, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %5, align 4
  br label %429

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

421:                                              ; preds = %396, %395
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %4, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %5, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  br label %425

425:                                              ; preds = %421, %417
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #8
  %426 = load i1, ptr %40, align 1
  br i1 %426, label %427, label %428

427:                                              ; preds = %425
  call void @__cxa_free_exception(ptr %391) #8
  br label %428

428:                                              ; preds = %427, %425
  br label %429

429:                                              ; preds = %428, %413
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %37) #8
  br label %430

430:                                              ; preds = %429, %409
  call void @llvm.lifetime.end.p0(i64 392, ptr %37) #8
  br label %434

431:                                              ; preds = %383, %377
  br label %432

432:                                              ; preds = %431
  br label %433

433:                                              ; preds = %432
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %435

434:                                              ; preds = %430, %405
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %436

435:                                              ; preds = %433, %373
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  br label %438

436:                                              ; preds = %434, %401
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  br label %437

437:                                              ; preds = %436, %397
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  br label %439

438:                                              ; preds = %435, %351
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  br label %441

439:                                              ; preds = %437, %350, %238, %213
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #8
  br label %440

440:                                              ; preds = %439, %209
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  br label %543

441:                                              ; preds = %438, %108
  %442 = getelementptr inbounds %"class.ngraph::op::v0::LayerNormBackprop", ptr %49, i32 0, i32 2
  %443 = load i8, ptr %442, align 1, !tbaa !78, !range !76, !noundef !77
  %444 = trunc i8 %443 to i1
  br i1 %444, label %445, label %530

445:                                              ; preds = %441
  invoke void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 3)
          to label %446 unwind label %151

446:                                              ; preds = %445
  %447 = load i64, ptr %12, align 8, !tbaa !17
  %448 = icmp sgt i64 %447, 0
  br i1 %448, label %449, label %484

449:                                              ; preds = %446
  call void @llvm.lifetime.start.p0(i64 24, ptr %41) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #8
  %450 = load i64, ptr %13, align 8, !tbaa !17
  store i64 %450, ptr %42, align 8, !tbaa !17
  br label %451

451:                                              ; preds = %463, %449
  %452 = load i64, ptr %42, align 8, !tbaa !17
  %453 = load i64, ptr %12, align 8, !tbaa !17
  %454 = icmp slt i64 %452, %453
  br i1 %454, label %456, label %455

455:                                              ; preds = %451
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  br label %470

456:                                              ; preds = %451
  %457 = load ptr, ptr %10, align 8, !tbaa !5
  %458 = load i64, ptr %42, align 8, !tbaa !17
  %459 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %457, i64 noundef %458)
          to label %460 unwind label %466

460:                                              ; preds = %456
  %461 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE12emplace_backIJRKS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(16) %459)
          to label %462 unwind label %466

462:                                              ; preds = %460
  br label %463

463:                                              ; preds = %462
  %464 = load i64, ptr %42, align 8, !tbaa !17
  %465 = add nsw i64 %464, 1
  store i64 %465, ptr %42, align 8, !tbaa !17
  br label %451, !llvm.loop !79

466:                                              ; preds = %460, %456
  %467 = landingpad { ptr, i32 }
          cleanup
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %4, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  br label %483

470:                                              ; preds = %455
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #8
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %471 unwind label %474

471:                                              ; preds = %470
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %472 unwind label %478

472:                                              ; preds = %471
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %473 unwind label %478

473:                                              ; preds = %472
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #8
  br label %529

474:                                              ; preds = %470
  %475 = landingpad { ptr, i32 }
          cleanup
  %476 = extractvalue { ptr, i32 } %475, 0
  store ptr %476, ptr %4, align 8
  %477 = extractvalue { ptr, i32 } %475, 1
  store i32 %477, ptr %5, align 4
  br label %482

478:                                              ; preds = %472, %471
  %479 = landingpad { ptr, i32 }
          cleanup
  %480 = extractvalue { ptr, i32 } %479, 0
  store ptr %480, ptr %4, align 8
  %481 = extractvalue { ptr, i32 } %479, 1
  store i32 %481, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %482

482:                                              ; preds = %478, %474
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  br label %483

483:                                              ; preds = %482, %466
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #8
  br label %543

484:                                              ; preds = %446
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  %485 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %486 unwind label %511

486:                                              ; preds = %484
  %487 = getelementptr inbounds %"class.ngraph::Dimension", ptr %45, i32 0, i32 0
  %488 = getelementptr inbounds { i64, i64 }, ptr %487, i32 0, i32 0
  %489 = extractvalue { i64, i64 } %485, 0
  store i64 %489, ptr %488, align 8
  %490 = getelementptr inbounds { i64, i64 }, ptr %487, i32 0, i32 1
  %491 = extractvalue { i64, i64 } %485, 1
  store i64 %491, ptr %490, align 8
  %492 = getelementptr inbounds { i64, i64 }, ptr %45, i32 0, i32 0
  %493 = load i64, ptr %492, align 8
  %494 = getelementptr inbounds { i64, i64 }, ptr %45, i32 0, i32 1
  %495 = load i64, ptr %494, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %44, i64 %493, i64 %495)
          to label %496 unwind label %511

496:                                              ; preds = %486
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %497 unwind label %515

497:                                              ; preds = %496
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  %498 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %499 unwind label %520

499:                                              ; preds = %497
  %500 = getelementptr inbounds %"class.ngraph::Dimension", ptr %47, i32 0, i32 0
  %501 = getelementptr inbounds { i64, i64 }, ptr %500, i32 0, i32 0
  %502 = extractvalue { i64, i64 } %498, 0
  store i64 %502, ptr %501, align 8
  %503 = getelementptr inbounds { i64, i64 }, ptr %500, i32 0, i32 1
  %504 = extractvalue { i64, i64 } %498, 1
  store i64 %504, ptr %503, align 8
  %505 = getelementptr inbounds { i64, i64 }, ptr %47, i32 0, i32 0
  %506 = load i64, ptr %505, align 8
  %507 = getelementptr inbounds { i64, i64 }, ptr %47, i32 0, i32 1
  %508 = load i64, ptr %507, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %46, i64 %506, i64 %508)
          to label %509 unwind label %520

509:                                              ; preds = %499
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %510 unwind label %524

510:                                              ; preds = %509
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %529

511:                                              ; preds = %486, %484
  %512 = landingpad { ptr, i32 }
          cleanup
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %4, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %5, align 4
  br label %519

515:                                              ; preds = %496
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %4, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %519

519:                                              ; preds = %515, %511
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  br label %543

520:                                              ; preds = %499, %497
  %521 = landingpad { ptr, i32 }
          cleanup
  %522 = extractvalue { ptr, i32 } %521, 0
  store ptr %522, ptr %4, align 8
  %523 = extractvalue { ptr, i32 } %521, 1
  store i32 %523, ptr %5, align 4
  br label %528

524:                                              ; preds = %509
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %4, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %528

528:                                              ; preds = %524, %520
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %543

529:                                              ; preds = %510, %473
  br label %530

530:                                              ; preds = %529, %441
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #8
  %531 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull align 8 dereferenceable(32) %531)
          to label %532 unwind label %534

532:                                              ; preds = %530
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %49, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %533 unwind label %538

533:                                              ; preds = %532
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #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

534:                                              ; preds = %530
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %4, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %5, align 4
  br label %542

538:                                              ; preds = %532
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %4, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %5, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  br label %542

542:                                              ; preds = %538, %534
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #8
  br label %543

543:                                              ; preds = %542, %528, %519, %483, %440, %176, %151
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  br label %544

544:                                              ; preds = %543, %147
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #8
  br label %545

545:                                              ; preds = %544, %143
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  br label %546

546:                                              ; preds = %545, %93, %68
  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 %547

547:                                              ; preds = %546
  %548 = load ptr, ptr %4, align 8
  %549 = load i32, ptr %5, align 4
  %550 = insertvalue { ptr, i32 } poison, ptr %548, 0
  %551 = insertvalue { ptr, i32 } %550, i32 %549, 1
  resume { ptr, i32 } %551

552:                                              ; preds = %396, %294, %208, %142, %67
  unreachable
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA24_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(24)) #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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 = { 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 #6 = { 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 = { 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 #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 = !{!18, !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!20, !18, i64 688}
!20 = !{!"_ZTSN6ngraph2op2v017LayerNormBackpropE", !21, i64 0, !73, i64 680, !73, i64 681, !18, i64 688, !74, i64 696}
!21 = !{!"_ZTSN6ngraph2op4util7FusedOpE", !22, i64 0}
!22 = !{!"_ZTSN6ngraph2op2OpE", !23, i64 0}
!23 = !{!"_ZTSN6ngraph4NodeE", !24, i64 8, !28, i64 24, !28, i64 80, !33, i64 136, !37, i64 160, !41, i64 184, !18, i64 216, !41, i64 224, !41, i64 256, !43, i64 288, !45, i64 344, !53, i64 392, !58, i64 472, !63, i64 552, !14, i64 608, !65, i64 616, !68, i64 632}
!24 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !25, i64 0}
!25 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !26, i64 0}
!26 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !27, i64 8}
!27 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!28 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !29, i64 0}
!29 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !18, i64 8, !30, i64 16, !18, i64 24, !31, i64 32, !6, i64 48}
!30 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!31 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !32, i64 0, !18, i64 8}
!32 = !{!"float", !7, i64 0}
!33 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !34, i64 0}
!34 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!37 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!41 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !42, i64 0, !18, i64 8, !7, i64 16}
!42 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!43 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !44, i64 0}
!44 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE", !6, i64 0, !18, i64 8, !30, i64 16, !18, i64 24, !31, i64 32, !6, i64 48}
!45 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !46, i64 0}
!46 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !47, i64 0}
!47 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !48, i64 0, !50, i64 8}
!48 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !49, i64 0}
!49 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!50 = !{!"_ZTSSt15_Rb_tree_header", !51, i64 0, !18, i64 32}
!51 = !{!"_ZTSSt18_Rb_tree_node_base", !52, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!52 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!53 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !54, i64 0}
!54 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !55, i64 0}
!55 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !56, i64 0}
!56 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !18, i64 8, !57, i64 16, !57, i64 48}
!57 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!58 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !59, i64 0}
!59 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !60, i64 0}
!60 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !61, i64 0}
!61 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !18, i64 8, !62, i64 16, !62, i64 48}
!62 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!63 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !64, i64 0}
!64 = !{!"_ZTSSt10_HashtableIPN6ngraph4NodeESt4pairIKS2_NS0_8autodiff8AdjointsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !18, i64 8, !30, i64 16, !18, i64 24, !31, i64 32, !6, i64 48}
!65 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !66, i64 0}
!66 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !67, i64 8}
!67 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!68 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !69, i64 0}
!69 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !70, i64 0}
!70 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !71, i64 0, !50, i64 8}
!71 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !72, i64 0}
!72 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!73 = !{!"bool", !7, i64 0}
!74 = !{!"double", !7, i64 0}
!75 = !{!20, !73, i64 680}
!76 = !{i8 0, i8 2}
!77 = !{}
!78 = !{!20, !73, i64 681}
!79 = distinct !{!79, !80}
!80 = !{!"llvm.loop.mustprogress"}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.77" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::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::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 }

@.str.4 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [64 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.8 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [45 x i8], align 1

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2 align 2

declare noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1

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

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

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

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

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

; 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 uwtable
declare dso_local { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v017LayerNormBackprop28pre_validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(704) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::element::Type", align 4
  %3 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %4 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.ngraph::Dimension", align 8
  %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 %"class.ngraph::Dimension", align 8
  %11 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %12 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.ngraph::Dimension", align 8
  %15 = alloca %"class.ngraph::Dimension", align 8
  %16 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %17 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.ngraph::Dimension", align 8
  %20 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %21 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::vector.77", align 8
  %24 = alloca %"class.ngraph::PartialShape", align 8
  %25 = alloca %"class.ngraph::PartialShape", align 8
  %26 = alloca %"class.ngraph::PartialShape", align 8
  %27 = alloca %"class.ngraph::PartialShape", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #7
  %28 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %29 = load i32, ptr %28, align 4, !tbaa !5
  store i32 %29, ptr %2, align 4, !tbaa !5
  %30 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type10is_dynamicEv(ptr noundef nonnull align 4 dereferenceable(4) %2)
          to label %31 unwind label %46

31:                                               ; preds = %1
  br i1 %30, label %58, label %32

32:                                               ; preds = %31
  %33 = invoke noundef zeroext i1 @_ZNK6ngraph7element4Type7is_realEv(ptr noundef nonnull align 4 dereferenceable(4) %2)
          to label %34 unwind label %46

34:                                               ; preds = %32
  br i1 %33, label %58, label %35

35:                                               ; preds = %34
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %3) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3)
          to label %36 unwind label %48

36:                                               ; preds = %35
  %37 = getelementptr inbounds i8, ptr %3, i64 16
  %38 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA67_cJRNS_7element4TypeERA3_KcEEERSoS8_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 1 dereferenceable(67) @.str.4, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 1 dereferenceable(3) @.str.5)
          to label %39 unwind label %50

39:                                               ; preds = %36
  %40 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #7
  store ptr @.str.6, ptr %4, align 8, !tbaa !9
  %41 = getelementptr inbounds i8, ptr %4, i64 8
  store i32 521, ptr %41, align 8, !tbaa !13
  %42 = getelementptr inbounds i8, ptr %4, i64 16
  store ptr @.str.7, ptr %42, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(128) %3)
          to label %43 unwind label %.thread

43:                                               ; preds = %39
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %40, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %45 unwind label %.thread138

.thread138:                                       ; preds = %43
  %44 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  br label %55

45:                                               ; preds = %43
  invoke void @__cxa_throw(ptr nonnull %40, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %321 unwind label %53

46:                                               ; preds = %32, %1
  %47 = landingpad { ptr, i32 }
          cleanup
  br label %320

48:                                               ; preds = %35
  %49 = landingpad { ptr, i32 }
          cleanup
  br label %57

50:                                               ; preds = %36
  %51 = landingpad { ptr, i32 }
          cleanup
  br label %56

.thread:                                          ; preds = %39
  %52 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  br label %55

53:                                               ; preds = %45
  %54 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  br label %56

55:                                               ; preds = %.thread138, %.thread
  %.pn137 = phi { ptr, i32 } [ %52, %.thread ], [ %44, %.thread138 ]
  call void @__cxa_free_exception(ptr %40) #7
  br label %56

56:                                               ; preds = %53, %55, %50
  %.pn.pn = phi { ptr, i32 } [ %.pn137, %55 ], [ %54, %53 ], [ %51, %50 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %3) #7
  br label %57

57:                                               ; preds = %56, %48
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %56 ], [ %49, %48 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %3) #7
  br label %320

58:                                               ; preds = %34, %31
  %59 = 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 %60 unwind label %89

60:                                               ; preds = %58
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #7
  %61 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %62 unwind label %91

62:                                               ; preds = %60
  %63 = extractvalue { i64, i64 } %61, 0
  store i64 %63, ptr %6, align 8
  %64 = getelementptr inbounds i8, ptr %6, i64 8
  %65 = extractvalue { i64, i64 } %61, 1
  store i64 %65, ptr %64, align 8
  %66 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %6)
          to label %67 unwind label %93

67:                                               ; preds = %62
  br i1 %66, label %68, label %265

68:                                               ; preds = %67
  %69 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %6)
          to label %70 unwind label %93

70:                                               ; preds = %68
  %71 = getelementptr inbounds i8, ptr %0, i64 688
  %72 = load i64, ptr %71, align 8, !tbaa !15
  %73 = icmp slt i64 %72, 0
  %74 = select i1 %73, i64 %69, i64 0
  %75 = add nsw i64 %74, %72
  %76 = icmp sgt i64 %75, -1
  %77 = icmp slt i64 %75, %69
  %or.cond133 = and i1 %76, %77
  br i1 %or.cond133, label %105, label %78

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

79:                                               ; preds = %78
  %80 = getelementptr inbounds i8, ptr %7, i64 16
  %81 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA32_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 1 dereferenceable(32) @.str.8)
          to label %82 unwind label %97

82:                                               ; preds = %79
  %83 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  store ptr @.str.6, ptr %8, align 8, !tbaa !9
  %84 = getelementptr inbounds i8, ptr %8, i64 8
  store i32 532, ptr %84, align 8, !tbaa !13
  %85 = getelementptr inbounds i8, ptr %8, i64 16
  store ptr @.str.9, ptr %85, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(128) %7)
          to label %86 unwind label %.thread140

86:                                               ; preds = %82
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %83, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %88 unwind label %.thread144

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

88:                                               ; preds = %86
  invoke void @__cxa_throw(ptr nonnull %83, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %321 unwind label %100

89:                                               ; preds = %58
  %90 = landingpad { ptr, i32 }
          cleanup
  br label %320

91:                                               ; preds = %60
  %92 = landingpad { ptr, i32 }
          cleanup
  br label %319

93:                                               ; preds = %269, %68, %62
  %94 = landingpad { ptr, i32 }
          cleanup
  br label %319

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

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

.thread140:                                       ; preds = %82
  %99 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  br label %102

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

102:                                              ; preds = %.thread144, %.thread140
  %.pn92143 = phi { ptr, i32 } [ %99, %.thread140 ], [ %87, %.thread144 ]
  call void @__cxa_free_exception(ptr %83) #7
  br label %103

103:                                              ; preds = %100, %102, %97
  %.pn92.pn = phi { ptr, i32 } [ %.pn92143, %102 ], [ %101, %100 ], [ %98, %97 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %7) #7
  br label %104

104:                                              ; preds = %103, %95
  %.pn92.pn.pn = phi { ptr, i32 } [ %.pn92.pn, %103 ], [ %96, %95 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %7) #7
  br label %319

105:                                              ; preds = %70
  %106 = 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 %107 unwind label %130

107:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #7
  %108 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %109 unwind label %132

109:                                              ; preds = %107
  %110 = extractvalue { i64, i64 } %108, 0
  store i64 %110, ptr %10, align 8
  %111 = getelementptr inbounds i8, ptr %10, i64 8
  %112 = extractvalue { i64, i64 } %108, 1
  store i64 %112, ptr %111, align 8
  %113 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension10is_dynamicEv(ptr noundef nonnull align 8 dereferenceable(16) %10)
          to label %114 unwind label %132

114:                                              ; preds = %109
  br i1 %113, label %144, label %115

115:                                              ; preds = %114
  %116 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %10)
          to label %117 unwind label %132

117:                                              ; preds = %115
  %118 = icmp eq i64 %116, %69
  br i1 %118, label %144, label %119

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

120:                                              ; preds = %119
  %121 = getelementptr inbounds i8, ptr %11, i64 16
  %122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA24_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef nonnull align 1 dereferenceable(24) @.str.15)
          to label %123 unwind label %136

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

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) %12, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %129 unwind label %.thread150

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

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

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

132:                                              ; preds = %115, %109, %107
  %133 = landingpad { ptr, i32 }
          cleanup
  br label %264

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

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

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

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

141:                                              ; preds = %.thread150, %.thread146
  %.pn96149 = phi { ptr, i32 } [ %138, %.thread146 ], [ %128, %.thread150 ]
  call void @__cxa_free_exception(ptr %124) #7
  br label %142

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

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

144:                                              ; preds = %117, %114
  %145 = getelementptr inbounds i8, ptr %0, i64 680
  %146 = load i8, ptr %145, align 8, !tbaa !72, !range !73, !noundef !74
  %147 = trunc nuw i8 %146 to i1
  br i1 %147, label %148, label %211

148:                                              ; preds = %144
  %149 = 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 %150 unwind label %186

150:                                              ; preds = %148
  %151 = 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 %152 unwind label %188

152:                                              ; preds = %150
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #7
  %153 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %149)
          to label %154 unwind label %190

154:                                              ; preds = %152
  %155 = extractvalue { i64, i64 } %153, 0
  store i64 %155, ptr %14, align 8
  %156 = getelementptr inbounds i8, ptr %14, i64 8
  %157 = extractvalue { i64, i64 } %153, 1
  store i64 %157, ptr %156, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #7
  %158 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %159 unwind label %192

159:                                              ; preds = %154
  %160 = extractvalue { i64, i64 } %158, 0
  store i64 %160, ptr %15, align 8
  %161 = getelementptr inbounds i8, ptr %15, i64 8
  %162 = extractvalue { i64, i64 } %158, 1
  store i64 %162, ptr %161, align 8
  %163 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %164 unwind label %192

164:                                              ; preds = %159
  br i1 %163, label %165, label %208

165:                                              ; preds = %164
  %166 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %167 unwind label %192

167:                                              ; preds = %165
  br i1 %166, label %168, label %208

168:                                              ; preds = %167
  %169 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %170 unwind label %194

170:                                              ; preds = %168
  %171 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %172 unwind label %196

172:                                              ; preds = %170
  %173 = icmp eq i64 %169, %171
  %174 = icmp eq i64 %169, %75
  %or.cond134 = and i1 %174, %173
  br i1 %or.cond134, label %208, label %175

175:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %16) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16)
          to label %176 unwind label %198

176:                                              ; preds = %175
  %177 = getelementptr inbounds i8, ptr %16, i64 16
  %178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA39_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %177, ptr noundef nonnull align 1 dereferenceable(39) @.str.17)
          to label %179 unwind label %200

179:                                              ; preds = %176
  %180 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #7
  store ptr @.str.6, ptr %17, align 8, !tbaa !9
  %181 = getelementptr inbounds i8, ptr %17, i64 8
  store i32 552, ptr %181, align 8, !tbaa !13
  %182 = getelementptr inbounds i8, ptr %17, i64 16
  store ptr @.str.18, ptr %182, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(128) %16)
          to label %183 unwind label %.thread152

183:                                              ; preds = %179
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %180, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %185 unwind label %.thread156

.thread156:                                       ; preds = %183
  %184 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  br label %205

185:                                              ; preds = %183
  invoke void @__cxa_throw(ptr nonnull %180, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %321 unwind label %203

186:                                              ; preds = %148
  %187 = landingpad { ptr, i32 }
          cleanup
  br label %264

188:                                              ; preds = %150
  %189 = landingpad { ptr, i32 }
          cleanup
  br label %264

190:                                              ; preds = %152
  %191 = landingpad { ptr, i32 }
          cleanup
  br label %210

192:                                              ; preds = %165, %159, %154
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %209

194:                                              ; preds = %168
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %209

196:                                              ; preds = %170
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %209

198:                                              ; preds = %175
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %207

200:                                              ; preds = %176
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %206

.thread152:                                       ; preds = %179
  %202 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  br label %205

203:                                              ; preds = %185
  %204 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  br label %206

205:                                              ; preds = %.thread156, %.thread152
  %.pn100155 = phi { ptr, i32 } [ %202, %.thread152 ], [ %184, %.thread156 ]
  call void @__cxa_free_exception(ptr %180) #7
  br label %206

206:                                              ; preds = %203, %205, %200
  %.pn100.pn = phi { ptr, i32 } [ %.pn100155, %205 ], [ %204, %203 ], [ %201, %200 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %16) #7
  br label %207

207:                                              ; preds = %206, %198
  %.pn100.pn.pn = phi { ptr, i32 } [ %.pn100.pn, %206 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %16) #7
  br label %209

208:                                              ; preds = %172, %167, %164
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  br label %211

209:                                              ; preds = %194, %207, %196, %192
  %.pn100.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %193, %192 ], [ %195, %194 ], [ %.pn100.pn.pn, %207 ], [ %197, %196 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  br label %210

210:                                              ; preds = %209, %190
  %.pn100.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn100.pn.pn.pn.pn.pn, %209 ], [ %191, %190 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #7
  br label %264

211:                                              ; preds = %208, %144
  %212 = getelementptr inbounds i8, ptr %0, i64 681
  %213 = load i8, ptr %212, align 1, !tbaa !75, !range !73, !noundef !74
  %214 = trunc nuw i8 %213 to i1
  br i1 %214, label %215, label %263

215:                                              ; preds = %211
  %216 = load i8, ptr %145, align 8, !tbaa !72, !range !73, !noundef !74
  %217 = trunc nuw i8 %216 to i1
  %218 = select i1 %217, i64 4, i64 2
  %219 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef %218)
          to label %220 unwind label %245

220:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #7
  %221 = invoke { i64, i64 } @_ZNK6ngraph12PartialShape4rankEv(ptr noundef nonnull align 8 dereferenceable(32) %219)
          to label %222 unwind label %247

222:                                              ; preds = %220
  %223 = extractvalue { i64, i64 } %221, 0
  store i64 %223, ptr %19, align 8
  %224 = getelementptr inbounds i8, ptr %19, i64 8
  %225 = extractvalue { i64, i64 } %221, 1
  store i64 %225, ptr %224, align 8
  %226 = invoke noundef zeroext i1 @_ZNK6ngraph9Dimension9is_staticEv(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %227 unwind label %247

227:                                              ; preds = %222
  br i1 %226, label %228, label %261

228:                                              ; preds = %227
  %229 = invoke noundef i64 @_ZNK6ngraph9Dimension10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %230 unwind label %249

230:                                              ; preds = %228
  %231 = sub nsw i64 %69, %75
  %232 = icmp eq i64 %229, %231
  %233 = icmp eq i64 %229, 1
  %or.cond = or i1 %232, %233
  br i1 %or.cond, label %261, label %234

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

235:                                              ; preds = %234
  %236 = getelementptr inbounds i8, ptr %20, i64 16
  %237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA24_cJEEERSoS2_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef nonnull align 1 dereferenceable(24) @.str.19)
          to label %238 unwind label %253

238:                                              ; preds = %235
  %239 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #7
  store ptr @.str.6, ptr %21, align 8, !tbaa !9
  %240 = getelementptr inbounds i8, ptr %21, i64 8
  store i32 564, ptr %240, align 8, !tbaa !13
  %241 = getelementptr inbounds i8, ptr %21, i64 16
  store ptr @.str.20, ptr %241, align 8, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(128) %20)
          to label %242 unwind label %.thread158

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

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

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

245:                                              ; preds = %215
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %264

247:                                              ; preds = %222, %220
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %262

249:                                              ; preds = %228
  %250 = landingpad { ptr, i32 }
          cleanup
  br label %262

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

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

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

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

258:                                              ; preds = %.thread162, %.thread158
  %.pn110161 = phi { ptr, i32 } [ %255, %.thread158 ], [ %243, %.thread162 ]
  call void @__cxa_free_exception(ptr %239) #7
  br label %259

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

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

261:                                              ; preds = %230, %227
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  br label %263

262:                                              ; preds = %249, %260, %247
  %.pn110.pn.pn.pn.pn = phi { ptr, i32 } [ %248, %247 ], [ %.pn110.pn.pn, %260 ], [ %250, %249 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #7
  br label %264

263:                                              ; preds = %261, %211
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  br label %265

264:                                              ; preds = %245, %262, %186, %210, %188, %143, %132
  %.pn110.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn96.pn.pn, %143 ], [ %133, %132 ], [ %187, %186 ], [ %.pn100.pn.pn.pn.pn.pn.pn, %210 ], [ %189, %188 ], [ %.pn110.pn.pn.pn.pn, %262 ], [ %246, %245 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  br label %319

265:                                              ; preds = %263, %67
  %.077 = phi i64 [ %75, %263 ], [ -1, %67 ]
  %.073 = phi i64 [ %69, %263 ], [ -1, %67 ]
  %266 = getelementptr inbounds i8, ptr %0, i64 681
  %267 = load i8, ptr %266, align 1, !tbaa !75, !range !73, !noundef !74
  %268 = trunc nuw i8 %267 to i1
  br i1 %268, label %269, label %311

269:                                              ; preds = %265
  invoke void @_ZN6ngraph4Node15set_output_sizeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 3)
          to label %270 unwind label %93

270:                                              ; preds = %269
  %271 = icmp sgt i64 %.073, 0
  br i1 %271, label %272, label %290

272:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  %273 = icmp slt i64 %.077, %.073
  br i1 %273, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %277, %272
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  invoke void @_ZN6ngraph12PartialShapeC2ERKSt6vectorINS_9DimensionESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(24) %23)
          to label %281 unwind label %284

.lr.ph:                                           ; preds = %272, %277
  %.074164 = phi i64 [ %278, %277 ], [ %.077, %272 ]
  %274 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK6ngraph12PartialShapeixEm(ptr noundef nonnull align 8 dereferenceable(32) %59, i64 noundef %.074164)
          to label %275 unwind label %279

275:                                              ; preds = %.lr.ph
  %276 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EE12emplace_backIJRKS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(16) %274)
          to label %277 unwind label %279

277:                                              ; preds = %275
  %278 = add i64 %.074164, 1
  %exitcond.not = icmp eq i64 %278, %.073
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !76

279:                                              ; preds = %275, %.lr.ph
  %280 = landingpad { ptr, i32 }
          cleanup
  br label %289

281:                                              ; preds = %._crit_edge
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %282 unwind label %286

282:                                              ; preds = %281
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %283 unwind label %286

283:                                              ; preds = %282
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #7
  br label %311

284:                                              ; preds = %._crit_edge
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %288

286:                                              ; preds = %282, %281
  %287 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %288

288:                                              ; preds = %286, %284
  %.pn123 = phi { ptr, i32 } [ %287, %286 ], [ %285, %284 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  br label %289

289:                                              ; preds = %288, %279
  %.pn127 = phi { ptr, i32 } [ %280, %279 ], [ %.pn123, %288 ]
  call void @_ZNSt6vectorIN6ngraph9DimensionESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #7
  br label %319

290:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #7
  %291 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %292 = extractvalue { i64, i64 } %291, 0
  %293 = extractvalue { i64, i64 } %291, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %25, i64 %292, i64 %293)
          to label %294 unwind label %301

294:                                              ; preds = %290
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %295 unwind label %303

295:                                              ; preds = %294
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  %296 = call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %297 = extractvalue { i64, i64 } %296, 0
  %298 = extractvalue { i64, i64 } %296, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %26, i64 %297, i64 %298)
          to label %299 unwind label %306

299:                                              ; preds = %295
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %300 unwind label %308

300:                                              ; preds = %299
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %311

301:                                              ; preds = %290
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %305

303:                                              ; preds = %294
  %304 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %305

305:                                              ; preds = %303, %301
  %.pn119 = phi { ptr, i32 } [ %304, %303 ], [ %302, %301 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  br label %319

306:                                              ; preds = %295
  %307 = landingpad { ptr, i32 }
          cleanup
  br label %310

308:                                              ; preds = %299
  %309 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %310

310:                                              ; preds = %308, %306
  %.pn121 = phi { ptr, i32 } [ %309, %308 ], [ %307, %306 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %319

311:                                              ; preds = %283, %300, %265
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  invoke void @_ZN6ngraph12PartialShapeC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %312 unwind label %314

312:                                              ; preds = %311
  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) %27)
          to label %313 unwind label %316

313:                                              ; preds = %312
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #7
  ret void

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

316:                                              ; preds = %312
  %317 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %318

318:                                              ; preds = %316, %314
  %.pn125 = phi { ptr, i32 } [ %317, %316 ], [ %315, %314 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %319

319:                                              ; preds = %93, %104, %289, %305, %310, %318, %264, %130, %91
  %.pn127.pn.pn = phi { ptr, i32 } [ %92, %91 ], [ %.pn127, %289 ], [ %.pn125, %318 ], [ %.pn121, %310 ], [ %.pn119, %305 ], [ %94, %93 ], [ %.pn92.pn.pn, %104 ], [ %.pn110.pn.pn.pn.pn.pn.pn, %264 ], [ %131, %130 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #7
  br label %320

320:                                              ; preds = %89, %319, %57, %46
  %.pn127.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %57 ], [ %47, %46 ], [ %.pn127.pn.pn, %319 ], [ %90, %89 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #7
  resume { ptr, i32 } %.pn127.pn.pn.pn.pn

321:                                              ; preds = %244, %185, %129, %88, %45
  unreachable
}

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

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

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

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

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

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


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