; LLVM IR from vczh/herodb :: Kernel/Source (Vlpp)

; 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.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::Object" = type { ptr }
%"class.vl::collections::EnumerableForEachIterator.449" = type { %"class.vl::collections::ForEachIterator.450", %"class.vl::Ptr.451" }
%"class.vl::collections::ForEachIterator.450" = type { %"class.vl::Object" }
%"class.vl::Ptr.451" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.521" = type { %"class.vl::collections::ForEachIterator.522", %"class.vl::Ptr.523" }
%"class.vl::collections::ForEachIterator.522" = type { %"class.vl::Object" }
%"class.vl::Ptr.523" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.551" = type { %"class.vl::collections::ForEachIterator.552", %"class.vl::Ptr.553" }
%"class.vl::collections::ForEachIterator.552" = type { %"class.vl::Object" }
%"class.vl::Ptr.553" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::SortedList.561" = type { %"class.vl::collections::ListBase.base.566", %"class.vl::collections::IEnumerable.465" }
%"class.vl::collections::ListBase.base.566" = type <{ %"class.vl::collections::ArrayBase.base.565", i64, i8 }>
%"class.vl::collections::ArrayBase.base.565" = type { %"class.vl::collections::ListStore.564", ptr, i64 }
%"class.vl::collections::ListStore.564" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.465" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::Ptr.446" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.394" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.137" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Pair.568" = type { ptr, ptr }
%"class.vl::parsing::analyzing::Automaton" = type { %"class.vl::Object", ptr, %"class.vl::collections::List.411", %"class.vl::collections::List.419", %"class.vl::collections::Dictionary.427" }
%"class.vl::collections::List.411" = type { %"class.vl::collections::ListBase.base.417", %"class.vl::collections::IEnumerable.415" }
%"class.vl::collections::ListBase.base.417" = type <{ %"class.vl::collections::ArrayBase.base.416", i64, i8 }>
%"class.vl::collections::ArrayBase.base.416" = type { %"class.vl::collections::ListStore.414", ptr, i64 }
%"class.vl::collections::ListStore.414" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.415" = type { %"class.vl::Interface" }
%"class.vl::collections::List.419" = type { %"class.vl::collections::ListBase.base.425", %"class.vl::collections::IEnumerable.423" }
%"class.vl::collections::ListBase.base.425" = type <{ %"class.vl::collections::ArrayBase.base.424", i64, i8 }>
%"class.vl::collections::ArrayBase.base.424" = type { %"class.vl::collections::ListStore.422", ptr, i64 }
%"class.vl::collections::ListStore.422" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.423" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.427" = type { %"class.vl::Object", %"class.vl::collections::SortedList.428", %"class.vl::collections::List.436", %"class.vl::collections::IEnumerable.444" }
%"class.vl::collections::SortedList.428" = type { %"class.vl::collections::ListBase.base.434", %"class.vl::collections::IEnumerable.432" }
%"class.vl::collections::ListBase.base.434" = type <{ %"class.vl::collections::ArrayBase.base.433", i64, i8 }>
%"class.vl::collections::ArrayBase.base.433" = type { %"class.vl::collections::ListStore.431", ptr, i64 }
%"class.vl::collections::ListStore.431" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.432" = type { %"class.vl::Interface" }
%"class.vl::collections::List.436" = type { %"class.vl::collections::ListBase.base.442", %"class.vl::collections::IEnumerable.440" }
%"class.vl::collections::ListBase.base.442" = type <{ %"class.vl::collections::ArrayBase.base.441", i64, i8 }>
%"class.vl::collections::ArrayBase.base.441" = type { %"class.vl::collections::ListStore.439", ptr, i64 }
%"class.vl::collections::ListStore.439" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.440" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.444" = type { %"class.vl::Interface" }
%"class.vl::parsing::analyzing::State" = type { %"class.vl::Object", %"class.vl::collections::List.395", %"class.vl::collections::List.395", i8, ptr, ptr, ptr, ptr, i32, %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::collections::List.395" = type { %"class.vl::collections::ListBase.base.401", %"class.vl::collections::IEnumerable.399" }
%"class.vl::collections::ListBase.base.401" = type <{ %"class.vl::collections::ArrayBase.base.400", i64, i8 }>
%"class.vl::collections::ArrayBase.base.400" = type { %"class.vl::collections::ListStore.398", ptr, i64 }
%"class.vl::collections::ListStore.398" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.399" = type { %"class.vl::Interface" }
%"class.vl::parsing::analyzing::Transition" = type { %"class.vl::Object", ptr, ptr, %"class.vl::collections::List.386", i32, i32, ptr }
%"class.vl::collections::List.386" = type { %"class.vl::collections::ListBase.base.392", %"class.vl::collections::IEnumerable.390" }
%"class.vl::collections::ListBase.base.392" = type <{ %"class.vl::collections::ArrayBase.base.391", i64, i8 }>
%"class.vl::collections::ArrayBase.base.391" = type { %"class.vl::collections::ListStore.389", ptr, i64 }
%"class.vl::collections::ListStore.389" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.390" = type { %"class.vl::Interface" }
%"class.vl::parsing::analyzing::Action" = type { %"class.vl::Object", i32, ptr, ptr, ptr, ptr, ptr }
%"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition" = type { %"class.vl::parsing::definitions::ParsingDefinitionBase.base", %"class.vl::ObjectString", %"class.vl::Ptr.280", %"class.vl::collections::List.326", %"class.vl::reflection::DescriptableObject" }
%"class.vl::parsing::definitions::ParsingDefinitionBase.base" = type { %"class.vl::parsing::ParsingTreeCustomBase.base", %"class.vl::collections::List.272" }
%"class.vl::parsing::ParsingTreeCustomBase.base" = type { %"class.vl::Object", %"class.vl::reflection::Description.base", %"struct.vl::parsing::ParsingTextRange", %"class.vl::collections::List" }
%"class.vl::reflection::Description.base" = type { ptr }
%"struct.vl::parsing::ParsingTextRange" = type { %"struct.vl::parsing::ParsingTextPos", %"struct.vl::parsing::ParsingTextPos", i64 }
%"struct.vl::parsing::ParsingTextPos" = type { i64, i64, i64 }
%"class.vl::collections::List" = type { %"class.vl::collections::ListBase.base", %"class.vl::collections::IEnumerable.2" }
%"class.vl::collections::ListBase.base" = type <{ %"class.vl::collections::ArrayBase.base.3", i64, i8 }>
%"class.vl::collections::ArrayBase.base.3" = type { %"class.vl::collections::ListStore.1", ptr, i64 }
%"class.vl::collections::ListStore.1" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.2" = type { %"class.vl::Interface" }
%"class.vl::collections::List.272" = type { %"class.vl::collections::ListBase.base.278", %"class.vl::collections::IEnumerable.276" }
%"class.vl::collections::ListBase.base.278" = type <{ %"class.vl::collections::ArrayBase.base.277", i64, i8 }>
%"class.vl::collections::ArrayBase.base.277" = type { %"class.vl::collections::ListStore.275", ptr, i64 }
%"class.vl::collections::ListStore.275" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.276" = type { %"class.vl::Interface" }
%"class.vl::Ptr.280" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::List.326" = type { %"class.vl::collections::ListBase.base.332", %"class.vl::collections::IEnumerable.330" }
%"class.vl::collections::ListBase.base.332" = type <{ %"class.vl::collections::ArrayBase.base.331", i64, i8 }>
%"class.vl::collections::ArrayBase.base.331" = type { %"class.vl::collections::ListStore.329", ptr, i64 }
%"class.vl::collections::ListStore.329" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.330" = type { %"class.vl::Interface" }
%"class.vl::reflection::DescriptableObject" = type { ptr, i64, ptr, i64, ptr, %"class.vl::Ptr.12" }
%"class.vl::Ptr.12" = type { ptr, ptr, ptr, ptr }

@.str.169 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.170 = external hidden unnamed_addr constant [18 x i32], align 4
@.str.171 = external hidden unnamed_addr constant [66 x i32], align 4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #0

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef, i1 noundef zeroext) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vlplEPKwRKNS_12ObjectStringIwEE(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(48)) #2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing12ParsingErrorEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing12ParsingErrorC1EPNS0_21ParsingTreeCustomBaseERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(136), ptr noundef, ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl7parsing9analyzing10Transition12IsEquivalentEPS2_S3_b(ptr noundef, ptr noundef, i1 noundef zeroext) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) #2 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing9Automaton16DeleteTransitionEPNS1_10TransitionE(ptr noundef nonnull align 8 dereferenceable(224), ptr noundef) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.551") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN2vl7parsing9analyzing27MarkLeftRecursiveInJointPDAENS_3PtrINS1_9AutomatonEEERNS_11collections4ListINS2_INS0_12ParsingErrorEEEPS7_EE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(33) %1) #2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i64, align 8
  %6 = alloca %"class.vl::collections::SortedList.561", align 8
  %7 = alloca i8, align 1
  %8 = alloca ptr, align 8
  %9 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca %"class.vl::Ptr.446", align 8
  %14 = alloca i64, align 8
  %15 = alloca ptr, align 8
  %16 = alloca %"class.vl::Ptr.394", align 8
  %17 = alloca i8, align 1
  %18 = alloca ptr, align 8
  %19 = alloca %"class.vl::collections::EnumerableForEachIterator.551", align 8
  %20 = alloca %"class.vl::Ptr.394", align 8
  %21 = alloca %"class.vl::Ptr.137", align 8
  %22 = alloca %"class.vl::ObjectString", align 8
  %23 = alloca %"class.vl::ObjectString", align 8
  %24 = alloca %"class.vl::ObjectString", align 8
  %25 = alloca i1, align 1
  %26 = alloca %"class.vl::collections::Pair.568", align 8
  %27 = alloca i8, align 1
  %28 = alloca ptr, align 8
  %29 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %30 = alloca %"class.vl::Ptr.446", align 8
  %31 = alloca i8, align 1
  %32 = alloca ptr, align 8
  %33 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %34 = alloca ptr, align 8
  %35 = alloca i64, align 8
  %36 = alloca %"class.vl::Ptr.394", align 8
  %37 = alloca %"class.vl::collections::Pair.568", align 8
  %38 = alloca %"class.vl::Ptr.394", align 8
  %39 = alloca %"class.vl::Ptr.137", align 8
  %40 = alloca %"class.vl::ObjectString", align 8
  %41 = alloca %"class.vl::ObjectString", align 8
  %42 = alloca %"class.vl::ObjectString", align 8
  %43 = alloca i1, align 1
  %44 = alloca i8, align 1
  %45 = alloca ptr, align 8
  %46 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %47 = alloca %"class.vl::Ptr.446", align 8
  %48 = alloca i8, align 1
  %49 = alloca i8, align 1
  %50 = alloca ptr, align 8
  %51 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %52 = alloca ptr, align 8
  %53 = alloca i8, align 1
  %54 = alloca ptr, align 8
  %55 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %56 = alloca ptr, align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #6
  %57 = load ptr, ptr %4, align 8, !tbaa !5
  %58 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing12ParsingErrorEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %57)
  store i64 %58, ptr %5, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 48, ptr %6) #6
  call void @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %6)
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #6
  store i8 1, ptr %7, align 1, !tbaa !11
  %59 = load i8, ptr %7, align 1, !tbaa !11, !range !13, !noundef !14
  %60 = trunc i8 %59 to i1
  br i1 %60, label %61, label %295

61:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %9) #6
  %62 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %63 unwind label %74

63:                                               ; preds = %61
  %64 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %62, i32 0, i32 3
  %65 = load ptr, ptr %64, align 8, !tbaa !15
  %66 = getelementptr i8, ptr %65, i64 -24
  %67 = load i64, ptr %66, align 8
  %68 = getelementptr inbounds i8, ptr %64, i64 %67
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %9, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %69 unwind label %74

69:                                               ; preds = %63
  store ptr %9, ptr %8, align 8, !tbaa !5
  br label %70

70:                                               ; preds = %292, %69
  %71 = load i8, ptr %7, align 1, !tbaa !11, !range !13, !noundef !14
  %72 = trunc i8 %71 to i1
  br i1 %72, label %78, label %73

73:                                               ; preds = %70
  store i32 2, ptr %12, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %9) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  br label %294

74:                                               ; preds = %63, %61
  %75 = landingpad { ptr, i32 }
          cleanup
  %76 = extractvalue { ptr, i32 } %75, 0
  store ptr %76, ptr %10, align 8
  %77 = extractvalue { ptr, i32 } %75, 1
  store i32 %77, ptr %11, align 4
  br label %293

78:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #6
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %79 unwind label %88

79:                                               ; preds = %78
  br label %80

80:                                               ; preds = %288, %79
  %81 = load ptr, ptr %8, align 8, !tbaa !5
  %82 = load ptr, ptr %81, align 8, !tbaa !15
  %83 = getelementptr inbounds ptr, ptr %82, i64 2
  %84 = load ptr, ptr %83, align 8
  %85 = invoke noundef zeroext i1 %84(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %86 unwind label %92

86:                                               ; preds = %80
  br i1 %85, label %96, label %87

87:                                               ; preds = %86
  store i32 5, ptr %12, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  br label %291

88:                                               ; preds = %78
  %89 = landingpad { ptr, i32 }
          cleanup
  %90 = extractvalue { ptr, i32 } %89, 0
  store ptr %90, ptr %10, align 8
  %91 = extractvalue { ptr, i32 } %89, 1
  store i32 %91, ptr %11, align 4
  br label %290

92:                                               ; preds = %80
  %93 = landingpad { ptr, i32 }
          cleanup
  %94 = extractvalue { ptr, i32 } %93, 0
  store ptr %94, ptr %10, align 8
  %95 = extractvalue { ptr, i32 } %93, 1
  store i32 %95, ptr %11, align 4
  br label %289

96:                                               ; preds = %86
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #6
  %97 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %98 unwind label %107

98:                                               ; preds = %96
  %99 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %97, i32 0, i32 1
  %100 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %99)
          to label %101 unwind label %107

101:                                              ; preds = %98
  %102 = sub nsw i64 %100, 1
  store i64 %102, ptr %14, align 8, !tbaa !9
  br label %103

103:                                              ; preds = %283, %101
  %104 = load i64, ptr %14, align 8, !tbaa !9
  %105 = icmp sge i64 %104, 0
  br i1 %105, label %111, label %106

106:                                              ; preds = %103
  store i32 7, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  br label %288

107:                                              ; preds = %98, %96
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %10, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %11, align 4
  br label %287

111:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #6
  %112 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %113 unwind label %139

113:                                              ; preds = %111
  %114 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %112, i32 0, i32 1
  %115 = load i64, ptr %14, align 8, !tbaa !9
  %116 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %114, i64 noundef %115)
          to label %117 unwind label %139

117:                                              ; preds = %113
  %118 = load ptr, ptr %116, align 8, !tbaa !5
  store ptr %118, ptr %15, align 8, !tbaa !5
  %119 = load ptr, ptr %15, align 8, !tbaa !5
  %120 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %119, i32 0, i32 5
  %121 = load i32, ptr %120, align 4, !tbaa !17
  %122 = icmp eq i32 %121, 2
  br i1 %122, label %123, label %282

123:                                              ; preds = %117
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #6
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %124 unwind label %143

124:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #6
  store i8 1, ptr %17, align 1, !tbaa !11
  %125 = load i8, ptr %17, align 1, !tbaa !11, !range !13, !noundef !14
  %126 = trunc i8 %125 to i1
  br i1 %126, label %127, label %250

127:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %19) #6
  %128 = load ptr, ptr %15, align 8, !tbaa !5
  %129 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %128, i32 0, i32 3
  %130 = load ptr, ptr %129, align 8, !tbaa !15
  %131 = getelementptr i8, ptr %130, i64 -24
  %132 = load i64, ptr %131, align 8
  %133 = getelementptr inbounds i8, ptr %129, i64 %132
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.551") align 8 %19, ptr noundef nonnull align 8 dereferenceable(8) %133)
          to label %134 unwind label %147

134:                                              ; preds = %127
  store ptr %19, ptr %18, align 8, !tbaa !5
  br label %135

135:                                              ; preds = %245, %134
  %136 = load i8, ptr %17, align 1, !tbaa !11, !range !13, !noundef !14
  %137 = trunc i8 %136 to i1
  br i1 %137, label %151, label %138

138:                                              ; preds = %135
  store i32 10, ptr %12, align 4
  br label %246

139:                                              ; preds = %113, %111
  %140 = landingpad { ptr, i32 }
          cleanup
  %141 = extractvalue { ptr, i32 } %140, 0
  store ptr %141, ptr %10, align 8
  %142 = extractvalue { ptr, i32 } %140, 1
  store i32 %142, ptr %11, align 4
  br label %286

143:                                              ; preds = %123
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %10, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %11, align 4
  br label %281

147:                                              ; preds = %127
  %148 = landingpad { ptr, i32 }
          cleanup
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %10, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %11, align 4
  br label %248

151:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %152 unwind label %161

152:                                              ; preds = %151
  br label %153

153:                                              ; preds = %239, %152
  %154 = load ptr, ptr %18, align 8, !tbaa !5
  %155 = load ptr, ptr %154, align 8, !tbaa !15
  %156 = getelementptr inbounds ptr, ptr %155, i64 2
  %157 = load ptr, ptr %156, align 8
  %158 = invoke noundef zeroext i1 %157(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %159 unwind label %165

159:                                              ; preds = %153
  br i1 %158, label %169, label %160

160:                                              ; preds = %159
  store i32 13, ptr %12, align 4
  br label %240

161:                                              ; preds = %151
  %162 = landingpad { ptr, i32 }
          cleanup
  %163 = extractvalue { ptr, i32 } %162, 0
  store ptr %163, ptr %10, align 8
  %164 = extractvalue { ptr, i32 } %162, 1
  store i32 %164, ptr %11, align 4
  br label %243

165:                                              ; preds = %235, %175, %169, %153
  %166 = landingpad { ptr, i32 }
          cleanup
  %167 = extractvalue { ptr, i32 } %166, 0
  store ptr %167, ptr %10, align 8
  %168 = extractvalue { ptr, i32 } %166, 1
  store i32 %168, ptr %11, align 4
  br label %242

169:                                              ; preds = %159
  %170 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %171 unwind label %165

171:                                              ; preds = %169
  %172 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %170, i32 0, i32 1
  %173 = load i32, ptr %172, align 8, !tbaa !26
  %174 = icmp eq i32 %173, 4
  br i1 %174, label %175, label %239

175:                                              ; preds = %171
  %176 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %177 unwind label %165

177:                                              ; preds = %175
  br i1 %176, label %178, label %235

178:                                              ; preds = %177
  %179 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  %180 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 208) #7
          to label %181 unwind label %198

181:                                              ; preds = %178
  store i1 true, ptr %25, align 1
  %182 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %183 unwind label %202

183:                                              ; preds = %181
  %184 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %182, i32 0, i32 5
  %185 = load ptr, ptr %184, align 8, !tbaa !29
  call void @llvm.lifetime.start.p0(i64 48, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr %23) #6
  %186 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %187 unwind label %206

187:                                              ; preds = %183
  %188 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %186, i32 0, i32 5
  %189 = load ptr, ptr %188, align 8, !tbaa !29
  %190 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %189, i32 0, i32 1
  invoke void @_ZN2vlplEPKwRKNS_12ObjectStringIwEE(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %23, ptr noundef @.str.169, ptr noundef nonnull align 8 dereferenceable(48) %190)
          to label %191 unwind label %206

191:                                              ; preds = %187
  call void @llvm.lifetime.start.p0(i64 48, ptr %24) #6
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef @.str.170, i1 noundef zeroext true)
          to label %192 unwind label %210

192:                                              ; preds = %191
  invoke void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %22, ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull align 8 dereferenceable(48) %24)
          to label %193 unwind label %214

193:                                              ; preds = %192
  invoke void @_ZN2vl7parsing12ParsingErrorC1EPNS0_21ParsingTreeCustomBaseERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(136) %180, ptr noundef %185, ptr noundef nonnull align 8 dereferenceable(48) %22)
          to label %194 unwind label %218

194:                                              ; preds = %193
  store i1 false, ptr %25, align 1
  invoke void @_ZN2vl3PtrINS_7parsing12ParsingErrorEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef %180)
          to label %195 unwind label %218

195:                                              ; preds = %194
  %196 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing12ParsingErrorEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %179, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %197 unwind label %222

197:                                              ; preds = %195
  call void @_ZN2vl3PtrINS_7parsing12ParsingErrorEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %24) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  store i32 15, ptr %12, align 4
  br label %240

198:                                              ; preds = %178
  %199 = landingpad { ptr, i32 }
          cleanup
  %200 = extractvalue { ptr, i32 } %199, 0
  store ptr %200, ptr %10, align 8
  %201 = extractvalue { ptr, i32 } %199, 1
  store i32 %201, ptr %11, align 4
  br label %234

202:                                              ; preds = %181
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %10, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %11, align 4
  br label %230

206:                                              ; preds = %187, %183
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %10, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %11, align 4
  br label %229

210:                                              ; preds = %191
  %211 = landingpad { ptr, i32 }
          cleanup
  %212 = extractvalue { ptr, i32 } %211, 0
  store ptr %212, ptr %10, align 8
  %213 = extractvalue { ptr, i32 } %211, 1
  store i32 %213, ptr %11, align 4
  br label %228

214:                                              ; preds = %192
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %10, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %11, align 4
  br label %227

218:                                              ; preds = %194, %193
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %10, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %11, align 4
  br label %226

222:                                              ; preds = %195
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %10, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %11, align 4
  call void @_ZN2vl3PtrINS_7parsing12ParsingErrorEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %226

226:                                              ; preds = %222, %218
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #6
  br label %227

227:                                              ; preds = %226, %214
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #6
  br label %228

228:                                              ; preds = %227, %210
  call void @llvm.lifetime.end.p0(i64 48, ptr %24) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #6
  br label %229

229:                                              ; preds = %228, %206
  call void @llvm.lifetime.end.p0(i64 48, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %22) #6
  br label %230

230:                                              ; preds = %229, %202
  %231 = load i1, ptr %25, align 1
  br i1 %231, label %232, label %233

232:                                              ; preds = %230
  call void @_ZdlPvm(ptr noundef %180, i64 noundef 208) #8
  br label %233

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

234:                                              ; preds = %233, %198
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  br label %242

235:                                              ; preds = %177
  %236 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %237 unwind label %165

237:                                              ; preds = %235
  br label %238

238:                                              ; preds = %237
  br label %239

239:                                              ; preds = %238, %171
  br label %153, !llvm.loop !37

240:                                              ; preds = %197, %160
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  %241 = load i32, ptr %12, align 4
  switch i32 %241, label %246 [
    i32 13, label %244
  ]

242:                                              ; preds = %234, %165
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %243

243:                                              ; preds = %242, %161
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %19) #6
  br label %248

244:                                              ; preds = %240
  br label %245

245:                                              ; preds = %244
  store i8 0, ptr %17, align 1, !tbaa !11
  br label %135, !llvm.loop !39

246:                                              ; preds = %240, %138
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  %247 = load i32, ptr %12, align 4
  switch i32 %247, label %251 [
    i32 10, label %249
  ]

248:                                              ; preds = %243, %147
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #6
  br label %280

249:                                              ; preds = %246
  br label %250

250:                                              ; preds = %249, %124
  store i32 0, ptr %12, align 4
  br label %251

251:                                              ; preds = %250, %246
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #6
  %252 = load i32, ptr %12, align 4
  switch i32 %252, label %754 [
    i32 0, label %253
    i32 15, label %275
  ]

253:                                              ; preds = %251
  %254 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %255 unwind label %266

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

256:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #6
  %257 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %258 unwind label %270

258:                                              ; preds = %256
  %259 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %257, i32 0, i32 5
  %260 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %261 unwind label %270

261:                                              ; preds = %258
  %262 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %260, i32 0, i32 6
  invoke void @_ZN2vl11collections4PairIPNS_7parsing9analyzing5StateES5_EC2ERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef nonnull align 8 dereferenceable(8) %262)
          to label %263 unwind label %270

263:                                              ; preds = %261
  %264 = invoke noundef i64 @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %6, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %265 unwind label %270

265:                                              ; preds = %263
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #6
  br label %274

266:                                              ; preds = %277, %275, %253
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %10, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %11, align 4
  br label %280

270:                                              ; preds = %263, %261, %258, %256
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %10, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #6
  br label %280

274:                                              ; preds = %265, %255
  br label %275

275:                                              ; preds = %274, %251
  %276 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %277 unwind label %266

277:                                              ; preds = %275
  %278 = load ptr, ptr %15, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing9Automaton16DeleteTransitionEPNS1_10TransitionE(ptr noundef nonnull align 8 dereferenceable(224) %276, ptr noundef %278)
          to label %279 unwind label %266

279:                                              ; preds = %277
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  br label %282

280:                                              ; preds = %270, %266, %248
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %281

281:                                              ; preds = %280, %143
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  br label %286

282:                                              ; preds = %279, %117
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #6
  br label %283

283:                                              ; preds = %282
  %284 = load i64, ptr %14, align 8, !tbaa !9
  %285 = add nsw i64 %284, -1
  store i64 %285, ptr %14, align 8, !tbaa !9
  br label %103, !llvm.loop !40

286:                                              ; preds = %281, %139
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #6
  br label %287

287:                                              ; preds = %286, %107
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  br label %289

288:                                              ; preds = %106
  br label %80, !llvm.loop !41

289:                                              ; preds = %287, %92
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %290

290:                                              ; preds = %289, %88
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %9) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %9) #6
  br label %293

291:                                              ; preds = %87
  br label %292

292:                                              ; preds = %291
  store i8 0, ptr %7, align 1, !tbaa !11
  br label %70, !llvm.loop !42

293:                                              ; preds = %290, %74
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #6
  br label %748

294:                                              ; preds = %73
  br label %295

295:                                              ; preds = %294, %2
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #6
  %296 = load i64, ptr %5, align 8, !tbaa !9
  %297 = load ptr, ptr %4, align 8, !tbaa !5
  %298 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing12ParsingErrorEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %297)
          to label %299 unwind label %302

299:                                              ; preds = %295
  %300 = icmp ne i64 %296, %298
  br i1 %300, label %301, label %306

301:                                              ; preds = %299
  store i32 1, ptr %12, align 4
  br label %745

302:                                              ; preds = %295
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %10, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %11, align 4
  br label %748

306:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #6
  store i8 1, ptr %27, align 1, !tbaa !11
  %307 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %308 = trunc i8 %307 to i1
  br i1 %308, label %309, label %582

309:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %29) #6
  %310 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %311 unwind label %322

311:                                              ; preds = %309
  %312 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %310, i32 0, i32 3
  %313 = load ptr, ptr %312, align 8, !tbaa !15
  %314 = getelementptr i8, ptr %313, i64 -24
  %315 = load i64, ptr %314, align 8
  %316 = getelementptr inbounds i8, ptr %312, i64 %315
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %29, ptr noundef nonnull align 8 dereferenceable(8) %316)
          to label %317 unwind label %322

317:                                              ; preds = %311
  store ptr %29, ptr %28, align 8, !tbaa !5
  br label %318

318:                                              ; preds = %579, %317
  %319 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %320 = trunc i8 %319 to i1
  br i1 %320, label %326, label %321

321:                                              ; preds = %318
  store i32 16, ptr %12, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #6
  br label %581

322:                                              ; preds = %311, %309
  %323 = landingpad { ptr, i32 }
          cleanup
  %324 = extractvalue { ptr, i32 } %323, 0
  store ptr %324, ptr %10, align 8
  %325 = extractvalue { ptr, i32 } %323, 1
  store i32 %325, ptr %11, align 4
  br label %580

326:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %327 unwind label %336

327:                                              ; preds = %326
  br label %328

328:                                              ; preds = %575, %327
  %329 = load ptr, ptr %28, align 8, !tbaa !5
  %330 = load ptr, ptr %329, align 8, !tbaa !15
  %331 = getelementptr inbounds ptr, ptr %330, i64 2
  %332 = load ptr, ptr %331, align 8
  %333 = invoke noundef zeroext i1 %332(ptr noundef nonnull align 8 dereferenceable(8) %329, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %334 unwind label %340

334:                                              ; preds = %328
  br i1 %333, label %344, label %335

335:                                              ; preds = %334
  store i32 19, ptr %12, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %578

336:                                              ; preds = %326
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %10, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %11, align 4
  br label %577

340:                                              ; preds = %328
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %10, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %11, align 4
  br label %576

344:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #6
  store i8 1, ptr %31, align 1, !tbaa !11
  %345 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %346 = trunc i8 %345 to i1
  br i1 %346, label %347, label %575

347:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %33) #6
  %348 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %349 unwind label %360

349:                                              ; preds = %347
  %350 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %348, i32 0, i32 1
  %351 = load ptr, ptr %350, align 8, !tbaa !15
  %352 = getelementptr i8, ptr %351, i64 -24
  %353 = load i64, ptr %352, align 8
  %354 = getelementptr inbounds i8, ptr %350, i64 %353
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %33, ptr noundef nonnull align 8 dereferenceable(8) %354)
          to label %355 unwind label %360

355:                                              ; preds = %349
  store ptr %33, ptr %32, align 8, !tbaa !5
  br label %356

356:                                              ; preds = %572, %355
  %357 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %358 = trunc i8 %357 to i1
  br i1 %358, label %364, label %359

359:                                              ; preds = %356
  store i32 21, ptr %12, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  br label %574

360:                                              ; preds = %349, %347
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %10, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %11, align 4
  br label %573

364:                                              ; preds = %356
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #6
  br label %365

365:                                              ; preds = %569, %364
  %366 = load ptr, ptr %32, align 8, !tbaa !5
  %367 = load ptr, ptr %366, align 8, !tbaa !15
  %368 = getelementptr inbounds ptr, ptr %367, i64 2
  %369 = load ptr, ptr %368, align 8
  %370 = invoke noundef zeroext i1 %369(ptr noundef nonnull align 8 dereferenceable(8) %366, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %371 unwind label %373

371:                                              ; preds = %365
  br i1 %370, label %377, label %372

372:                                              ; preds = %371
  store i32 24, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  br label %571

373:                                              ; preds = %365
  %374 = landingpad { ptr, i32 }
          cleanup
  %375 = extractvalue { ptr, i32 } %374, 0
  store ptr %375, ptr %10, align 8
  %376 = extractvalue { ptr, i32 } %374, 1
  store i32 %376, ptr %11, align 4
  br label %570

377:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #6
  %378 = load ptr, ptr %34, align 8, !tbaa !5
  %379 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %378, i32 0, i32 3
  %380 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %379)
          to label %381 unwind label %387

381:                                              ; preds = %377
  %382 = sub nsw i64 %380, 1
  store i64 %382, ptr %35, align 8, !tbaa !9
  br label %383

383:                                              ; preds = %563, %381
  %384 = load i64, ptr %35, align 8, !tbaa !9
  %385 = icmp sge i64 %384, 0
  br i1 %385, label %391, label %386

386:                                              ; preds = %383
  store i32 26, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  br label %569

387:                                              ; preds = %377
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %10, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %11, align 4
  br label %568

391:                                              ; preds = %383
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  %392 = load ptr, ptr %34, align 8, !tbaa !5
  %393 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %392, i32 0, i32 3
  %394 = load i64, ptr %35, align 8, !tbaa !9
  %395 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %393, i64 noundef %394)
          to label %396 unwind label %477

396:                                              ; preds = %391
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %395)
          to label %397 unwind label %477

397:                                              ; preds = %396
  %398 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %399 unwind label %481

399:                                              ; preds = %397
  %400 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %398, i32 0, i32 1
  %401 = load i32, ptr %400, align 8, !tbaa !26
  %402 = icmp eq i32 %401, 5
  br i1 %402, label %403, label %562

403:                                              ; preds = %399
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #6
  %404 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %405 unwind label %485

405:                                              ; preds = %403
  %406 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %404, i32 0, i32 5
  %407 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %408 unwind label %485

408:                                              ; preds = %405
  %409 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %407, i32 0, i32 6
  invoke void @_ZN2vl11collections4PairIPNS_7parsing9analyzing5StateES5_EC2ERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(16) %37, ptr noundef nonnull align 8 dereferenceable(8) %406, ptr noundef nonnull align 8 dereferenceable(8) %409)
          to label %410 unwind label %485

410:                                              ; preds = %408
  %411 = invoke noundef zeroext i1 @_ZNK2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_E8ContainsERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %6, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %412 unwind label %485

412:                                              ; preds = %410
  br i1 %411, label %413, label %560

413:                                              ; preds = %412
  %414 = load ptr, ptr %34, align 8, !tbaa !5
  %415 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %414, i32 0, i32 4
  %416 = load i32, ptr %415, align 8, !tbaa !43
  %417 = icmp eq i32 %416, 2
  br i1 %417, label %418, label %502

418:                                              ; preds = %413
  %419 = load ptr, ptr %34, align 8, !tbaa !5
  %420 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %419, i32 0, i32 4
  store i32 3, ptr %420, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  %421 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 56) #7
          to label %422 unwind label %489

422:                                              ; preds = %418
  invoke void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr noundef nonnull align 8 dereferenceable(56) %421)
          to label %423 unwind label %493

423:                                              ; preds = %422
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef %421)
          to label %424 unwind label %489

424:                                              ; preds = %423
  %425 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %426 unwind label %497

426:                                              ; preds = %424
  %427 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %425, i32 0, i32 1
  store i32 6, ptr %427, align 8, !tbaa !26
  %428 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %429 unwind label %497

429:                                              ; preds = %426
  %430 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %428, i32 0, i32 3
  %431 = load ptr, ptr %430, align 8, !tbaa !44
  %432 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %433 unwind label %497

433:                                              ; preds = %429
  %434 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %432, i32 0, i32 3
  store ptr %431, ptr %434, align 8, !tbaa !44
  %435 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %436 unwind label %497

436:                                              ; preds = %433
  %437 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %435, i32 0, i32 2
  %438 = load ptr, ptr %437, align 8, !tbaa !45
  %439 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %440 unwind label %497

440:                                              ; preds = %436
  %441 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %439, i32 0, i32 2
  store ptr %438, ptr %441, align 8, !tbaa !45
  %442 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %443 unwind label %497

443:                                              ; preds = %440
  %444 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %442, i32 0, i32 4
  %445 = load ptr, ptr %444, align 8, !tbaa !46
  %446 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %447 unwind label %497

447:                                              ; preds = %443
  %448 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %446, i32 0, i32 4
  store ptr %445, ptr %448, align 8, !tbaa !46
  %449 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %450 unwind label %497

450:                                              ; preds = %447
  %451 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %449, i32 0, i32 5
  %452 = load ptr, ptr %451, align 8, !tbaa !47
  %453 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %454 unwind label %497

454:                                              ; preds = %450
  %455 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %453, i32 0, i32 5
  store ptr %452, ptr %455, align 8, !tbaa !47
  %456 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %457 unwind label %497

457:                                              ; preds = %454
  %458 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %456, i32 0, i32 6
  %459 = load ptr, ptr %458, align 8, !tbaa !48
  %460 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %461 unwind label %497

461:                                              ; preds = %457
  %462 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %460, i32 0, i32 6
  store ptr %459, ptr %462, align 8, !tbaa !48
  %463 = getelementptr inbounds %"class.vl::collections::Pair.568", ptr %37, i32 0, i32 0
  %464 = load ptr, ptr %463, align 8, !tbaa !49
  %465 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %464, i32 0, i32 5
  %466 = load ptr, ptr %465, align 8, !tbaa !29
  %467 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %468 unwind label %497

468:                                              ; preds = %461
  %469 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %467, i32 0, i32 4
  store ptr %466, ptr %469, align 8, !tbaa !46
  %470 = load ptr, ptr %34, align 8, !tbaa !5
  %471 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %470, i32 0, i32 3
  %472 = load i64, ptr %35, align 8, !tbaa !9
  %473 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %471, i64 noundef %472)
          to label %474 unwind label %497

474:                                              ; preds = %468
  %475 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %473, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %476 unwind label %497

476:                                              ; preds = %474
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %559

477:                                              ; preds = %396, %391
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %10, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %11, align 4
  br label %567

481:                                              ; preds = %397
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %10, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %11, align 4
  br label %566

485:                                              ; preds = %410, %408, %405, %403
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %10, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %11, align 4
  br label %561

489:                                              ; preds = %423, %418
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %10, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %11, align 4
  br label %501

493:                                              ; preds = %422
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %10, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %11, align 4
  call void @_ZdlPvm(ptr noundef %421, i64 noundef 56) #8
  br label %501

497:                                              ; preds = %474, %468, %461, %457, %454, %450, %447, %443, %440, %436, %433, %429, %426, %424
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %10, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %11, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %501

501:                                              ; preds = %497, %493, %489
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %561

502:                                              ; preds = %413
  %503 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  %504 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 208) #7
          to label %505 unwind label %522

505:                                              ; preds = %502
  store i1 true, ptr %43, align 1
  %506 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %507 unwind label %526

507:                                              ; preds = %505
  %508 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %506, i32 0, i32 5
  %509 = load ptr, ptr %508, align 8, !tbaa !29
  call void @llvm.lifetime.start.p0(i64 48, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr %41) #6
  %510 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %511 unwind label %530

511:                                              ; preds = %507
  %512 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %510, i32 0, i32 5
  %513 = load ptr, ptr %512, align 8, !tbaa !29
  %514 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %513, i32 0, i32 1
  invoke void @_ZN2vlplEPKwRKNS_12ObjectStringIwEE(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %41, ptr noundef @.str.171, ptr noundef nonnull align 8 dereferenceable(48) %514)
          to label %515 unwind label %530

515:                                              ; preds = %511
  call void @llvm.lifetime.start.p0(i64 48, ptr %42) #6
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %42, ptr noundef @.str.170, i1 noundef zeroext true)
          to label %516 unwind label %534

516:                                              ; preds = %515
  invoke void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %40, ptr noundef nonnull align 8 dereferenceable(48) %41, ptr noundef nonnull align 8 dereferenceable(48) %42)
          to label %517 unwind label %538

517:                                              ; preds = %516
  invoke void @_ZN2vl7parsing12ParsingErrorC1EPNS0_21ParsingTreeCustomBaseERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(136) %504, ptr noundef %509, ptr noundef nonnull align 8 dereferenceable(48) %40)
          to label %518 unwind label %542

518:                                              ; preds = %517
  store i1 false, ptr %43, align 1
  invoke void @_ZN2vl3PtrINS_7parsing12ParsingErrorEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef %504)
          to label %519 unwind label %542

519:                                              ; preds = %518
  %520 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing12ParsingErrorEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %503, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %521 unwind label %546

521:                                              ; preds = %519
  call void @_ZN2vl3PtrINS_7parsing12ParsingErrorEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %42) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %42) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %559

522:                                              ; preds = %502
  %523 = landingpad { ptr, i32 }
          cleanup
  %524 = extractvalue { ptr, i32 } %523, 0
  store ptr %524, ptr %10, align 8
  %525 = extractvalue { ptr, i32 } %523, 1
  store i32 %525, ptr %11, align 4
  br label %558

526:                                              ; preds = %505
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %10, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %11, align 4
  br label %554

530:                                              ; preds = %511, %507
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %10, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %11, align 4
  br label %553

534:                                              ; preds = %515
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %10, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %11, align 4
  br label %552

538:                                              ; preds = %516
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %10, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %11, align 4
  br label %551

542:                                              ; preds = %518, %517
  %543 = landingpad { ptr, i32 }
          cleanup
  %544 = extractvalue { ptr, i32 } %543, 0
  store ptr %544, ptr %10, align 8
  %545 = extractvalue { ptr, i32 } %543, 1
  store i32 %545, ptr %11, align 4
  br label %550

546:                                              ; preds = %519
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %10, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %11, align 4
  call void @_ZN2vl3PtrINS_7parsing12ParsingErrorEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %550

550:                                              ; preds = %546, %542
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #6
  br label %551

551:                                              ; preds = %550, %538
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %42) #6
  br label %552

552:                                              ; preds = %551, %534
  call void @llvm.lifetime.end.p0(i64 48, ptr %42) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %41) #6
  br label %553

553:                                              ; preds = %552, %530
  call void @llvm.lifetime.end.p0(i64 48, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #6
  br label %554

554:                                              ; preds = %553, %526
  %555 = load i1, ptr %43, align 1
  br i1 %555, label %556, label %557

556:                                              ; preds = %554
  call void @_ZdlPvm(ptr noundef %504, i64 noundef 208) #8
  br label %557

557:                                              ; preds = %556, %554
  br label %558

558:                                              ; preds = %557, %522
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %561

559:                                              ; preds = %521, %476
  br label %560

560:                                              ; preds = %559, %412
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #6
  br label %562

561:                                              ; preds = %558, %501, %485
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #6
  br label %566

562:                                              ; preds = %560, %399
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %563

563:                                              ; preds = %562
  %564 = load i64, ptr %35, align 8, !tbaa !9
  %565 = add nsw i64 %564, -1
  store i64 %565, ptr %35, align 8, !tbaa !9
  br label %383, !llvm.loop !51

566:                                              ; preds = %561, %481
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %567

567:                                              ; preds = %566, %477
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %568

568:                                              ; preds = %567, %387
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  br label %570

569:                                              ; preds = %386
  br label %365, !llvm.loop !52

570:                                              ; preds = %568, %373
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %33) #6
  br label %573

571:                                              ; preds = %372
  br label %572

572:                                              ; preds = %571
  store i8 0, ptr %31, align 1, !tbaa !11
  br label %356, !llvm.loop !53

573:                                              ; preds = %570, %360
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  br label %576

574:                                              ; preds = %359
  br label %575

575:                                              ; preds = %574, %344
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  br label %328, !llvm.loop !54

576:                                              ; preds = %573, %340
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %577

577:                                              ; preds = %576, %336
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %29) #6
  br label %580

578:                                              ; preds = %335
  br label %579

579:                                              ; preds = %578
  store i8 0, ptr %27, align 1, !tbaa !11
  br label %318, !llvm.loop !55

580:                                              ; preds = %577, %322
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #6
  br label %748

581:                                              ; preds = %321
  br label %582

582:                                              ; preds = %581, %306
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #6
  store i8 1, ptr %44, align 1, !tbaa !11
  %583 = load i8, ptr %44, align 1, !tbaa !11, !range !13, !noundef !14
  %584 = trunc i8 %583 to i1
  br i1 %584, label %585, label %744

585:                                              ; preds = %582
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %46) #6
  %586 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %587 unwind label %598

587:                                              ; preds = %585
  %588 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %586, i32 0, i32 3
  %589 = load ptr, ptr %588, align 8, !tbaa !15
  %590 = getelementptr i8, ptr %589, i64 -24
  %591 = load i64, ptr %590, align 8
  %592 = getelementptr inbounds i8, ptr %588, i64 %591
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %46, ptr noundef nonnull align 8 dereferenceable(8) %592)
          to label %593 unwind label %598

593:                                              ; preds = %587
  store ptr %46, ptr %45, align 8, !tbaa !5
  br label %594

594:                                              ; preds = %741, %593
  %595 = load i8, ptr %44, align 1, !tbaa !11, !range !13, !noundef !14
  %596 = trunc i8 %595 to i1
  br i1 %596, label %602, label %597

597:                                              ; preds = %594
  store i32 29, ptr %12, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  br label %743

598:                                              ; preds = %587, %585
  %599 = landingpad { ptr, i32 }
          cleanup
  %600 = extractvalue { ptr, i32 } %599, 0
  store ptr %600, ptr %10, align 8
  %601 = extractvalue { ptr, i32 } %599, 1
  store i32 %601, ptr %11, align 4
  br label %742

602:                                              ; preds = %594
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #6
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %603 unwind label %612

603:                                              ; preds = %602
  br label %604

604:                                              ; preds = %737, %603
  %605 = load ptr, ptr %45, align 8, !tbaa !5
  %606 = load ptr, ptr %605, align 8, !tbaa !15
  %607 = getelementptr inbounds ptr, ptr %606, i64 2
  %608 = load ptr, ptr %607, align 8
  %609 = invoke noundef zeroext i1 %608(ptr noundef nonnull align 8 dereferenceable(8) %605, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %610 unwind label %616

610:                                              ; preds = %604
  br i1 %609, label %620, label %611

611:                                              ; preds = %610
  store i32 32, ptr %12, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  br label %740

612:                                              ; preds = %602
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %10, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %11, align 4
  br label %739

616:                                              ; preds = %604
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %10, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %11, align 4
  br label %738

620:                                              ; preds = %610
  br label %621

621:                                              ; preds = %736, %620
  br label %622

622:                                              ; preds = %621
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #6
  store i8 0, ptr %48, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #6
  store i8 1, ptr %49, align 1, !tbaa !11
  %623 = load i8, ptr %49, align 1, !tbaa !11, !range !13, !noundef !14
  %624 = trunc i8 %623 to i1
  br i1 %624, label %625, label %725

625:                                              ; preds = %622
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %51) #6
  %626 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %627 unwind label %638

627:                                              ; preds = %625
  %628 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %626, i32 0, i32 1
  %629 = load ptr, ptr %628, align 8, !tbaa !15
  %630 = getelementptr i8, ptr %629, i64 -24
  %631 = load i64, ptr %630, align 8
  %632 = getelementptr inbounds i8, ptr %628, i64 %631
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %51, ptr noundef nonnull align 8 dereferenceable(8) %632)
          to label %633 unwind label %638

633:                                              ; preds = %627
  store ptr %51, ptr %50, align 8, !tbaa !5
  br label %634

634:                                              ; preds = %720, %633
  %635 = load i8, ptr %49, align 1, !tbaa !11, !range !13, !noundef !14
  %636 = trunc i8 %635 to i1
  br i1 %636, label %642, label %637

637:                                              ; preds = %634
  store i32 36, ptr %12, align 4
  br label %721

638:                                              ; preds = %627, %625
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %10, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %11, align 4
  br label %723

642:                                              ; preds = %634
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #6
  br label %643

643:                                              ; preds = %715, %642
  %644 = load ptr, ptr %50, align 8, !tbaa !5
  %645 = load ptr, ptr %644, align 8, !tbaa !15
  %646 = getelementptr inbounds ptr, ptr %645, i64 2
  %647 = load ptr, ptr %646, align 8
  %648 = invoke noundef zeroext i1 %647(ptr noundef nonnull align 8 dereferenceable(8) %644, ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %649 unwind label %651

649:                                              ; preds = %643
  br i1 %648, label %655, label %650

650:                                              ; preds = %649
  store i32 39, ptr %12, align 4
  br label %716

651:                                              ; preds = %643
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %10, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %11, align 4
  br label %718

655:                                              ; preds = %649
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #6
  store i8 1, ptr %53, align 1, !tbaa !11
  %656 = load i8, ptr %53, align 1, !tbaa !11, !range !13, !noundef !14
  %657 = trunc i8 %656 to i1
  br i1 %657, label %658, label %712

658:                                              ; preds = %655
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %55) #6
  %659 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %660 unwind label %671

660:                                              ; preds = %658
  %661 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %659, i32 0, i32 1
  %662 = load ptr, ptr %661, align 8, !tbaa !15
  %663 = getelementptr i8, ptr %662, i64 -24
  %664 = load i64, ptr %663, align 8
  %665 = getelementptr inbounds i8, ptr %661, i64 %664
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %55, ptr noundef nonnull align 8 dereferenceable(8) %665)
          to label %666 unwind label %671

666:                                              ; preds = %660
  store ptr %55, ptr %54, align 8, !tbaa !5
  br label %667

667:                                              ; preds = %707, %666
  %668 = load i8, ptr %53, align 1, !tbaa !11, !range !13, !noundef !14
  %669 = trunc i8 %668 to i1
  br i1 %669, label %675, label %670

670:                                              ; preds = %667
  store i32 41, ptr %12, align 4
  br label %708

671:                                              ; preds = %660, %658
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %10, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %11, align 4
  br label %710

675:                                              ; preds = %667
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #6
  br label %676

676:                                              ; preds = %703, %675
  %677 = load ptr, ptr %54, align 8, !tbaa !5
  %678 = load ptr, ptr %677, align 8, !tbaa !15
  %679 = getelementptr inbounds ptr, ptr %678, i64 2
  %680 = load ptr, ptr %679, align 8
  %681 = invoke noundef zeroext i1 %680(ptr noundef nonnull align 8 dereferenceable(8) %677, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %682 unwind label %684

682:                                              ; preds = %676
  br i1 %681, label %688, label %683

683:                                              ; preds = %682
  store i32 44, ptr %12, align 4
  br label %704

684:                                              ; preds = %699, %697, %692, %676
  %685 = landingpad { ptr, i32 }
          cleanup
  %686 = extractvalue { ptr, i32 } %685, 0
  store ptr %686, ptr %10, align 8
  %687 = extractvalue { ptr, i32 } %685, 1
  store i32 %687, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %55) #6
  br label %710

688:                                              ; preds = %682
  %689 = load ptr, ptr %52, align 8, !tbaa !5
  %690 = load ptr, ptr %56, align 8, !tbaa !5
  %691 = icmp ne ptr %689, %690
  br i1 %691, label %692, label %703

692:                                              ; preds = %688
  %693 = load ptr, ptr %52, align 8, !tbaa !5
  %694 = load ptr, ptr %56, align 8, !tbaa !5
  %695 = invoke noundef zeroext i1 @_ZN2vl7parsing9analyzing10Transition12IsEquivalentEPS2_S3_b(ptr noundef %693, ptr noundef %694, i1 noundef zeroext true)
          to label %696 unwind label %684

696:                                              ; preds = %692
  br i1 %695, label %697, label %702

697:                                              ; preds = %696
  %698 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %699 unwind label %684

699:                                              ; preds = %697
  %700 = load ptr, ptr %56, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing9Automaton16DeleteTransitionEPNS1_10TransitionE(ptr noundef nonnull align 8 dereferenceable(224) %698, ptr noundef %700)
          to label %701 unwind label %684

701:                                              ; preds = %699
  store i8 1, ptr %48, align 1, !tbaa !11
  store i32 46, ptr %12, align 4
  br label %704

702:                                              ; preds = %696
  br label %703

703:                                              ; preds = %702, %688
  br label %676, !llvm.loop !56

704:                                              ; preds = %701, %683
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #6
  %705 = load i32, ptr %12, align 4
  switch i32 %705, label %708 [
    i32 44, label %706
  ]

706:                                              ; preds = %704
  br label %707

707:                                              ; preds = %706
  store i8 0, ptr %53, align 1, !tbaa !11
  br label %667, !llvm.loop !57

708:                                              ; preds = %704, %670
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #6
  %709 = load i32, ptr %12, align 4
  switch i32 %709, label %713 [
    i32 41, label %711
  ]

710:                                              ; preds = %684, %671
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #6
  br label %718

711:                                              ; preds = %708
  br label %712

712:                                              ; preds = %711, %655
  store i32 0, ptr %12, align 4
  br label %713

713:                                              ; preds = %712, %708
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #6
  %714 = load i32, ptr %12, align 4
  switch i32 %714, label %716 [
    i32 0, label %715
  ]

715:                                              ; preds = %713
  br label %643, !llvm.loop !58

716:                                              ; preds = %713, %650
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  %717 = load i32, ptr %12, align 4
  switch i32 %717, label %721 [
    i32 39, label %719
  ]

718:                                              ; preds = %710, %651
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %51) #6
  br label %723

719:                                              ; preds = %716
  br label %720

720:                                              ; preds = %719
  store i8 0, ptr %49, align 1, !tbaa !11
  br label %634, !llvm.loop !59

721:                                              ; preds = %716, %637
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  %722 = load i32, ptr %12, align 4
  switch i32 %722, label %726 [
    i32 36, label %724
  ]

723:                                              ; preds = %718, %638
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #6
  br label %738

724:                                              ; preds = %721
  br label %725

725:                                              ; preds = %724, %622
  store i32 0, ptr %12, align 4
  br label %726

726:                                              ; preds = %725, %721
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #6
  %727 = load i32, ptr %12, align 4
  switch i32 %727, label %734 [
    i32 0, label %728
    i32 46, label %729
  ]

728:                                              ; preds = %726
  br label %729

729:                                              ; preds = %728, %726
  %730 = load i8, ptr %48, align 1, !tbaa !11, !range !13, !noundef !14
  %731 = trunc i8 %730 to i1
  br i1 %731, label %733, label %732

732:                                              ; preds = %729
  store i32 35, ptr %12, align 4
  br label %734

733:                                              ; preds = %729
  store i32 0, ptr %12, align 4
  br label %734

734:                                              ; preds = %733, %732, %726
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #6
  %735 = load i32, ptr %12, align 4
  switch i32 %735, label %754 [
    i32 0, label %736
    i32 35, label %737
  ]

736:                                              ; preds = %734
  br label %621, !llvm.loop !60

737:                                              ; preds = %734
  br label %604, !llvm.loop !61

738:                                              ; preds = %723, %616
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %739

739:                                              ; preds = %738, %612
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %46) #6
  br label %742

740:                                              ; preds = %611
  br label %741

741:                                              ; preds = %740
  store i8 0, ptr %44, align 1, !tbaa !11
  br label %594, !llvm.loop !62

742:                                              ; preds = %739, %598
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #6
  br label %748

743:                                              ; preds = %597
  br label %744

744:                                              ; preds = %743, %582
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #6
  store i32 0, ptr %12, align 4
  br label %745

745:                                              ; preds = %744, %301
  call void @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %6) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  %746 = load i32, ptr %12, align 4
  switch i32 %746, label %754 [
    i32 0, label %747
    i32 1, label %747
  ]

747:                                              ; preds = %745, %745
  ret void

748:                                              ; preds = %742, %580, %302, %293
  call void @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %6) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  br label %749

749:                                              ; preds = %748
  %750 = load ptr, ptr %10, align 8
  %751 = load i32, ptr %11, align 4
  %752 = insertvalue { ptr, i32 } poison, ptr %750, 0
  %753 = insertvalue { ptr, i32 } %752, i32 %751, 1
  resume { ptr, i32 } %753

754:                                              ; preds = %745, %734, %251
  unreachable
}

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(16)) #2 align 2

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

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

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

declare void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr)

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !8, i64 0}
!17 = !{!18, !25, i64 76}
!18 = !{!"_ZTSN2vl7parsing9analyzing10TransitionE", !19, i64 0, !6, i64 8, !6, i64 16, !20, i64 24, !24, i64 72, !25, i64 76, !6, i64 80}
!19 = !{!"_ZTSN2vl6ObjectE"}
!20 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !21, i64 0}
!21 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !22, i64 0, !10, i64 24, !12, i64 32}
!22 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEEE", !23, i64 0, !6, i64 8, !10, i64 16}
!23 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing6ActionEEELb0EEE", !19, i64 0}
!24 = !{!"_ZTSN2vl7parsing9analyzing10Transition14TransitionTypeE", !7, i64 0}
!25 = !{!"_ZTSN2vl7parsing9analyzing10Transition18StackOperationTypeE", !7, i64 0}
!26 = !{!27, !28, i64 8}
!27 = !{!"_ZTSN2vl7parsing9analyzing6ActionE", !19, i64 0, !28, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48}
!28 = !{!"_ZTSN2vl7parsing9analyzing6Action10ActionTypeE", !7, i64 0}
!29 = !{!30, !6, i64 120}
!30 = !{!"_ZTSN2vl7parsing9analyzing5StateE", !19, i64 0, !31, i64 8, !31, i64 56, !12, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !35, i64 144, !36, i64 152, !36, i64 200}
!31 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EE", !32, i64 0}
!32 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing10TransitionES5_EE", !33, i64 0, !10, i64 24, !12, i64 32}
!33 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEEE", !34, i64 0, !6, i64 8, !10, i64 16}
!34 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing10TransitionELb1EEE", !19, i64 0}
!35 = !{!"_ZTSN2vl7parsing9analyzing5State13StatePositionE", !7, i64 0}
!36 = !{!"_ZTSN2vl12ObjectStringIwEE", !19, i64 0, !6, i64 8, !6, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!37 = distinct !{!37, !38}
!38 = !{!"llvm.loop.mustprogress"}
!39 = distinct !{!39, !38}
!40 = distinct !{!40, !38}
!41 = distinct !{!41, !38}
!42 = distinct !{!42, !38}
!43 = !{!18, !24, i64 72}
!44 = !{!27, !6, i64 24}
!45 = !{!27, !6, i64 16}
!46 = !{!27, !6, i64 32}
!47 = !{!27, !6, i64 40}
!48 = !{!27, !6, i64 48}
!49 = !{!50, !6, i64 0}
!50 = !{!"_ZTSN2vl11collections4PairIPNS_7parsing9analyzing5StateES5_EE", !6, i64 0, !6, i64 8}
!51 = distinct !{!51, !38}
!52 = distinct !{!52, !38}
!53 = distinct !{!53, !38}
!54 = distinct !{!54, !38}
!55 = distinct !{!55, !38}
!56 = distinct !{!56, !38}
!57 = distinct !{!57, !38}
!58 = distinct !{!58, !38}
!59 = distinct !{!59, !38}
!60 = distinct !{!60, !38}
!61 = distinct !{!61, !38}
!62 = distinct !{!62, !38}


; 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.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::Object" = type { ptr }
%"class.vl::collections::EnumerableForEachIterator.449" = type { %"class.vl::collections::ForEachIterator.450", %"class.vl::Ptr.451" }
%"class.vl::collections::ForEachIterator.450" = type { %"class.vl::Object" }
%"class.vl::Ptr.451" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.521" = type { %"class.vl::collections::ForEachIterator.522", %"class.vl::Ptr.523" }
%"class.vl::collections::ForEachIterator.522" = type { %"class.vl::Object" }
%"class.vl::Ptr.523" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.551" = type { %"class.vl::collections::ForEachIterator.552", %"class.vl::Ptr.553" }
%"class.vl::collections::ForEachIterator.552" = type { %"class.vl::Object" }
%"class.vl::Ptr.553" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::SortedList.561" = type { %"class.vl::collections::ListBase.base.566", %"class.vl::collections::IEnumerable.465" }
%"class.vl::collections::ListBase.base.566" = type <{ %"class.vl::collections::ArrayBase.base.565", i64, i8 }>
%"class.vl::collections::ArrayBase.base.565" = type { %"class.vl::collections::ListStore.564", ptr, i64 }
%"class.vl::collections::ListStore.564" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.465" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::Ptr.446" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.394" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.137" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Pair.568" = type { ptr, ptr }

@.str.169 = external hidden unnamed_addr constant [45 x i32], align 4
@.str.170 = external hidden unnamed_addr constant [18 x i32], align 4
@.str.171 = external hidden unnamed_addr constant [66 x i32], align 4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #0

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef, i1 noundef zeroext) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2 align 2

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vlplEPKwRKNS_12ObjectStringIwEE(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing12ParsingErrorEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing12ParsingErrorC1EPNS0_21ParsingTreeCustomBaseERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(136), ptr noundef, ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl7parsing9analyzing10Transition12IsEquivalentEPS2_S3_b(ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) local_unnamed_addr #2 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing9Automaton16DeleteTransitionEPNS1_10TransitionE(ptr noundef nonnull align 8 dereferenceable(224), ptr noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.551") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN2vl7parsing9analyzing27MarkLeftRecursiveInJointPDAENS_3PtrINS1_9AutomatonEEERNS_11collections4ListINS2_INS0_12ParsingErrorEEEPS7_EE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(33) %1) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.vl::collections::SortedList.561", align 8
  %4 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %5 = alloca %"class.vl::Ptr.446", align 8
  %6 = alloca %"class.vl::Ptr.394", align 8
  %7 = alloca %"class.vl::collections::EnumerableForEachIterator.551", align 8
  %8 = alloca %"class.vl::Ptr.394", align 8
  %9 = alloca %"class.vl::Ptr.137", align 8
  %10 = alloca %"class.vl::ObjectString", align 8
  %11 = alloca %"class.vl::ObjectString", align 8
  %12 = alloca %"class.vl::ObjectString", align 8
  %13 = alloca %"class.vl::collections::Pair.568", align 8
  %14 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %15 = alloca %"class.vl::Ptr.446", align 8
  %16 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %17 = alloca ptr, align 8
  %18 = alloca %"class.vl::Ptr.394", align 8
  %19 = alloca %"class.vl::collections::Pair.568", align 8
  %20 = alloca %"class.vl::Ptr.394", align 8
  %21 = alloca %"class.vl::Ptr.137", align 8
  %22 = alloca %"class.vl::ObjectString", align 8
  %23 = alloca %"class.vl::ObjectString", align 8
  %24 = alloca %"class.vl::ObjectString", align 8
  %25 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %26 = alloca %"class.vl::Ptr.446", align 8
  %27 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %28 = alloca ptr, align 8
  %29 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %30 = alloca ptr, align 8
  %31 = tail call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing12ParsingErrorEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %3) #6
  call void @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %3)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4) #6
  %32 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %33 = getelementptr inbounds i8, ptr %32, i64 64
  %34 = load ptr, ptr %33, align 8, !tbaa !5
  %35 = getelementptr i8, ptr %34, i64 -24
  %36 = load i64, ptr %35, align 8
  %37 = getelementptr inbounds i8, ptr %33, i64 %36
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %4, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %40 unwind label %38

38:                                               ; preds = %2
  %39 = landingpad { ptr, i32 }
          cleanup
  br label %359

40:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5)
  br label %41

.loopexit209:                                     ; preds = %139, %50
  br label %41, !llvm.loop !8

41:                                               ; preds = %.loopexit209, %40
  %42 = load ptr, ptr %4, align 8, !tbaa !5
  %43 = getelementptr inbounds i8, ptr %42, i64 16
  %44 = load ptr, ptr %43, align 8
  %45 = invoke noundef zeroext i1 %44(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %46 unwind label %48

46:                                               ; preds = %41
  br i1 %45, label %50, label %.critedge

.critedge:                                        ; preds = %46
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %4) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4) #6
  %47 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing12ParsingErrorEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1)
  %.not = icmp eq i64 %31, %47
  br i1 %.not, label %142, label %358

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

50:                                               ; preds = %46
  %51 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
  %52 = getelementptr inbounds i8, ptr %51, i64 8
  %53 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %52)
  %54 = icmp sgt i64 %53, 0
  br i1 %54, label %.lr.ph, label %.loopexit209

.lr.ph:                                           ; preds = %50, %139
  %.0117229.in = phi i64 [ %.0117229, %139 ], [ %53, %50 ]
  %.0117229 = add nsw i64 %.0117229.in, -1
  %55 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
  %56 = getelementptr inbounds i8, ptr %55, i64 8
  %57 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %56, i64 noundef %.0117229)
          to label %58 unwind label %69

58:                                               ; preds = %.lr.ph
  %59 = load ptr, ptr %57, align 8, !tbaa !10
  %60 = getelementptr inbounds i8, ptr %59, i64 76
  %61 = load i32, ptr %60, align 4, !tbaa !13
  %62 = icmp eq i32 %61, 2
  br i1 %62, label %63, label %139

63:                                               ; preds = %58
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) #6
  %64 = getelementptr inbounds i8, ptr %59, i64 24
  %65 = load ptr, ptr %64, align 8, !tbaa !5
  %66 = getelementptr i8, ptr %65, i64 -24
  %67 = load i64, ptr %66, align 8
  %68 = getelementptr inbounds i8, ptr %64, i64 %67
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.551") align 8 %7, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %73 unwind label %71

69:                                               ; preds = %.lr.ph
  %70 = landingpad { ptr, i32 }
          cleanup
  br label %141

71:                                               ; preds = %63
  %72 = landingpad { ptr, i32 }
          cleanup
  br label %138

73:                                               ; preds = %63
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #6
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8)
  br label %74

74:                                               ; preds = %.backedge276, %73
  %75 = load ptr, ptr %7, align 8, !tbaa !5
  %76 = getelementptr inbounds i8, ptr %75, i64 16
  %77 = load ptr, ptr %76, align 8
  %78 = invoke noundef zeroext i1 %77(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %79 unwind label %80

79:                                               ; preds = %74
  br i1 %78, label %82, label %122

80:                                               ; preds = %119, %74
  %81 = landingpad { ptr, i32 }
          cleanup
  br label %121

82:                                               ; preds = %79
  %83 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %84 = getelementptr inbounds i8, ptr %83, i64 8
  %85 = load i32, ptr %84, align 8, !tbaa !24
  %86 = icmp eq i32 %85, 4
  br i1 %86, label %87, label %.backedge276

87:                                               ; preds = %82
  %88 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  br i1 %88, label %89, label %119

89:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #6
  %90 = invoke noalias noundef nonnull dereferenceable(208) ptr @_Znwm(i64 noundef 208) #7
          to label %91 unwind label %105

91:                                               ; preds = %89
  %92 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
  %93 = getelementptr inbounds i8, ptr %92, i64 120
  %94 = load ptr, ptr %93, align 8, !tbaa !27
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %10) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %11) #6
  %95 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
  %96 = getelementptr inbounds i8, ptr %95, i64 120
  %97 = load ptr, ptr %96, align 8, !tbaa !27
  %98 = getelementptr inbounds i8, ptr %97, i64 168
  invoke void @_ZN2vlplEPKwRKNS_12ObjectStringIwEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %11, ptr noundef nonnull @.str.169, ptr noundef nonnull align 8 dereferenceable(48) %98)
          to label %99 unwind label %.thread

99:                                               ; preds = %91
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12) #6
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull @.str.170, i1 noundef zeroext true)
          to label %100 unwind label %.thread175

100:                                              ; preds = %99
  invoke void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %10, ptr noundef nonnull align 8 dereferenceable(48) %11, ptr noundef nonnull align 8 dereferenceable(48) %12)
          to label %101 unwind label %109

101:                                              ; preds = %100
  invoke void @_ZN2vl7parsing12ParsingErrorC1EPNS0_21ParsingTreeCustomBaseERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(136) %90, ptr noundef %94, ptr noundef nonnull align 8 dereferenceable(48) %10)
          to label %102 unwind label %111

102:                                              ; preds = %101
  invoke void @_ZN2vl3PtrINS_7parsing12ParsingErrorEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull %90)
          to label %103 unwind label %111

103:                                              ; preds = %102
  %104 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing12ParsingErrorEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %1, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %.critedge162 unwind label %113

.critedge162:                                     ; preds = %103
  call void @_ZN2vl3PtrINS_7parsing12ParsingErrorEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %11) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #6
  br label %135

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

.thread:                                          ; preds = %91
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #6
  br label %117

.thread175:                                       ; preds = %99
  %108 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %11) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #6
  br label %117

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

111:                                              ; preds = %102, %101
  %.0119 = phi i1 [ false, %102 ], [ true, %101 ]
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %115

113:                                              ; preds = %103
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing12ParsingErrorEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %115

115:                                              ; preds = %113, %111
  %.1120 = phi i1 [ false, %113 ], [ %.0119, %111 ]
  %.pn147 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #6
  br label %116

116:                                              ; preds = %109, %115
  %.2121 = phi i1 [ %.1120, %115 ], [ true, %109 ]
  %.pn147.pn = phi { ptr, i32 } [ %.pn147, %115 ], [ %110, %109 ]
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %11) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #6
  br i1 %.2121, label %117, label %118

117:                                              ; preds = %.thread175, %.thread, %116
  %.pn147.pn.pn.pn174 = phi { ptr, i32 } [ %107, %.thread ], [ %.pn147.pn, %116 ], [ %108, %.thread175 ]
  call void @_ZdlPvm(ptr noundef nonnull %90, i64 noundef 208) #8
  br label %118

118:                                              ; preds = %116, %117, %105
  %.pn147.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn147.pn.pn.pn174, %117 ], [ %.pn147.pn, %116 ], [ %106, %105 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  br label %121

119:                                              ; preds = %87
  %120 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %.backedge276 unwind label %80

.backedge276:                                     ; preds = %119, %82
  br label %74, !llvm.loop !35

121:                                              ; preds = %118, %80
  %.pn147.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn147.pn.pn.pn.pn, %118 ], [ %81, %80 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #6
  br label %138

122:                                              ; preds = %79
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #6
  %123 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  br i1 %123, label %124, label %135

124:                                              ; preds = %122
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #6
  %125 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %126 = getelementptr inbounds i8, ptr %125, i64 40
  %127 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %128 = getelementptr inbounds i8, ptr %127, i64 48
  call void @_ZN2vl11collections4PairIPNS_7parsing9analyzing5StateES5_EC2ERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef nonnull align 8 dereferenceable(8) %128)
  %129 = invoke noundef i64 @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %3, ptr noundef nonnull align 8 dereferenceable(16) %13)
          to label %130 unwind label %133

130:                                              ; preds = %124
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #6
  br label %135

131:                                              ; preds = %135
  %132 = landingpad { ptr, i32 }
          cleanup
  br label %138

133:                                              ; preds = %124
  %134 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #6
  br label %138

135:                                              ; preds = %.critedge162, %122, %130
  %136 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing9analyzing9Automaton16DeleteTransitionEPNS1_10TransitionE(ptr noundef nonnull align 8 dereferenceable(224) %136, ptr noundef %59)
          to label %137 unwind label %131

137:                                              ; preds = %135
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  br label %139

138:                                              ; preds = %71, %121, %133, %131
  %.pn155 = phi { ptr, i32 } [ %132, %131 ], [ %134, %133 ], [ %.pn147.pn.pn.pn.pn.pn, %121 ], [ %72, %71 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  br label %141

139:                                              ; preds = %137, %58
  %140 = icmp sgt i64 %.0117229.in, 1
  br i1 %140, label %.lr.ph, label %.loopexit209, !llvm.loop !36

141:                                              ; preds = %69, %138, %48
  %.pn155.pn.pn = phi { ptr, i32 } [ %49, %48 ], [ %.pn155, %138 ], [ %70, %69 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %4) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4) #6
  br label %359

142:                                              ; preds = %.critedge
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14) #6
  %143 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %144 = getelementptr inbounds i8, ptr %143, i64 64
  %145 = load ptr, ptr %144, align 8, !tbaa !5
  %146 = getelementptr i8, ptr %145, i64 -24
  %147 = load i64, ptr %146, align 8
  %148 = getelementptr inbounds i8, ptr %144, i64 %147
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %14, ptr noundef nonnull align 8 dereferenceable(8) %148)
          to label %151 unwind label %149

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

151:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15)
  br label %152

152:                                              ; preds = %.critedge166, %151
  %153 = load ptr, ptr %14, align 8, !tbaa !5
  %154 = getelementptr inbounds i8, ptr %153, i64 16
  %155 = load ptr, ptr %154, align 8
  %156 = invoke noundef zeroext i1 %155(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %157 unwind label %164

157:                                              ; preds = %152
  br i1 %156, label %166, label %.critedge164

.critedge164:                                     ; preds = %157
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #6
  %158 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %159 = getelementptr inbounds i8, ptr %158, i64 64
  %160 = load ptr, ptr %159, align 8, !tbaa !5
  %161 = getelementptr i8, ptr %160, i64 -24
  %162 = load i64, ptr %161, align 8
  %163 = getelementptr inbounds i8, ptr %159, i64 %162
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %25, ptr noundef nonnull align 8 dereferenceable(8) %163)
          to label %304 unwind label %302

164:                                              ; preds = %152
  %165 = landingpad { ptr, i32 }
          cleanup
  br label %301

166:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %16) #6
  %167 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %168 = getelementptr inbounds i8, ptr %167, i64 8
  %169 = load ptr, ptr %168, align 8, !tbaa !5
  %170 = getelementptr i8, ptr %169, i64 -24
  %171 = load i64, ptr %170, align 8
  %172 = getelementptr inbounds i8, ptr %168, i64 %171
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %16, ptr noundef nonnull align 8 dereferenceable(8) %172)
          to label %175 unwind label %173

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

175:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #6
  br label %176

.loopexit208:                                     ; preds = %297, %184
  br label %176, !llvm.loop !37

176:                                              ; preds = %.loopexit208, %175
  %177 = load ptr, ptr %16, align 8, !tbaa !5
  %178 = getelementptr inbounds i8, ptr %177, i64 16
  %179 = load ptr, ptr %178, align 8
  %180 = invoke noundef zeroext i1 %179(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %181 unwind label %182

181:                                              ; preds = %176
  br i1 %180, label %184, label %.critedge166

.critedge166:                                     ; preds = %181
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %16) #6
  br label %152, !llvm.loop !38

182:                                              ; preds = %176
  %183 = landingpad { ptr, i32 }
          cleanup
  br label %300

184:                                              ; preds = %181
  %185 = load ptr, ptr %17, align 8, !tbaa !10
  %186 = getelementptr inbounds i8, ptr %185, i64 24
  %187 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %186)
  %188 = icmp sgt i64 %187, 0
  br i1 %188, label %.lr.ph232, label %.loopexit208

.lr.ph232:                                        ; preds = %184, %297
  %.0105231.in = phi i64 [ %.0105231, %297 ], [ %187, %184 ]
  %.0105231 = add nsw i64 %.0105231.in, -1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  %189 = load ptr, ptr %17, align 8, !tbaa !10
  %190 = getelementptr inbounds i8, ptr %189, i64 24
  %191 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %190, i64 noundef %.0105231)
          to label %192 unwind label %253

192:                                              ; preds = %.lr.ph232
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %191)
          to label %193 unwind label %253

193:                                              ; preds = %192
  %194 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %18)
  %195 = getelementptr inbounds i8, ptr %194, i64 8
  %196 = load i32, ptr %195, align 8, !tbaa !24
  %197 = icmp eq i32 %196, 5
  br i1 %197, label %198, label %297

198:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #6
  %199 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %18)
  %200 = getelementptr inbounds i8, ptr %199, i64 40
  %201 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %18)
  %202 = getelementptr inbounds i8, ptr %201, i64 48
  call void @_ZN2vl11collections4PairIPNS_7parsing9analyzing5StateES5_EC2ERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(16) %19, ptr noundef nonnull align 8 dereferenceable(8) %200, ptr noundef nonnull align 8 dereferenceable(8) %202)
  %203 = invoke noundef zeroext i1 @_ZNK2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_E8ContainsERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %3, ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %204 unwind label %255

204:                                              ; preds = %198
  br i1 %203, label %205, label %295

205:                                              ; preds = %204
  %206 = load ptr, ptr %17, align 8, !tbaa !10
  %207 = getelementptr inbounds i8, ptr %206, i64 72
  %208 = load i32, ptr %207, align 8, !tbaa !39
  %209 = icmp eq i32 %208, 2
  br i1 %209, label %210, label %264

210:                                              ; preds = %205
  store i32 3, ptr %207, align 8, !tbaa !39
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #6
  %211 = invoke noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #7
          to label %212 unwind label %257

212:                                              ; preds = %210
  invoke void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr noundef nonnull align 8 dereferenceable(56) %211)
          to label %213 unwind label %259

213:                                              ; preds = %212
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull %211)
          to label %214 unwind label %257

214:                                              ; preds = %213
  %215 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
  %216 = getelementptr inbounds i8, ptr %215, i64 8
  store i32 6, ptr %216, align 8, !tbaa !24
  %217 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %18)
  %218 = getelementptr inbounds i8, ptr %217, i64 24
  %219 = load ptr, ptr %218, align 8, !tbaa !40
  %220 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
  %221 = getelementptr inbounds i8, ptr %220, i64 24
  store ptr %219, ptr %221, align 8, !tbaa !40
  %222 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %18)
  %223 = getelementptr inbounds i8, ptr %222, i64 16
  %224 = load ptr, ptr %223, align 8, !tbaa !41
  %225 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
  %226 = getelementptr inbounds i8, ptr %225, i64 16
  store ptr %224, ptr %226, align 8, !tbaa !41
  %227 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %18)
  %228 = getelementptr inbounds i8, ptr %227, i64 32
  %229 = load ptr, ptr %228, align 8, !tbaa !42
  %230 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
  %231 = getelementptr inbounds i8, ptr %230, i64 32
  store ptr %229, ptr %231, align 8, !tbaa !42
  %232 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %18)
  %233 = getelementptr inbounds i8, ptr %232, i64 40
  %234 = load ptr, ptr %233, align 8, !tbaa !43
  %235 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
  %236 = getelementptr inbounds i8, ptr %235, i64 40
  store ptr %234, ptr %236, align 8, !tbaa !43
  %237 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %18)
  %238 = getelementptr inbounds i8, ptr %237, i64 48
  %239 = load ptr, ptr %238, align 8, !tbaa !44
  %240 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
  %241 = getelementptr inbounds i8, ptr %240, i64 48
  store ptr %239, ptr %241, align 8, !tbaa !44
  %242 = load ptr, ptr %19, align 8, !tbaa !45
  %243 = getelementptr inbounds i8, ptr %242, i64 120
  %244 = load ptr, ptr %243, align 8, !tbaa !27
  %245 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
  %246 = getelementptr inbounds i8, ptr %245, i64 32
  store ptr %244, ptr %246, align 8, !tbaa !42
  %247 = load ptr, ptr %17, align 8, !tbaa !10
  %248 = getelementptr inbounds i8, ptr %247, i64 24
  %249 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %248, i64 noundef %.0105231)
          to label %250 unwind label %261

250:                                              ; preds = %214
  %251 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %249, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %252 unwind label %261

252:                                              ; preds = %250
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br label %295

253:                                              ; preds = %192, %.lr.ph232
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %299

255:                                              ; preds = %198
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %296

257:                                              ; preds = %213, %210
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %263

259:                                              ; preds = %212
  %260 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %211, i64 noundef 56) #8
  br label %263

261:                                              ; preds = %250, %214
  %262 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %263

263:                                              ; preds = %261, %259, %257
  %.pn139 = phi { ptr, i32 } [ %262, %261 ], [ %258, %257 ], [ %260, %259 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br label %296

264:                                              ; preds = %205
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #6
  %265 = invoke noalias noundef nonnull dereferenceable(208) ptr @_Znwm(i64 noundef 208) #7
          to label %266 unwind label %281

266:                                              ; preds = %264
  %267 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %268 = getelementptr inbounds i8, ptr %267, i64 120
  %269 = load ptr, ptr %268, align 8, !tbaa !27
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %22) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %23) #6
  %270 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  %271 = getelementptr inbounds i8, ptr %270, i64 120
  %272 = load ptr, ptr %271, align 8, !tbaa !27
  %273 = getelementptr inbounds i8, ptr %272, i64 168
  invoke void @_ZN2vlplEPKwRKNS_12ObjectStringIwEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %23, ptr noundef nonnull @.str.171, ptr noundef nonnull align 8 dereferenceable(48) %273)
          to label %274 unwind label %.thread178

274:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %24) #6
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef nonnull @.str.170, i1 noundef zeroext true)
          to label %275 unwind label %.thread182

275:                                              ; preds = %274
  invoke void @_ZNK2vl12ObjectStringIwEplERKS1_(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %22, ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull align 8 dereferenceable(48) %24)
          to label %276 unwind label %285

276:                                              ; preds = %275
  invoke void @_ZN2vl7parsing12ParsingErrorC1EPNS0_21ParsingTreeCustomBaseERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(136) %265, ptr noundef %269, ptr noundef nonnull align 8 dereferenceable(48) %22)
          to label %277 unwind label %287

277:                                              ; preds = %276
  invoke void @_ZN2vl3PtrINS_7parsing12ParsingErrorEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull %265)
          to label %278 unwind label %287

278:                                              ; preds = %277
  %279 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing12ParsingErrorEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %1, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %280 unwind label %289

280:                                              ; preds = %278
  call void @_ZN2vl3PtrINS_7parsing12ParsingErrorEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br label %295

281:                                              ; preds = %264
  %282 = landingpad { ptr, i32 }
          cleanup
  br label %294

.thread178:                                       ; preds = %266
  %283 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #6
  br label %293

.thread182:                                       ; preds = %274
  %284 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #6
  br label %293

285:                                              ; preds = %275
  %286 = landingpad { ptr, i32 }
          cleanup
  br label %292

287:                                              ; preds = %277, %276
  %.0100 = phi i1 [ false, %277 ], [ true, %276 ]
  %288 = landingpad { ptr, i32 }
          cleanup
  br label %291

289:                                              ; preds = %278
  %290 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing12ParsingErrorEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %291

291:                                              ; preds = %289, %287
  %.1101 = phi i1 [ false, %289 ], [ %.0100, %287 ]
  %.pn133 = phi { ptr, i32 } [ %290, %289 ], [ %288, %287 ]
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #6
  br label %292

292:                                              ; preds = %285, %291
  %.2102 = phi i1 [ %.1101, %291 ], [ true, %285 ]
  %.pn133.pn = phi { ptr, i32 } [ %.pn133, %291 ], [ %286, %285 ]
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #6
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #6
  br i1 %.2102, label %293, label %294

293:                                              ; preds = %.thread182, %.thread178, %292
  %.pn133.pn.pn.pn181 = phi { ptr, i32 } [ %283, %.thread178 ], [ %.pn133.pn, %292 ], [ %284, %.thread182 ]
  call void @_ZdlPvm(ptr noundef nonnull %265, i64 noundef 208) #8
  br label %294

294:                                              ; preds = %292, %293, %281
  %.pn133.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn181, %293 ], [ %.pn133.pn, %292 ], [ %282, %281 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br label %296

295:                                              ; preds = %252, %280, %204
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #6
  br label %297

296:                                              ; preds = %294, %263, %255
  %.pn139.pn = phi { ptr, i32 } [ %.pn139, %263 ], [ %.pn133.pn.pn.pn.pn, %294 ], [ %256, %255 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #6
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %299

297:                                              ; preds = %295, %193
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  %298 = icmp ugt i64 %.0105231.in, 1
  br i1 %298, label %.lr.ph232, label %.loopexit208, !llvm.loop !47

299:                                              ; preds = %296, %253
  %.pn139.pn.pn = phi { ptr, i32 } [ %.pn139.pn, %296 ], [ %254, %253 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  br label %300

300:                                              ; preds = %299, %182
  %.pn139.pn.pn.pn = phi { ptr, i32 } [ %.pn139.pn.pn, %299 ], [ %183, %182 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %16) #6
  br label %301

301:                                              ; preds = %173, %300, %164
  %.pn139.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %165, %164 ], [ %.pn139.pn.pn.pn, %300 ], [ %174, %173 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #6
  br label %359

302:                                              ; preds = %.critedge164
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %359

304:                                              ; preds = %.critedge164
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26)
  br label %305

.loopexit207:                                     ; preds = %326
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #6
  br label %305, !llvm.loop !48

305:                                              ; preds = %.loopexit207, %304
  %306 = load ptr, ptr %25, align 8, !tbaa !5
  %307 = getelementptr inbounds i8, ptr %306, i64 16
  %308 = load ptr, ptr %307, align 8
  %309 = invoke noundef zeroext i1 %308(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %310 unwind label %311

310:                                              ; preds = %305
  br i1 %309, label %.preheader206, label %.critedge168

.critedge168:                                     ; preds = %310
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #6
  br label %358

311:                                              ; preds = %305
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %357

.preheader206:                                    ; preds = %310, %356
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %27) #6
  %313 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %26)
  %314 = getelementptr inbounds i8, ptr %313, i64 8
  %315 = load ptr, ptr %314, align 8, !tbaa !5
  %316 = getelementptr i8, ptr %315, i64 -24
  %317 = load i64, ptr %316, align 8
  %318 = getelementptr inbounds i8, ptr %314, i64 %317
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %27, ptr noundef nonnull align 8 dereferenceable(8) %318)
          to label %.preheader unwind label %319

319:                                              ; preds = %.preheader206
  %320 = landingpad { ptr, i32 }
          cleanup
  br label %357

.preheader:                                       ; preds = %.preheader206
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #6
  br label %321

321:                                              ; preds = %354, %.preheader
  %322 = load ptr, ptr %27, align 8, !tbaa !5
  %323 = getelementptr inbounds i8, ptr %322, i64 16
  %324 = load ptr, ptr %323, align 8
  %325 = invoke noundef zeroext i1 %324(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %326 unwind label %327

326:                                              ; preds = %321
  br i1 %325, label %329, label %.loopexit207

327:                                              ; preds = %321
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %355

329:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %29) #6
  %330 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %26)
  %331 = getelementptr inbounds i8, ptr %330, i64 8
  %332 = load ptr, ptr %331, align 8, !tbaa !5
  %333 = getelementptr i8, ptr %332, i64 -24
  %334 = load i64, ptr %333, align 8
  %335 = getelementptr inbounds i8, ptr %331, i64 %334
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %29, ptr noundef nonnull align 8 dereferenceable(8) %335)
          to label %.critedge205 unwind label %336

336:                                              ; preds = %329
  %337 = landingpad { ptr, i32 }
          cleanup
  br label %355

.critedge205:                                     ; preds = %329
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #6
  br label %338

338:                                              ; preds = %.backedge, %.critedge205
  %339 = load ptr, ptr %29, align 8, !tbaa !5
  %340 = getelementptr inbounds i8, ptr %339, i64 16
  %341 = load ptr, ptr %340, align 8
  %342 = invoke noundef zeroext i1 %341(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %343 unwind label %.loopexit

343:                                              ; preds = %338
  br i1 %342, label %345, label %354

.loopexit:                                        ; preds = %338, %348
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %344

.loopexit.split-lp:                               ; preds = %351
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %344

344:                                              ; preds = %.loopexit.split-lp, %.loopexit
  %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #6
  br label %355

345:                                              ; preds = %343
  %346 = load ptr, ptr %28, align 8, !tbaa !10
  %347 = load ptr, ptr %30, align 8, !tbaa !10
  %.not127 = icmp eq ptr %346, %347
  br i1 %.not127, label %.backedge, label %348

348:                                              ; preds = %345
  %349 = invoke noundef zeroext i1 @_ZN2vl7parsing9analyzing10Transition12IsEquivalentEPS2_S3_b(ptr noundef %346, ptr noundef %347, i1 noundef zeroext true)
          to label %350 unwind label %.loopexit

350:                                              ; preds = %348
  br i1 %349, label %351, label %.backedge

.backedge:                                        ; preds = %350, %345
  br label %338, !llvm.loop !49

351:                                              ; preds = %350
  %352 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %353 = load ptr, ptr %30, align 8, !tbaa !10
  invoke void @_ZN2vl7parsing9analyzing9Automaton16DeleteTransitionEPNS1_10TransitionE(ptr noundef nonnull align 8 dereferenceable(224) %352, ptr noundef %353)
          to label %356 unwind label %.loopexit.split-lp

354:                                              ; preds = %343
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #6
  br label %321, !llvm.loop !50

355:                                              ; preds = %336, %344, %327
  %.pn.pn = phi { ptr, i32 } [ %328, %327 ], [ %lpad.phi, %344 ], [ %337, %336 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #6
  br label %357

356:                                              ; preds = %351
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #6
  br label %.preheader206

357:                                              ; preds = %319, %355, %311
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %312, %311 ], [ %.pn.pn, %355 ], [ %320, %319 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #6
  br label %359

358:                                              ; preds = %.critedge, %.critedge168
  call void @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %3) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) #6
  ret void

359:                                              ; preds = %302, %357, %149, %301, %38, %141
  %.pn155.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn155.pn.pn, %141 ], [ %39, %38 ], [ %.pn139.pn.pn.pn.pn.pn, %301 ], [ %150, %149 ], [ %.pn.pn.pn.pn, %357 ], [ %303, %302 ]
  call void @_ZN2vl11collections10SortedListINS0_4PairIPNS_7parsing9analyzing5StateES6_EES7_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %3) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) #6
  resume { ptr, i32 } %.pn155.pn.pn.pn.pn
}

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

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

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

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

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

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

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

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

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

declare void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr) local_unnamed_addr

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = distinct !{!8, !9}
!9 = !{!"llvm.loop.mustprogress"}
!10 = !{!11, !11, i64 0}
!11 = !{!"any pointer", !12, i64 0}
!12 = !{!"omnipotent char", !7, i64 0}
!13 = !{!14, !23, i64 76}
!14 = !{!"_ZTSN2vl7parsing9analyzing10TransitionE", !15, i64 0, !11, i64 8, !11, i64 16, !16, i64 24, !22, i64 72, !23, i64 76, !11, i64 80}
!15 = !{!"_ZTSN2vl6ObjectE"}
!16 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !17, i64 0}
!17 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !18, i64 0, !20, i64 24, !21, i64 32}
!18 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEEE", !19, i64 0, !11, i64 8, !20, i64 16}
!19 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing6ActionEEELb0EEE", !15, i64 0}
!20 = !{!"long", !12, i64 0}
!21 = !{!"bool", !12, i64 0}
!22 = !{!"_ZTSN2vl7parsing9analyzing10Transition14TransitionTypeE", !12, i64 0}
!23 = !{!"_ZTSN2vl7parsing9analyzing10Transition18StackOperationTypeE", !12, i64 0}
!24 = !{!25, !26, i64 8}
!25 = !{!"_ZTSN2vl7parsing9analyzing6ActionE", !15, i64 0, !26, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !11, i64 48}
!26 = !{!"_ZTSN2vl7parsing9analyzing6Action10ActionTypeE", !12, i64 0}
!27 = !{!28, !11, i64 120}
!28 = !{!"_ZTSN2vl7parsing9analyzing5StateE", !15, i64 0, !29, i64 8, !29, i64 56, !21, i64 104, !11, i64 112, !11, i64 120, !11, i64 128, !11, i64 136, !33, i64 144, !34, i64 152, !34, i64 200}
!29 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EE", !30, i64 0}
!30 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing10TransitionES5_EE", !31, i64 0, !20, i64 24, !21, i64 32}
!31 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEEE", !32, i64 0, !11, i64 8, !20, i64 16}
!32 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing10TransitionELb1EEE", !15, i64 0}
!33 = !{!"_ZTSN2vl7parsing9analyzing5State13StatePositionE", !12, i64 0}
!34 = !{!"_ZTSN2vl12ObjectStringIwEE", !15, i64 0, !11, i64 8, !11, i64 16, !20, i64 24, !20, i64 32, !20, i64 40}
!35 = distinct !{!35, !9}
!36 = distinct !{!36, !9}
!37 = distinct !{!37, !9}
!38 = distinct !{!38, !9}
!39 = !{!14, !22, i64 72}
!40 = !{!25, !11, i64 24}
!41 = !{!25, !11, i64 16}
!42 = !{!25, !11, i64 32}
!43 = !{!25, !11, i64 40}
!44 = !{!25, !11, i64 48}
!45 = !{!46, !11, i64 0}
!46 = !{!"_ZTSN2vl11collections4PairIPNS_7parsing9analyzing5StateES5_EE", !11, i64 0, !11, i64 8}
!47 = distinct !{!47, !9}
!48 = distinct !{!48, !9}
!49 = distinct !{!49, !9}
!50 = distinct !{!50, !9}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass