; LLVM IR from fetlang/fetlang :: src/Transpiler.ll (ZN10Transpiler15transpileBranchB5cxx11ERN10SyntaxTree4NodeE)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%class.Token = type <{ i32, [4 x i8], %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%class.ComparisonOperator = type { %class.Operator }
%class.Operator = type { ptr, %"class.std::__cxx11::basic_string", %"class.std::set", %"class.std::map.16" }
%"class.std::set" = type { %"class.std::_Rb_tree.12" }
%"class.std::_Rb_tree.12" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::_Identity<std::__cxx11::basic_string<char>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::_Identity<std::__cxx11::basic_string<char>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::map.16" = type { %"class.std::_Rb_tree.17" }
%"class.std::_Rb_tree.17" = type { %"struct.std::_Rb_tree<FetType, std::pair<const FetType, std::map<FetType, std::__cxx11::basic_string<char>>>, std::_Select1st<std::pair<const FetType, std::map<FetType, std::__cxx11::basic_string<char>>>>, std::less<FetType>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<FetType, std::pair<const FetType, std::map<FetType, std::__cxx11::basic_string<char>>>, std::_Select1st<std::pair<const FetType, std::map<FetType, std::__cxx11::basic_string<char>>>>, std::less<FetType>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%class.Fraction = type { i64, i64 }
%class.Transpiler = type { %"class.SyntaxTree::RootNode", %class.VariableCollection }
%"class.SyntaxTree::RootNode" = type { %"class.SyntaxTree::Node" }
%"class.SyntaxTree::Node" = type { ptr, %class.Token, %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<SyntaxTree::Node, std::allocator<SyntaxTree::Node>>::_Vector_impl" }
%"struct.std::_Vector_base<SyntaxTree::Node, std::allocator<SyntaxTree::Node>>::_Vector_impl" = type { %"struct.std::_Vector_base<SyntaxTree::Node, std::allocator<SyntaxTree::Node>>::_Vector_impl_data" }
%"struct.std::_Vector_base<SyntaxTree::Node, std::allocator<SyntaxTree::Node>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.VariableCollection = type { %"class.std::map", %"class.std::vector.7", %"class.std::vector.7" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Variable>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Variable>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Variable>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Variable>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.7" = type { %"struct.std::_Vector_base.8" }
%"struct.std::_Vector_base.8" = type { %"struct.std::_Vector_base<Variable *, std::allocator<Variable *>>::_Vector_impl" }
%"struct.std::_Vector_base<Variable *, std::allocator<Variable *>>::_Vector_impl" = type { %"struct.std::_Vector_base<Variable *, std::allocator<Variable *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Variable *, std::allocator<Variable *>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@_ZL14lho_temp_chainB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZL14rho_temp_chainB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.4 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZTI13NodeException = external constant ptr
@.str.6 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [54 x i8], align 1
@_ZTI14TokenException = external constant ptr
@.str.22 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [68 x i8], align 1
@manager = external constant ptr, align 8
@.str.41 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [72 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN10Transpiler15transpileBranchB5cxx11ERN10SyntaxTree4NodeE(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(176) %1, ptr noundef nonnull align 8 dereferenceable(80) %2) #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca i1, align 1
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator", align 1
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator", align 1
  %24 = alloca i1, align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator", align 1
  %28 = alloca i1, align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator", align 1
  %31 = alloca i1, align 1
  %32 = alloca %class.Token, align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %class.Token, align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca i32, align 4
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca i32, align 4
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::allocator", align 1
  %66 = alloca i1, align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  %69 = alloca i1, align 1
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca i32, align 4
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca i1, align 1
  %87 = alloca i1, align 1
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca i1, align 1
  %90 = alloca i1, align 1
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca i1, align 1
  %93 = alloca i1, align 1
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::allocator", align 1
  %100 = alloca i1, align 1
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::allocator", align 1
  %103 = alloca i1, align 1
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::allocator", align 1
  %106 = alloca i1, align 1
  %107 = alloca %class.ComparisonOperator, align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %class.Token, align 8
  %110 = alloca %class.Token, align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca %"class.std::allocator", align 1
  %113 = alloca i1, align 1
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::allocator", align 1
  %116 = alloca i1, align 1
  %117 = alloca i32, align 4
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca i32, align 4
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::__cxx11::basic_string", align 8
  %127 = alloca %"class.std::allocator", align 1
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca %"class.std::allocator", align 1
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca i32, align 4
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca i1, align 1
  %137 = alloca %class.Operator, align 8
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %class.Token, align 8
  %140 = alloca %class.Token, align 8
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca i32, align 4
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca i32, align 4
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::__cxx11::basic_string", align 8
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca %"class.std::allocator", align 1
  %150 = alloca i1, align 1
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::__cxx11::basic_string", align 8
  %153 = alloca %"class.std::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca %"class.std::__cxx11::basic_string", align 8
  %156 = alloca %"class.std::__cxx11::basic_string", align 8
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::__cxx11::basic_string", align 8
  %162 = alloca %"class.std::__cxx11::basic_string", align 8
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca %"class.std::__cxx11::basic_string", align 8
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::__cxx11::basic_string", align 8
  %169 = alloca %"class.std::allocator", align 1
  %170 = alloca i1, align 1
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::__cxx11::basic_string", align 8
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca %"class.std::__cxx11::basic_string", align 8
  %177 = alloca %"class.std::__cxx11::basic_string", align 8
  %178 = alloca %"class.std::__cxx11::basic_string", align 8
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %class.Fraction, align 8
  %182 = alloca %"class.std::__cxx11::basic_string", align 8
  %183 = alloca %"class.std::__cxx11::basic_string", align 8
  %184 = alloca %"class.std::__cxx11::basic_string", align 8
  %185 = alloca %"class.std::__cxx11::basic_string", align 8
  %186 = alloca %"class.std::__cxx11::basic_string", align 8
  %187 = alloca %"class.std::__cxx11::basic_string", align 8
  %188 = alloca %"class.std::__cxx11::basic_string", align 8
  %189 = alloca %"class.std::__cxx11::basic_string", align 8
  %190 = alloca %"class.std::__cxx11::basic_string", align 8
  %191 = alloca %"class.std::__cxx11::basic_string", align 8
  %192 = alloca %"class.std::__cxx11::basic_string", align 8
  %193 = alloca %"class.std::__cxx11::basic_string", align 8
  %194 = alloca %"class.std::__cxx11::basic_string", align 8
  %195 = alloca %"class.std::__cxx11::basic_string", align 8
  %196 = alloca %"class.std::__cxx11::basic_string", align 8
  %197 = alloca %"class.std::__cxx11::basic_string", align 8
  %198 = alloca %"class.std::allocator", align 1
  %199 = alloca i1, align 1
  %200 = alloca %"class.std::__cxx11::basic_string", align 8
  %201 = alloca %"class.std::__cxx11::basic_string", align 8
  %202 = alloca %"class.std::__cxx11::basic_string", align 8
  %203 = alloca %"class.std::__cxx11::basic_string", align 8
  %204 = alloca %"class.std::__cxx11::basic_string", align 8
  %205 = alloca %"class.std::__cxx11::basic_string", align 8
  %206 = alloca i1, align 1
  %207 = alloca %"class.std::__cxx11::basic_string", align 8
  %208 = alloca %"class.std::__cxx11::basic_string", align 8
  %209 = alloca %"class.std::__cxx11::basic_string", align 8
  %210 = alloca %"class.std::allocator", align 1
  %211 = alloca %"class.std::__cxx11::basic_string", align 8
  %212 = alloca %"class.std::allocator", align 1
  %213 = alloca %"class.std::__cxx11::basic_string", align 8
  %214 = alloca %"class.std::__cxx11::basic_string", align 8
  %215 = alloca %"class.std::__cxx11::basic_string", align 8
  %216 = alloca %"class.std::__cxx11::basic_string", align 8
  %217 = alloca %"class.std::allocator", align 1
  %218 = alloca i1, align 1
  store ptr %0, ptr %4, align 8
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %219 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  %220 = load ptr, ptr %6, align 8, !tbaa !5
  %221 = load ptr, ptr %220, align 8, !tbaa !9
  %222 = getelementptr inbounds ptr, ptr %221, i64 2
  %223 = load ptr, ptr %222, align 8
  %224 = invoke noundef nonnull align 8 dereferenceable(44) ptr %223(ptr noundef nonnull align 8 dereferenceable(80) %220)
          to label %225 unwind label %242

225:                                              ; preds = %3
  %226 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %224)
          to label %227 unwind label %242

227:                                              ; preds = %225
  %228 = icmp ne i32 %226, 1
  br i1 %228, label %229, label %268

229:                                              ; preds = %227
  store i1 true, ptr %13, align 1
  %230 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #6
  %231 = load ptr, ptr %6, align 8, !tbaa !5
  %232 = load ptr, ptr %231, align 8, !tbaa !9
  %233 = getelementptr inbounds ptr, ptr %232, i64 2
  %234 = load ptr, ptr %233, align 8
  %235 = invoke noundef nonnull align 8 dereferenceable(44) ptr %234(ptr noundef nonnull align 8 dereferenceable(80) %231)
          to label %236 unwind label %246

236:                                              ; preds = %229
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(44) %235)
          to label %237 unwind label %246

237:                                              ; preds = %236
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef @.str.4, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %238 unwind label %250

238:                                              ; preds = %237
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef @.str.5)
          to label %239 unwind label %254

239:                                              ; preds = %238
  %240 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %230, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(80) %240)
          to label %241 unwind label %258

241:                                              ; preds = %239
  store i1 false, ptr %13, align 1
  invoke void @__cxa_throw(ptr %230, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %258

242:                                              ; preds = %1451, %1390, %1163, %1160, %1137, %1132, %1129, %1125, %1120, %1117, %1086, %1071, %1059, %1037, %958, %274, %268, %225, %3
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %8, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %9, align 4
  br label %2116

246:                                              ; preds = %236, %229
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %8, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %9, align 4
  br label %264

250:                                              ; preds = %237
  %251 = landingpad { ptr, i32 }
          cleanup
  %252 = extractvalue { ptr, i32 } %251, 0
  store ptr %252, ptr %8, align 8
  %253 = extractvalue { ptr, i32 } %251, 1
  store i32 %253, ptr %9, align 4
  br label %263

254:                                              ; preds = %238
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %8, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %9, align 4
  br label %262

258:                                              ; preds = %241, %239
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %8, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %262

262:                                              ; preds = %258, %254
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %263

263:                                              ; preds = %262, %250
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %264

264:                                              ; preds = %263, %246
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  %265 = load i1, ptr %13, align 1
  br i1 %265, label %266, label %267

266:                                              ; preds = %264
  call void @__cxa_free_exception(ptr %230) #6
  br label %267

267:                                              ; preds = %266, %264
  br label %2116

268:                                              ; preds = %227
  %269 = load ptr, ptr %6, align 8, !tbaa !5
  %270 = load ptr, ptr %269, align 8, !tbaa !9
  %271 = getelementptr inbounds ptr, ptr %270, i64 2
  %272 = load ptr, ptr %271, align 8
  %273 = invoke noundef nonnull align 8 dereferenceable(44) ptr %272(ptr noundef nonnull align 8 dereferenceable(80) %269)
          to label %274 unwind label %242

274:                                              ; preds = %268
  %275 = invoke noundef i32 @_ZNK5Token20getKeyphraseCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %273)
          to label %276 unwind label %242

276:                                              ; preds = %274
  switch i32 %275, label %2097 [
    i32 0, label %277
    i32 1, label %1451
  ]

277:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #6
  %278 = load ptr, ptr %6, align 8, !tbaa !5
  %279 = load ptr, ptr %278, align 8, !tbaa !9
  %280 = getelementptr inbounds ptr, ptr %279, i64 2
  %281 = load ptr, ptr %280, align 8
  %282 = invoke noundef nonnull align 8 dereferenceable(44) ptr %281(ptr noundef nonnull align 8 dereferenceable(80) %278)
          to label %283 unwind label %289

283:                                              ; preds = %277
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(44) %282)
          to label %284 unwind label %289

284:                                              ; preds = %283
  %285 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef @.str.6)
          to label %286 unwind label %293

286:                                              ; preds = %284
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  br i1 %285, label %287, label %302

287:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %288 unwind label %298

288:                                              ; preds = %287
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #6
  store i32 1, ptr %16, align 4
  br label %2115

289:                                              ; preds = %283, %277
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %8, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %9, align 4
  br label %297

293:                                              ; preds = %284
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %8, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %297

297:                                              ; preds = %293, %289
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  br label %2116

298:                                              ; preds = %287
  %299 = landingpad { ptr, i32 }
          cleanup
  %300 = extractvalue { ptr, i32 } %299, 0
  store ptr %300, ptr %8, align 8
  %301 = extractvalue { ptr, i32 } %299, 1
  store i32 %301, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #6
  br label %2116

302:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  %303 = load ptr, ptr %6, align 8, !tbaa !5
  %304 = load ptr, ptr %303, align 8, !tbaa !9
  %305 = getelementptr inbounds ptr, ptr %304, i64 2
  %306 = load ptr, ptr %305, align 8
  %307 = invoke noundef nonnull align 8 dereferenceable(44) ptr %306(ptr noundef nonnull align 8 dereferenceable(80) %303)
          to label %308 unwind label %324

308:                                              ; preds = %302
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(44) %307)
          to label %309 unwind label %324

309:                                              ; preds = %308
  %310 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.8)
          to label %311 unwind label %328

311:                                              ; preds = %309
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br i1 %310, label %312, label %888

312:                                              ; preds = %311
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %313 unwind label %333

313:                                              ; preds = %312
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %314 unwind label %337

314:                                              ; preds = %313
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  %315 = load ptr, ptr %6, align 8, !tbaa !5
  %316 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %315)
          to label %317 unwind label %341

317:                                              ; preds = %314
  %318 = icmp slt i32 %316, 1
  br i1 %318, label %319, label %357

319:                                              ; preds = %317
  store i1 true, ptr %24, align 1
  %320 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %321 unwind label %345

321:                                              ; preds = %319
  %322 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %320, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(80) %322)
          to label %323 unwind label %349

323:                                              ; preds = %321
  store i1 false, ptr %24, align 1
  invoke void @__cxa_throw(ptr %320, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %349

324:                                              ; preds = %308, %302
  %325 = landingpad { ptr, i32 }
          cleanup
  %326 = extractvalue { ptr, i32 } %325, 0
  store ptr %326, ptr %8, align 8
  %327 = extractvalue { ptr, i32 } %325, 1
  store i32 %327, ptr %9, align 4
  br label %332

328:                                              ; preds = %309
  %329 = landingpad { ptr, i32 }
          cleanup
  %330 = extractvalue { ptr, i32 } %329, 0
  store ptr %330, ptr %8, align 8
  %331 = extractvalue { ptr, i32 } %329, 1
  store i32 %331, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %332

332:                                              ; preds = %328, %324
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br label %2116

333:                                              ; preds = %312
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %8, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  br label %887

337:                                              ; preds = %313
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %8, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  br label %886

341:                                              ; preds = %400, %397, %314
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %8, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %9, align 4
  br label %885

345:                                              ; preds = %319
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %8, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %9, align 4
  br label %353

349:                                              ; preds = %323, %321
  %350 = landingpad { ptr, i32 }
          cleanup
  %351 = extractvalue { ptr, i32 } %350, 0
  store ptr %351, ptr %8, align 8
  %352 = extractvalue { ptr, i32 } %350, 1
  store i32 %352, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %353

353:                                              ; preds = %349, %345
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  %354 = load i1, ptr %24, align 1
  br i1 %354, label %355, label %356

355:                                              ; preds = %353
  call void @__cxa_free_exception(ptr %320) #6
  br label %356

356:                                              ; preds = %355, %353
  br label %885

357:                                              ; preds = %317
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #6
  %358 = load ptr, ptr %6, align 8, !tbaa !5
  %359 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %358, i32 noundef 0)
          to label %360 unwind label %376

360:                                              ; preds = %357
  %361 = load ptr, ptr %359, align 8, !tbaa !9
  %362 = getelementptr inbounds ptr, ptr %361, i64 2
  %363 = load ptr, ptr %362, align 8
  %364 = invoke noundef nonnull align 8 dereferenceable(44) ptr %363(ptr noundef nonnull align 8 dereferenceable(80) %359)
          to label %365 unwind label %376

365:                                              ; preds = %360
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(44) %364)
          to label %366 unwind label %376

366:                                              ; preds = %365
  %367 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef @.str.12)
          to label %368 unwind label %380

368:                                              ; preds = %366
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  br i1 %367, label %369, label %397

369:                                              ; preds = %368
  store i1 true, ptr %28, align 1
  %370 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %371 unwind label %385

371:                                              ; preds = %369
  %372 = load ptr, ptr %6, align 8, !tbaa !5
  %373 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %372, i32 noundef 0)
          to label %374 unwind label %389

374:                                              ; preds = %371
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %370, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(80) %373)
          to label %375 unwind label %389

375:                                              ; preds = %374
  store i1 false, ptr %28, align 1
  invoke void @__cxa_throw(ptr %370, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %389

376:                                              ; preds = %365, %360, %357
  %377 = landingpad { ptr, i32 }
          cleanup
  %378 = extractvalue { ptr, i32 } %377, 0
  store ptr %378, ptr %8, align 8
  %379 = extractvalue { ptr, i32 } %377, 1
  store i32 %379, ptr %9, align 4
  br label %384

380:                                              ; preds = %366
  %381 = landingpad { ptr, i32 }
          cleanup
  %382 = extractvalue { ptr, i32 } %381, 0
  store ptr %382, ptr %8, align 8
  %383 = extractvalue { ptr, i32 } %381, 1
  store i32 %383, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %384

384:                                              ; preds = %380, %376
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  br label %885

385:                                              ; preds = %369
  %386 = landingpad { ptr, i32 }
          cleanup
  %387 = extractvalue { ptr, i32 } %386, 0
  store ptr %387, ptr %8, align 8
  %388 = extractvalue { ptr, i32 } %386, 1
  store i32 %388, ptr %9, align 4
  br label %393

389:                                              ; preds = %375, %374, %371
  %390 = landingpad { ptr, i32 }
          cleanup
  %391 = extractvalue { ptr, i32 } %390, 0
  store ptr %391, ptr %8, align 8
  %392 = extractvalue { ptr, i32 } %390, 1
  store i32 %392, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %393

393:                                              ; preds = %389, %385
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  %394 = load i1, ptr %28, align 1
  br i1 %394, label %395, label %396

395:                                              ; preds = %393
  call void @__cxa_free_exception(ptr %370) #6
  br label %396

396:                                              ; preds = %395, %393
  br label %885

397:                                              ; preds = %368
  %398 = load ptr, ptr %6, align 8, !tbaa !5
  %399 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %398, i32 noundef 0)
          to label %400 unwind label %341

400:                                              ; preds = %397
  %401 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %399)
          to label %402 unwind label %341

402:                                              ; preds = %400
  %403 = icmp ne i32 %401, 2
  br i1 %403, label %404, label %423

404:                                              ; preds = %402
  store i1 true, ptr %31, align 1
  %405 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %406 unwind label %411

406:                                              ; preds = %404
  %407 = load ptr, ptr %6, align 8, !tbaa !5
  %408 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %407, i32 noundef 0)
          to label %409 unwind label %415

409:                                              ; preds = %406
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %405, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(80) %408)
          to label %410 unwind label %415

410:                                              ; preds = %409
  store i1 false, ptr %31, align 1
  invoke void @__cxa_throw(ptr %405, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %415

411:                                              ; preds = %404
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %8, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %9, align 4
  br label %419

415:                                              ; preds = %410, %409, %406
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %8, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %419

419:                                              ; preds = %415, %411
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  %420 = load i1, ptr %31, align 1
  br i1 %420, label %421, label %422

421:                                              ; preds = %419
  call void @__cxa_free_exception(ptr %405) #6
  br label %422

422:                                              ; preds = %421, %419
  br label %885

423:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 48, ptr %32) #6
  %424 = load ptr, ptr %6, align 8, !tbaa !5
  %425 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %424, i32 noundef 0)
          to label %426 unwind label %504

426:                                              ; preds = %423
  %427 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %425, i32 noundef 0)
          to label %428 unwind label %504

428:                                              ; preds = %426
  %429 = load ptr, ptr %427, align 8, !tbaa !9
  %430 = getelementptr inbounds ptr, ptr %429, i64 2
  %431 = load ptr, ptr %430, align 8
  %432 = invoke noundef nonnull align 8 dereferenceable(44) ptr %431(ptr noundef nonnull align 8 dereferenceable(80) %427)
          to label %433 unwind label %504

433:                                              ; preds = %428
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %32, ptr noundef nonnull align 8 dereferenceable(44) %432)
          to label %434 unwind label %504

434:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #6
  %435 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(44) %32)
          to label %436 unwind label %508

436:                                              ; preds = %434
  %437 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %435, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %438 unwind label %512

438:                                              ; preds = %436
  invoke void @_ZNK8Variable10getRawCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(88) %437)
          to label %439 unwind label %512

439:                                              ; preds = %438
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr %35) #6
  %440 = load ptr, ptr %6, align 8, !tbaa !5
  %441 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %440, i32 noundef 0)
          to label %442 unwind label %517

442:                                              ; preds = %439
  %443 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %441, i32 noundef 1)
          to label %444 unwind label %517

444:                                              ; preds = %442
  %445 = load ptr, ptr %443, align 8, !tbaa !9
  %446 = getelementptr inbounds ptr, ptr %445, i64 2
  %447 = load ptr, ptr %446, align 8
  %448 = invoke noundef nonnull align 8 dereferenceable(44) ptr %447(ptr noundef nonnull align 8 dereferenceable(80) %443)
          to label %449 unwind label %517

449:                                              ; preds = %444
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %35, ptr noundef nonnull align 8 dereferenceable(44) %448)
          to label %450 unwind label %517

450:                                              ; preds = %449
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #6
  %451 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(44) %32)
          to label %452 unwind label %521

452:                                              ; preds = %450
  %453 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %451, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %454 unwind label %525

454:                                              ; preds = %452
  %455 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %453)
          to label %456 unwind label %525

456:                                              ; preds = %454
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  store i32 %455, ptr %37, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #6
  %457 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %35)
          to label %458 unwind label %530

458:                                              ; preds = %456
  %459 = icmp eq i32 %457, 4
  br i1 %459, label %460, label %635

460:                                              ; preds = %458
  %461 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(44) %35)
          to label %462 unwind label %534

462:                                              ; preds = %460
  %463 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %461, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %464 unwind label %538

464:                                              ; preds = %462
  %465 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %463)
          to label %466 unwind label %538

466:                                              ; preds = %464
  store i32 %465, ptr %39, align 4, !tbaa !11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  %467 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(44) %35)
          to label %468 unwind label %543

468:                                              ; preds = %466
  %469 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %467, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %470 unwind label %547

470:                                              ; preds = %468
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(88) %469)
          to label %471 unwind label %547

471:                                              ; preds = %470
  %472 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  %473 = load i32, ptr %39, align 4, !tbaa !11
  %474 = icmp eq i32 %473, 3
  br i1 %474, label %475, label %634

475:                                              ; preds = %471
  %476 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14rho_temp_chainB5cxx11)
          to label %477 unwind label %530

477:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef @.str.15, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %478 unwind label %552

478:                                              ; preds = %477
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.16)
          to label %479 unwind label %556

479:                                              ; preds = %478
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #6
  %480 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(44) %35)
          to label %481 unwind label %560

481:                                              ; preds = %479
  %482 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %480, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %483 unwind label %564

483:                                              ; preds = %481
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(88) %482)
          to label %484 unwind label %564

484:                                              ; preds = %483
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %485 unwind label %568

485:                                              ; preds = %484
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.17)
          to label %486 unwind label %572

486:                                              ; preds = %485
  %487 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %488 unwind label %576

488:                                              ; preds = %486
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef @.str.18, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %489 unwind label %586

489:                                              ; preds = %488
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.16)
          to label %490 unwind label %590

490:                                              ; preds = %489
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #6
  %491 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(44) %35)
          to label %492 unwind label %594

492:                                              ; preds = %490
  %493 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %491, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %494 unwind label %598

494:                                              ; preds = %492
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(88) %493)
          to label %495 unwind label %598

495:                                              ; preds = %494
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %496 unwind label %602

496:                                              ; preds = %495
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.17)
          to label %497 unwind label %606

497:                                              ; preds = %496
  %498 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %499 unwind label %610

499:                                              ; preds = %497
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef @.str.19, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %500 unwind label %620

500:                                              ; preds = %499
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.17)
          to label %501 unwind label %624

501:                                              ; preds = %500
  %502 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %503 unwind label %628

503:                                              ; preds = %501
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  br label %634

504:                                              ; preds = %433, %428, %426, %423
  %505 = landingpad { ptr, i32 }
          cleanup
  %506 = extractvalue { ptr, i32 } %505, 0
  store ptr %506, ptr %8, align 8
  %507 = extractvalue { ptr, i32 } %505, 1
  store i32 %507, ptr %9, align 4
  br label %884

508:                                              ; preds = %434
  %509 = landingpad { ptr, i32 }
          cleanup
  %510 = extractvalue { ptr, i32 } %509, 0
  store ptr %510, ptr %8, align 8
  %511 = extractvalue { ptr, i32 } %509, 1
  store i32 %511, ptr %9, align 4
  br label %516

512:                                              ; preds = %438, %436
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %8, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %516

516:                                              ; preds = %512, %508
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  br label %883

517:                                              ; preds = %449, %444, %442, %439
  %518 = landingpad { ptr, i32 }
          cleanup
  %519 = extractvalue { ptr, i32 } %518, 0
  store ptr %519, ptr %8, align 8
  %520 = extractvalue { ptr, i32 } %518, 1
  store i32 %520, ptr %9, align 4
  br label %882

521:                                              ; preds = %450
  %522 = landingpad { ptr, i32 }
          cleanup
  %523 = extractvalue { ptr, i32 } %522, 0
  store ptr %523, ptr %8, align 8
  %524 = extractvalue { ptr, i32 } %522, 1
  store i32 %524, ptr %9, align 4
  br label %529

525:                                              ; preds = %454, %452
  %526 = landingpad { ptr, i32 }
          cleanup
  %527 = extractvalue { ptr, i32 } %526, 0
  store ptr %527, ptr %8, align 8
  %528 = extractvalue { ptr, i32 } %526, 1
  store i32 %528, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %529

529:                                              ; preds = %525, %521
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %881

530:                                              ; preds = %834, %746, %722, %639, %635, %475, %456
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %8, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %9, align 4
  br label %880

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

538:                                              ; preds = %464, %462
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %8, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %542

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

543:                                              ; preds = %466
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %8, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %9, align 4
  br label %551

547:                                              ; preds = %470, %468
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %8, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %551

551:                                              ; preds = %547, %543
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %880

552:                                              ; preds = %477
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %8, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %9, align 4
  br label %585

556:                                              ; preds = %478
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %8, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %9, align 4
  br label %584

560:                                              ; preds = %479
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %8, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %9, align 4
  br label %583

564:                                              ; preds = %483, %481
  %565 = landingpad { ptr, i32 }
          cleanup
  %566 = extractvalue { ptr, i32 } %565, 0
  store ptr %566, ptr %8, align 8
  %567 = extractvalue { ptr, i32 } %565, 1
  store i32 %567, ptr %9, align 4
  br label %582

568:                                              ; preds = %484
  %569 = landingpad { ptr, i32 }
          cleanup
  %570 = extractvalue { ptr, i32 } %569, 0
  store ptr %570, ptr %8, align 8
  %571 = extractvalue { ptr, i32 } %569, 1
  store i32 %571, ptr %9, align 4
  br label %581

572:                                              ; preds = %485
  %573 = landingpad { ptr, i32 }
          cleanup
  %574 = extractvalue { ptr, i32 } %573, 0
  store ptr %574, ptr %8, align 8
  %575 = extractvalue { ptr, i32 } %573, 1
  store i32 %575, ptr %9, align 4
  br label %580

576:                                              ; preds = %486
  %577 = landingpad { ptr, i32 }
          cleanup
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %8, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %580

580:                                              ; preds = %576, %572
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %581

581:                                              ; preds = %580, %568
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %582

582:                                              ; preds = %581, %564
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %583

583:                                              ; preds = %582, %560
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %584

584:                                              ; preds = %583, %556
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %585

585:                                              ; preds = %584, %552
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  br label %880

586:                                              ; preds = %488
  %587 = landingpad { ptr, i32 }
          cleanup
  %588 = extractvalue { ptr, i32 } %587, 0
  store ptr %588, ptr %8, align 8
  %589 = extractvalue { ptr, i32 } %587, 1
  store i32 %589, ptr %9, align 4
  br label %619

590:                                              ; preds = %489
  %591 = landingpad { ptr, i32 }
          cleanup
  %592 = extractvalue { ptr, i32 } %591, 0
  store ptr %592, ptr %8, align 8
  %593 = extractvalue { ptr, i32 } %591, 1
  store i32 %593, ptr %9, align 4
  br label %618

594:                                              ; preds = %490
  %595 = landingpad { ptr, i32 }
          cleanup
  %596 = extractvalue { ptr, i32 } %595, 0
  store ptr %596, ptr %8, align 8
  %597 = extractvalue { ptr, i32 } %595, 1
  store i32 %597, ptr %9, align 4
  br label %617

598:                                              ; preds = %494, %492
  %599 = landingpad { ptr, i32 }
          cleanup
  %600 = extractvalue { ptr, i32 } %599, 0
  store ptr %600, ptr %8, align 8
  %601 = extractvalue { ptr, i32 } %599, 1
  store i32 %601, ptr %9, align 4
  br label %616

602:                                              ; preds = %495
  %603 = landingpad { ptr, i32 }
          cleanup
  %604 = extractvalue { ptr, i32 } %603, 0
  store ptr %604, ptr %8, align 8
  %605 = extractvalue { ptr, i32 } %603, 1
  store i32 %605, ptr %9, align 4
  br label %615

606:                                              ; preds = %496
  %607 = landingpad { ptr, i32 }
          cleanup
  %608 = extractvalue { ptr, i32 } %607, 0
  store ptr %608, ptr %8, align 8
  %609 = extractvalue { ptr, i32 } %607, 1
  store i32 %609, ptr %9, align 4
  br label %614

610:                                              ; preds = %497
  %611 = landingpad { ptr, i32 }
          cleanup
  %612 = extractvalue { ptr, i32 } %611, 0
  store ptr %612, ptr %8, align 8
  %613 = extractvalue { ptr, i32 } %611, 1
  store i32 %613, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %614

614:                                              ; preds = %610, %606
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %615

615:                                              ; preds = %614, %602
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %616

616:                                              ; preds = %615, %598
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %617

617:                                              ; preds = %616, %594
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %618

618:                                              ; preds = %617, %590
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %619

619:                                              ; preds = %618, %586
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  br label %880

620:                                              ; preds = %499
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %8, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %9, align 4
  br label %633

624:                                              ; preds = %500
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %8, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %9, align 4
  br label %632

628:                                              ; preds = %501
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %8, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %632

632:                                              ; preds = %628, %624
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %633

633:                                              ; preds = %632, %620
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  br label %880

634:                                              ; preds = %503, %471
  br label %719

635:                                              ; preds = %458
  %636 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %35)
          to label %637 unwind label %530

637:                                              ; preds = %635
  %638 = icmp eq i32 %636, 3
  br i1 %638, label %639, label %702

639:                                              ; preds = %637
  store i32 1, ptr %39, align 4, !tbaa !11
  %640 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14rho_temp_chainB5cxx11)
          to label %641 unwind label %530

641:                                              ; preds = %639
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %642 unwind label %655

642:                                              ; preds = %641
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.16)
          to label %643 unwind label %659

643:                                              ; preds = %642
  %644 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %645 unwind label %663

645:                                              ; preds = %643
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(44) %35)
          to label %646 unwind label %669

646:                                              ; preds = %645
  invoke void @_ZN9QuoteUtil7requoteERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %647 unwind label %673

647:                                              ; preds = %646
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.17)
          to label %648 unwind label %677

648:                                              ; preds = %647
  %649 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %650 unwind label %681

650:                                              ; preds = %648
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef @.str.19, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %651 unwind label %688

651:                                              ; preds = %650
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef @.str.17)
          to label %652 unwind label %692

652:                                              ; preds = %651
  %653 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %654 unwind label %696

654:                                              ; preds = %652
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  br label %718

655:                                              ; preds = %641
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %8, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %9, align 4
  br label %668

659:                                              ; preds = %642
  %660 = landingpad { ptr, i32 }
          cleanup
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %8, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %9, align 4
  br label %667

663:                                              ; preds = %643
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %8, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %667

667:                                              ; preds = %663, %659
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %668

668:                                              ; preds = %667, %655
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  br label %880

669:                                              ; preds = %645
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %8, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %9, align 4
  br label %687

673:                                              ; preds = %646
  %674 = landingpad { ptr, i32 }
          cleanup
  %675 = extractvalue { ptr, i32 } %674, 0
  store ptr %675, ptr %8, align 8
  %676 = extractvalue { ptr, i32 } %674, 1
  store i32 %676, ptr %9, align 4
  br label %686

677:                                              ; preds = %647
  %678 = landingpad { ptr, i32 }
          cleanup
  %679 = extractvalue { ptr, i32 } %678, 0
  store ptr %679, ptr %8, align 8
  %680 = extractvalue { ptr, i32 } %678, 1
  store i32 %680, ptr %9, align 4
  br label %685

681:                                              ; preds = %648
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %8, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %685

685:                                              ; preds = %681, %677
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %686

686:                                              ; preds = %685, %673
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %687

687:                                              ; preds = %686, %669
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #6
  br label %880

688:                                              ; preds = %650
  %689 = landingpad { ptr, i32 }
          cleanup
  %690 = extractvalue { ptr, i32 } %689, 0
  store ptr %690, ptr %8, align 8
  %691 = extractvalue { ptr, i32 } %689, 1
  store i32 %691, ptr %9, align 4
  br label %701

692:                                              ; preds = %651
  %693 = landingpad { ptr, i32 }
          cleanup
  %694 = extractvalue { ptr, i32 } %693, 0
  store ptr %694, ptr %8, align 8
  %695 = extractvalue { ptr, i32 } %693, 1
  store i32 %695, ptr %9, align 4
  br label %700

696:                                              ; preds = %652
  %697 = landingpad { ptr, i32 }
          cleanup
  %698 = extractvalue { ptr, i32 } %697, 0
  store ptr %698, ptr %8, align 8
  %699 = extractvalue { ptr, i32 } %697, 1
  store i32 %699, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %700

700:                                              ; preds = %696, %692
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %701

701:                                              ; preds = %700, %688
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  br label %880

702:                                              ; preds = %637
  store i1 true, ptr %66, align 1
  %703 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %704 unwind label %706

704:                                              ; preds = %702
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %703, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(44) %35)
          to label %705 unwind label %710

705:                                              ; preds = %704
  store i1 false, ptr %66, align 1
  invoke void @__cxa_throw(ptr %703, ptr @_ZTI14TokenException, ptr @_ZN14TokenExceptionD2Ev) #7
          to label %2122 unwind label %710

706:                                              ; preds = %702
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %8, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %9, align 4
  br label %714

710:                                              ; preds = %705, %704
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %8, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %714

714:                                              ; preds = %710, %706
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  %715 = load i1, ptr %66, align 1
  br i1 %715, label %716, label %717

716:                                              ; preds = %714
  call void @__cxa_free_exception(ptr %703) #6
  br label %717

717:                                              ; preds = %716, %714
  br label %880

718:                                              ; preds = %654
  br label %719

719:                                              ; preds = %718, %634
  %720 = load i32, ptr %37, align 4, !tbaa !11
  %721 = icmp ne i32 %720, 4
  br i1 %721, label %727, label %722

722:                                              ; preds = %719
  %723 = load i32, ptr %39, align 4, !tbaa !11
  %724 = invoke noundef i32 @_Z12decayFetType7FetType(i32 noundef %723)
          to label %725 unwind label %530

725:                                              ; preds = %722
  %726 = icmp ne i32 %724, 1
  br i1 %726, label %727, label %746

727:                                              ; preds = %725, %719
  store i1 true, ptr %69, align 1
  %728 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %729 unwind label %734

729:                                              ; preds = %727
  %730 = load ptr, ptr %6, align 8, !tbaa !5
  %731 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %730, i32 noundef 0)
          to label %732 unwind label %738

732:                                              ; preds = %729
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %728, ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(80) %731)
          to label %733 unwind label %738

733:                                              ; preds = %732
  store i1 false, ptr %69, align 1
  invoke void @__cxa_throw(ptr %728, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %738

734:                                              ; preds = %727
  %735 = landingpad { ptr, i32 }
          cleanup
  %736 = extractvalue { ptr, i32 } %735, 0
  store ptr %736, ptr %8, align 8
  %737 = extractvalue { ptr, i32 } %735, 1
  store i32 %737, ptr %9, align 4
  br label %742

738:                                              ; preds = %733, %732, %729
  %739 = landingpad { ptr, i32 }
          cleanup
  %740 = extractvalue { ptr, i32 } %739, 0
  store ptr %740, ptr %8, align 8
  %741 = extractvalue { ptr, i32 } %739, 1
  store i32 %741, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %742

742:                                              ; preds = %738, %734
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #6
  %743 = load i1, ptr %69, align 1
  br i1 %743, label %744, label %745

744:                                              ; preds = %742
  call void @__cxa_free_exception(ptr %728) #6
  br label %745

745:                                              ; preds = %744, %742
  br label %880

746:                                              ; preds = %725
  %747 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %748 unwind label %530

748:                                              ; preds = %746
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef @.str.23)
          to label %749 unwind label %765

749:                                              ; preds = %748
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %750 unwind label %769

750:                                              ; preds = %749
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef @.str.24)
          to label %751 unwind label %773

751:                                              ; preds = %750
  %752 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %753 unwind label %777

753:                                              ; preds = %751
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef @.str.25, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %754 unwind label %784

754:                                              ; preds = %753
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef @.str.26)
          to label %755 unwind label %788

755:                                              ; preds = %754
  %756 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %757 unwind label %792

757:                                              ; preds = %755
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #6
  store i32 1, ptr %75, align 4, !tbaa !13
  br label %758

758:                                              ; preds = %810, %757
  %759 = load i32, ptr %75, align 4, !tbaa !13
  %760 = load ptr, ptr %6, align 8, !tbaa !5
  %761 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %760)
          to label %762 unwind label %798

762:                                              ; preds = %758
  %763 = icmp slt i32 %759, %761
  br i1 %763, label %802, label %764

764:                                              ; preds = %762
  store i32 3, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  br label %823

765:                                              ; preds = %748
  %766 = landingpad { ptr, i32 }
          cleanup
  %767 = extractvalue { ptr, i32 } %766, 0
  store ptr %767, ptr %8, align 8
  %768 = extractvalue { ptr, i32 } %766, 1
  store i32 %768, ptr %9, align 4
  br label %783

769:                                              ; preds = %749
  %770 = landingpad { ptr, i32 }
          cleanup
  %771 = extractvalue { ptr, i32 } %770, 0
  store ptr %771, ptr %8, align 8
  %772 = extractvalue { ptr, i32 } %770, 1
  store i32 %772, ptr %9, align 4
  br label %782

773:                                              ; preds = %750
  %774 = landingpad { ptr, i32 }
          cleanup
  %775 = extractvalue { ptr, i32 } %774, 0
  store ptr %775, ptr %8, align 8
  %776 = extractvalue { ptr, i32 } %774, 1
  store i32 %776, ptr %9, align 4
  br label %781

777:                                              ; preds = %751
  %778 = landingpad { ptr, i32 }
          cleanup
  %779 = extractvalue { ptr, i32 } %778, 0
  store ptr %779, ptr %8, align 8
  %780 = extractvalue { ptr, i32 } %778, 1
  store i32 %780, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %781

781:                                              ; preds = %777, %773
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %782

782:                                              ; preds = %781, %769
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %783

783:                                              ; preds = %782, %765
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  br label %880

784:                                              ; preds = %753
  %785 = landingpad { ptr, i32 }
          cleanup
  %786 = extractvalue { ptr, i32 } %785, 0
  store ptr %786, ptr %8, align 8
  %787 = extractvalue { ptr, i32 } %785, 1
  store i32 %787, ptr %9, align 4
  br label %797

788:                                              ; preds = %754
  %789 = landingpad { ptr, i32 }
          cleanup
  %790 = extractvalue { ptr, i32 } %789, 0
  store ptr %790, ptr %8, align 8
  %791 = extractvalue { ptr, i32 } %789, 1
  store i32 %791, ptr %9, align 4
  br label %796

792:                                              ; preds = %755
  %793 = landingpad { ptr, i32 }
          cleanup
  %794 = extractvalue { ptr, i32 } %793, 0
  store ptr %794, ptr %8, align 8
  %795 = extractvalue { ptr, i32 } %793, 1
  store i32 %795, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %796

796:                                              ; preds = %792, %788
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %797

797:                                              ; preds = %796, %784
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %880

798:                                              ; preds = %758
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %8, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %9, align 4
  br label %822

802:                                              ; preds = %762
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #6
  %803 = load ptr, ptr %6, align 8, !tbaa !5
  %804 = load i32, ptr %75, align 4, !tbaa !13
  %805 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %803, i32 noundef %804)
          to label %806 unwind label %813

806:                                              ; preds = %802
  invoke void @_ZN10Transpiler15transpileBranchB5cxx11ERN10SyntaxTree4NodeE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef nonnull align 8 dereferenceable(176) %219, ptr noundef nonnull align 8 dereferenceable(80) %805)
          to label %807 unwind label %813

807:                                              ; preds = %806
  %808 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %809 unwind label %817

809:                                              ; preds = %807
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #6
  br label %810

810:                                              ; preds = %809
  %811 = load i32, ptr %75, align 4, !tbaa !13
  %812 = add nsw i32 %811, 1
  store i32 %812, ptr %75, align 4, !tbaa !13
  br label %758, !llvm.loop !15

813:                                              ; preds = %806, %802
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %8, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %9, align 4
  br label %821

817:                                              ; preds = %807
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %8, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br label %821

821:                                              ; preds = %817, %813
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #6
  br label %822

822:                                              ; preds = %821, %798
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  br label %880

823:                                              ; preds = %764
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef @.str.27)
          to label %824 unwind label %837

824:                                              ; preds = %823
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %825 unwind label %841

825:                                              ; preds = %824
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.28)
          to label %826 unwind label %845

826:                                              ; preds = %825
  %827 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %828 unwind label %849

828:                                              ; preds = %826
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef @.str.29, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %829 unwind label %856

829:                                              ; preds = %828
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef @.str.27)
          to label %830 unwind label %860

830:                                              ; preds = %829
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %831 unwind label %864

831:                                              ; preds = %830
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.24)
          to label %832 unwind label %868

832:                                              ; preds = %831
  %833 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %834 unwind label %872

834:                                              ; preds = %832
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #6
  %835 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %836 unwind label %530

836:                                              ; preds = %834
  store i32 2, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %35) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %32) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  br label %2114

837:                                              ; preds = %823
  %838 = landingpad { ptr, i32 }
          cleanup
  %839 = extractvalue { ptr, i32 } %838, 0
  store ptr %839, ptr %8, align 8
  %840 = extractvalue { ptr, i32 } %838, 1
  store i32 %840, ptr %9, align 4
  br label %855

841:                                              ; preds = %824
  %842 = landingpad { ptr, i32 }
          cleanup
  %843 = extractvalue { ptr, i32 } %842, 0
  store ptr %843, ptr %8, align 8
  %844 = extractvalue { ptr, i32 } %842, 1
  store i32 %844, ptr %9, align 4
  br label %854

845:                                              ; preds = %825
  %846 = landingpad { ptr, i32 }
          cleanup
  %847 = extractvalue { ptr, i32 } %846, 0
  store ptr %847, ptr %8, align 8
  %848 = extractvalue { ptr, i32 } %846, 1
  store i32 %848, ptr %9, align 4
  br label %853

849:                                              ; preds = %826
  %850 = landingpad { ptr, i32 }
          cleanup
  %851 = extractvalue { ptr, i32 } %850, 0
  store ptr %851, ptr %8, align 8
  %852 = extractvalue { ptr, i32 } %850, 1
  store i32 %852, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %853

853:                                              ; preds = %849, %845
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  br label %854

854:                                              ; preds = %853, %841
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %855

855:                                              ; preds = %854, %837
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  br label %880

856:                                              ; preds = %828
  %857 = landingpad { ptr, i32 }
          cleanup
  %858 = extractvalue { ptr, i32 } %857, 0
  store ptr %858, ptr %8, align 8
  %859 = extractvalue { ptr, i32 } %857, 1
  store i32 %859, ptr %9, align 4
  br label %879

860:                                              ; preds = %829
  %861 = landingpad { ptr, i32 }
          cleanup
  %862 = extractvalue { ptr, i32 } %861, 0
  store ptr %862, ptr %8, align 8
  %863 = extractvalue { ptr, i32 } %861, 1
  store i32 %863, ptr %9, align 4
  br label %878

864:                                              ; preds = %830
  %865 = landingpad { ptr, i32 }
          cleanup
  %866 = extractvalue { ptr, i32 } %865, 0
  store ptr %866, ptr %8, align 8
  %867 = extractvalue { ptr, i32 } %865, 1
  store i32 %867, ptr %9, align 4
  br label %877

868:                                              ; preds = %831
  %869 = landingpad { ptr, i32 }
          cleanup
  %870 = extractvalue { ptr, i32 } %869, 0
  store ptr %870, ptr %8, align 8
  %871 = extractvalue { ptr, i32 } %869, 1
  store i32 %871, ptr %9, align 4
  br label %876

872:                                              ; preds = %832
  %873 = landingpad { ptr, i32 }
          cleanup
  %874 = extractvalue { ptr, i32 } %873, 0
  store ptr %874, ptr %8, align 8
  %875 = extractvalue { ptr, i32 } %873, 1
  store i32 %875, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  br label %876

876:                                              ; preds = %872, %868
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %877

877:                                              ; preds = %876, %864
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %878

878:                                              ; preds = %877, %860
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %879

879:                                              ; preds = %878, %856
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #6
  br label %880

880:                                              ; preds = %879, %855, %822, %797, %783, %745, %717, %701, %687, %668, %633, %619, %585, %551, %542, %530
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  br label %881

881:                                              ; preds = %880, %529
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %35) #6
  br label %882

882:                                              ; preds = %881, %517
  call void @llvm.lifetime.end.p0(i64 48, ptr %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %883

883:                                              ; preds = %882, %516
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %32) #6
  br label %884

884:                                              ; preds = %883, %504
  call void @llvm.lifetime.end.p0(i64 48, ptr %32) #6
  br label %885

885:                                              ; preds = %884, %422, %396, %384, %356, %341
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %886

886:                                              ; preds = %885, %337
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %887

887:                                              ; preds = %886, %333
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  br label %2116

888:                                              ; preds = %311
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #6
  %889 = load ptr, ptr %6, align 8, !tbaa !5
  %890 = load ptr, ptr %889, align 8, !tbaa !9
  %891 = getelementptr inbounds ptr, ptr %890, i64 2
  %892 = load ptr, ptr %891, align 8
  store i1 false, ptr %86, align 1
  store i1 false, ptr %87, align 1
  store i1 false, ptr %89, align 1
  store i1 false, ptr %90, align 1
  store i1 false, ptr %92, align 1
  store i1 false, ptr %93, align 1
  %893 = invoke noundef nonnull align 8 dereferenceable(44) ptr %892(ptr noundef nonnull align 8 dereferenceable(80) %889)
          to label %894 unwind label %961

894:                                              ; preds = %888
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 8 dereferenceable(44) %893)
          to label %895 unwind label %961

895:                                              ; preds = %894
  %896 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef @.str.30)
          to label %897 unwind label %965

897:                                              ; preds = %895
  br i1 %896, label %928, label %898

898:                                              ; preds = %897
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #6
  store i1 true, ptr %86, align 1
  %899 = load ptr, ptr %6, align 8, !tbaa !5
  %900 = load ptr, ptr %899, align 8, !tbaa !9
  %901 = getelementptr inbounds ptr, ptr %900, i64 2
  %902 = load ptr, ptr %901, align 8
  %903 = invoke noundef nonnull align 8 dereferenceable(44) ptr %902(ptr noundef nonnull align 8 dereferenceable(80) %899)
          to label %904 unwind label %969

904:                                              ; preds = %898
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef nonnull align 8 dereferenceable(44) %903)
          to label %905 unwind label %969

905:                                              ; preds = %904
  store i1 true, ptr %87, align 1
  %906 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef @.str.31)
          to label %907 unwind label %973

907:                                              ; preds = %905
  br i1 %906, label %928, label %908

908:                                              ; preds = %907
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #6
  store i1 true, ptr %89, align 1
  %909 = load ptr, ptr %6, align 8, !tbaa !5
  %910 = load ptr, ptr %909, align 8, !tbaa !9
  %911 = getelementptr inbounds ptr, ptr %910, i64 2
  %912 = load ptr, ptr %911, align 8
  %913 = invoke noundef nonnull align 8 dereferenceable(44) ptr %912(ptr noundef nonnull align 8 dereferenceable(80) %909)
          to label %914 unwind label %977

914:                                              ; preds = %908
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 8 dereferenceable(44) %913)
          to label %915 unwind label %977

915:                                              ; preds = %914
  store i1 true, ptr %90, align 1
  %916 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef @.str.32)
          to label %917 unwind label %981

917:                                              ; preds = %915
  br i1 %916, label %928, label %918

918:                                              ; preds = %917
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #6
  store i1 true, ptr %92, align 1
  %919 = load ptr, ptr %6, align 8, !tbaa !5
  %920 = load ptr, ptr %919, align 8, !tbaa !9
  %921 = getelementptr inbounds ptr, ptr %920, i64 2
  %922 = load ptr, ptr %921, align 8
  %923 = invoke noundef nonnull align 8 dereferenceable(44) ptr %922(ptr noundef nonnull align 8 dereferenceable(80) %919)
          to label %924 unwind label %985

924:                                              ; preds = %918
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef nonnull align 8 dereferenceable(44) %923)
          to label %925 unwind label %985

925:                                              ; preds = %924
  store i1 true, ptr %93, align 1
  %926 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef @.str.33)
          to label %927 unwind label %989

927:                                              ; preds = %925
  br label %928

928:                                              ; preds = %927, %917, %907, %897
  %929 = phi i1 [ true, %917 ], [ true, %907 ], [ true, %897 ], [ %926, %927 ]
  %930 = load i1, ptr %93, align 1
  br i1 %930, label %931, label %932

931:                                              ; preds = %928
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %932

932:                                              ; preds = %931, %928
  %933 = load i1, ptr %92, align 1
  br i1 %933, label %934, label %935

934:                                              ; preds = %932
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #6
  br label %935

935:                                              ; preds = %934, %932
  %936 = load i1, ptr %90, align 1
  br i1 %936, label %937, label %938

937:                                              ; preds = %935
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %938

938:                                              ; preds = %937, %935
  %939 = load i1, ptr %89, align 1
  br i1 %939, label %940, label %941

940:                                              ; preds = %938
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #6
  br label %941

941:                                              ; preds = %940, %938
  %942 = load i1, ptr %87, align 1
  br i1 %942, label %943, label %944

943:                                              ; preds = %941
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %944

944:                                              ; preds = %943, %941
  %945 = load i1, ptr %86, align 1
  br i1 %945, label %946, label %947

946:                                              ; preds = %944
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #6
  br label %947

947:                                              ; preds = %946, %944
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #6
  br i1 %929, label %948, label %1449

948:                                              ; preds = %947
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #6
  %949 = load ptr, ptr %6, align 8, !tbaa !5
  %950 = load ptr, ptr %949, align 8, !tbaa !9
  %951 = getelementptr inbounds ptr, ptr %950, i64 2
  %952 = load ptr, ptr %951, align 8
  %953 = invoke noundef nonnull align 8 dereferenceable(44) ptr %952(ptr noundef nonnull align 8 dereferenceable(80) %949)
          to label %954 unwind label %1018

954:                                              ; preds = %948
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef nonnull align 8 dereferenceable(44) %953)
          to label %955 unwind label %1018

955:                                              ; preds = %954
  %956 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef @.str.30)
          to label %957 unwind label %1022

957:                                              ; preds = %955
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  br i1 %956, label %958, label %1027

958:                                              ; preds = %957
  %959 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.34)
          to label %960 unwind label %242

960:                                              ; preds = %958
  br label %1076

961:                                              ; preds = %894, %888
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %8, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %9, align 4
  br label %1017

965:                                              ; preds = %895
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %8, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %9, align 4
  br label %1016

969:                                              ; preds = %904, %898
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %8, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %9, align 4
  br label %1012

973:                                              ; preds = %905
  %974 = landingpad { ptr, i32 }
          cleanup
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %8, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %9, align 4
  br label %1008

977:                                              ; preds = %914, %908
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %8, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, ptr %9, align 4
  br label %1004

981:                                              ; preds = %915
  %982 = landingpad { ptr, i32 }
          cleanup
  %983 = extractvalue { ptr, i32 } %982, 0
  store ptr %983, ptr %8, align 8
  %984 = extractvalue { ptr, i32 } %982, 1
  store i32 %984, ptr %9, align 4
  br label %1000

985:                                              ; preds = %924, %918
  %986 = landingpad { ptr, i32 }
          cleanup
  %987 = extractvalue { ptr, i32 } %986, 0
  store ptr %987, ptr %8, align 8
  %988 = extractvalue { ptr, i32 } %986, 1
  store i32 %988, ptr %9, align 4
  br label %996

989:                                              ; preds = %925
  %990 = landingpad { ptr, i32 }
          cleanup
  %991 = extractvalue { ptr, i32 } %990, 0
  store ptr %991, ptr %8, align 8
  %992 = extractvalue { ptr, i32 } %990, 1
  store i32 %992, ptr %9, align 4
  %993 = load i1, ptr %93, align 1
  br i1 %993, label %994, label %995

994:                                              ; preds = %989
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %995

995:                                              ; preds = %994, %989
  br label %996

996:                                              ; preds = %995, %985
  %997 = load i1, ptr %92, align 1
  br i1 %997, label %998, label %999

998:                                              ; preds = %996
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #6
  br label %999

999:                                              ; preds = %998, %996
  br label %1000

1000:                                             ; preds = %999, %981
  %1001 = load i1, ptr %90, align 1
  br i1 %1001, label %1002, label %1003

1002:                                             ; preds = %1000
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %1003

1003:                                             ; preds = %1002, %1000
  br label %1004

1004:                                             ; preds = %1003, %977
  %1005 = load i1, ptr %89, align 1
  br i1 %1005, label %1006, label %1007

1006:                                             ; preds = %1004
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #6
  br label %1007

1007:                                             ; preds = %1006, %1004
  br label %1008

1008:                                             ; preds = %1007, %973
  %1009 = load i1, ptr %87, align 1
  br i1 %1009, label %1010, label %1011

1010:                                             ; preds = %1008
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %1011

1011:                                             ; preds = %1010, %1008
  br label %1012

1012:                                             ; preds = %1011, %969
  %1013 = load i1, ptr %86, align 1
  br i1 %1013, label %1014, label %1015

1014:                                             ; preds = %1012
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #6
  br label %1015

1015:                                             ; preds = %1014, %1012
  br label %1016

1016:                                             ; preds = %1015, %965
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  br label %1017

1017:                                             ; preds = %1016, %961
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #6
  br label %2116

1018:                                             ; preds = %954, %948
  %1019 = landingpad { ptr, i32 }
          cleanup
  %1020 = extractvalue { ptr, i32 } %1019, 0
  store ptr %1020, ptr %8, align 8
  %1021 = extractvalue { ptr, i32 } %1019, 1
  store i32 %1021, ptr %9, align 4
  br label %1026

1022:                                             ; preds = %955
  %1023 = landingpad { ptr, i32 }
          cleanup
  %1024 = extractvalue { ptr, i32 } %1023, 0
  store ptr %1024, ptr %8, align 8
  %1025 = extractvalue { ptr, i32 } %1023, 1
  store i32 %1025, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %1026

1026:                                             ; preds = %1022, %1018
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  br label %2116

1027:                                             ; preds = %957
  call void @llvm.lifetime.start.p0(i64 32, ptr %95) #6
  %1028 = load ptr, ptr %6, align 8, !tbaa !5
  %1029 = load ptr, ptr %1028, align 8, !tbaa !9
  %1030 = getelementptr inbounds ptr, ptr %1029, i64 2
  %1031 = load ptr, ptr %1030, align 8
  %1032 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1031(ptr noundef nonnull align 8 dereferenceable(80) %1028)
          to label %1033 unwind label %1040

1033:                                             ; preds = %1027
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %95, ptr noundef nonnull align 8 dereferenceable(44) %1032)
          to label %1034 unwind label %1040

1034:                                             ; preds = %1033
  %1035 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef @.str.31)
          to label %1036 unwind label %1044

1036:                                             ; preds = %1034
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #6
  br i1 %1035, label %1037, label %1049

1037:                                             ; preds = %1036
  %1038 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.35)
          to label %1039 unwind label %242

1039:                                             ; preds = %1037
  br label %1075

1040:                                             ; preds = %1033, %1027
  %1041 = landingpad { ptr, i32 }
          cleanup
  %1042 = extractvalue { ptr, i32 } %1041, 0
  store ptr %1042, ptr %8, align 8
  %1043 = extractvalue { ptr, i32 } %1041, 1
  store i32 %1043, ptr %9, align 4
  br label %1048

1044:                                             ; preds = %1034
  %1045 = landingpad { ptr, i32 }
          cleanup
  %1046 = extractvalue { ptr, i32 } %1045, 0
  store ptr %1046, ptr %8, align 8
  %1047 = extractvalue { ptr, i32 } %1045, 1
  store i32 %1047, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %1048

1048:                                             ; preds = %1044, %1040
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #6
  br label %2116

1049:                                             ; preds = %1036
  call void @llvm.lifetime.start.p0(i64 32, ptr %96) #6
  %1050 = load ptr, ptr %6, align 8, !tbaa !5
  %1051 = load ptr, ptr %1050, align 8, !tbaa !9
  %1052 = getelementptr inbounds ptr, ptr %1051, i64 2
  %1053 = load ptr, ptr %1052, align 8
  %1054 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1053(ptr noundef nonnull align 8 dereferenceable(80) %1050)
          to label %1055 unwind label %1062

1055:                                             ; preds = %1049
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %96, ptr noundef nonnull align 8 dereferenceable(44) %1054)
          to label %1056 unwind label %1062

1056:                                             ; preds = %1055
  %1057 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef @.str.32)
          to label %1058 unwind label %1066

1058:                                             ; preds = %1056
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #6
  br i1 %1057, label %1059, label %1071

1059:                                             ; preds = %1058
  %1060 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.36)
          to label %1061 unwind label %242

1061:                                             ; preds = %1059
  br label %1074

1062:                                             ; preds = %1055, %1049
  %1063 = landingpad { ptr, i32 }
          cleanup
  %1064 = extractvalue { ptr, i32 } %1063, 0
  store ptr %1064, ptr %8, align 8
  %1065 = extractvalue { ptr, i32 } %1063, 1
  store i32 %1065, ptr %9, align 4
  br label %1070

1066:                                             ; preds = %1056
  %1067 = landingpad { ptr, i32 }
          cleanup
  %1068 = extractvalue { ptr, i32 } %1067, 0
  store ptr %1068, ptr %8, align 8
  %1069 = extractvalue { ptr, i32 } %1067, 1
  store i32 %1069, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %1070

1070:                                             ; preds = %1066, %1062
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #6
  br label %2116

1071:                                             ; preds = %1058
  %1072 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.37)
          to label %1073 unwind label %242

1073:                                             ; preds = %1071
  br label %1074

1074:                                             ; preds = %1073, %1061
  br label %1075

1075:                                             ; preds = %1074, %1039
  br label %1076

1076:                                             ; preds = %1075, %960
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #6
  %1077 = load ptr, ptr %6, align 8, !tbaa !5
  %1078 = load ptr, ptr %1077, align 8, !tbaa !9
  %1079 = getelementptr inbounds ptr, ptr %1078, i64 2
  %1080 = load ptr, ptr %1079, align 8
  %1081 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1080(ptr noundef nonnull align 8 dereferenceable(80) %1077)
          to label %1082 unwind label %1096

1082:                                             ; preds = %1076
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull align 8 dereferenceable(44) %1081)
          to label %1083 unwind label %1096

1083:                                             ; preds = %1082
  %1084 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef @.str.33)
          to label %1085 unwind label %1100

1085:                                             ; preds = %1083
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  br i1 %1084, label %1086, label %1390

1086:                                             ; preds = %1085
  %1087 = load ptr, ptr %6, align 8, !tbaa !5
  %1088 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %1087)
          to label %1089 unwind label %242

1089:                                             ; preds = %1086
  %1090 = icmp slt i32 %1088, 1
  br i1 %1090, label %1091, label %1117

1091:                                             ; preds = %1089
  store i1 true, ptr %100, align 1
  %1092 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %98) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef @.str.38, ptr noundef nonnull align 1 dereferenceable(1) %99)
          to label %1093 unwind label %1105

1093:                                             ; preds = %1091
  %1094 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %1092, ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(80) %1094)
          to label %1095 unwind label %1109

1095:                                             ; preds = %1093
  store i1 false, ptr %100, align 1
  invoke void @__cxa_throw(ptr %1092, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %1109

1096:                                             ; preds = %1082, %1076
  %1097 = landingpad { ptr, i32 }
          cleanup
  %1098 = extractvalue { ptr, i32 } %1097, 0
  store ptr %1098, ptr %8, align 8
  %1099 = extractvalue { ptr, i32 } %1097, 1
  store i32 %1099, ptr %9, align 4
  br label %1104

1100:                                             ; preds = %1083
  %1101 = landingpad { ptr, i32 }
          cleanup
  %1102 = extractvalue { ptr, i32 } %1101, 0
  store ptr %1102, ptr %8, align 8
  %1103 = extractvalue { ptr, i32 } %1101, 1
  store i32 %1103, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %1104

1104:                                             ; preds = %1100, %1096
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  br label %2116

1105:                                             ; preds = %1091
  %1106 = landingpad { ptr, i32 }
          cleanup
  %1107 = extractvalue { ptr, i32 } %1106, 0
  store ptr %1107, ptr %8, align 8
  %1108 = extractvalue { ptr, i32 } %1106, 1
  store i32 %1108, ptr %9, align 4
  br label %1113

1109:                                             ; preds = %1095, %1093
  %1110 = landingpad { ptr, i32 }
          cleanup
  %1111 = extractvalue { ptr, i32 } %1110, 0
  store ptr %1111, ptr %8, align 8
  %1112 = extractvalue { ptr, i32 } %1110, 1
  store i32 %1112, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %1113

1113:                                             ; preds = %1109, %1105
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #6
  %1114 = load i1, ptr %100, align 1
  br i1 %1114, label %1115, label %1116

1115:                                             ; preds = %1113
  call void @__cxa_free_exception(ptr %1092) #6
  br label %1116

1116:                                             ; preds = %1115, %1113
  br label %2116

1117:                                             ; preds = %1089
  %1118 = load ptr, ptr %6, align 8, !tbaa !5
  %1119 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1118, i32 noundef 0)
          to label %1120 unwind label %242

1120:                                             ; preds = %1117
  %1121 = load ptr, ptr %1119, align 8, !tbaa !9
  %1122 = getelementptr inbounds ptr, ptr %1121, i64 2
  %1123 = load ptr, ptr %1122, align 8
  %1124 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1123(ptr noundef nonnull align 8 dereferenceable(80) %1119)
          to label %1125 unwind label %242

1125:                                             ; preds = %1120
  %1126 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %1124)
          to label %1127 unwind label %242

1127:                                             ; preds = %1125
  %1128 = icmp ne i32 %1126, 1
  br i1 %1128, label %1141, label %1129

1129:                                             ; preds = %1127
  %1130 = load ptr, ptr %6, align 8, !tbaa !5
  %1131 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1130, i32 noundef 0)
          to label %1132 unwind label %242

1132:                                             ; preds = %1129
  %1133 = load ptr, ptr %1131, align 8, !tbaa !9
  %1134 = getelementptr inbounds ptr, ptr %1133, i64 2
  %1135 = load ptr, ptr %1134, align 8
  %1136 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1135(ptr noundef nonnull align 8 dereferenceable(80) %1131)
          to label %1137 unwind label %242

1137:                                             ; preds = %1132
  %1138 = invoke noundef i32 @_ZNK5Token20getKeyphraseCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %1136)
          to label %1139 unwind label %242

1139:                                             ; preds = %1137
  %1140 = icmp ne i32 %1138, 2
  br i1 %1140, label %1141, label %1160

1141:                                             ; preds = %1139, %1127
  store i1 true, ptr %103, align 1
  %1142 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %101) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %102) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef @.str.39, ptr noundef nonnull align 1 dereferenceable(1) %102)
          to label %1143 unwind label %1148

1143:                                             ; preds = %1141
  %1144 = load ptr, ptr %6, align 8, !tbaa !5
  %1145 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1144, i32 noundef 0)
          to label %1146 unwind label %1152

1146:                                             ; preds = %1143
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %1142, ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(80) %1145)
          to label %1147 unwind label %1152

1147:                                             ; preds = %1146
  store i1 false, ptr %103, align 1
  invoke void @__cxa_throw(ptr %1142, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %1152

1148:                                             ; preds = %1141
  %1149 = landingpad { ptr, i32 }
          cleanup
  %1150 = extractvalue { ptr, i32 } %1149, 0
  store ptr %1150, ptr %8, align 8
  %1151 = extractvalue { ptr, i32 } %1149, 1
  store i32 %1151, ptr %9, align 4
  br label %1156

1152:                                             ; preds = %1147, %1146, %1143
  %1153 = landingpad { ptr, i32 }
          cleanup
  %1154 = extractvalue { ptr, i32 } %1153, 0
  store ptr %1154, ptr %8, align 8
  %1155 = extractvalue { ptr, i32 } %1153, 1
  store i32 %1155, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %1156

1156:                                             ; preds = %1152, %1148
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #6
  %1157 = load i1, ptr %103, align 1
  br i1 %1157, label %1158, label %1159

1158:                                             ; preds = %1156
  call void @__cxa_free_exception(ptr %1142) #6
  br label %1159

1159:                                             ; preds = %1158, %1156
  br label %2116

1160:                                             ; preds = %1139
  %1161 = load ptr, ptr %6, align 8, !tbaa !5
  %1162 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1161, i32 noundef 0)
          to label %1163 unwind label %242

1163:                                             ; preds = %1160
  %1164 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %1162)
          to label %1165 unwind label %242

1165:                                             ; preds = %1163
  %1166 = icmp ne i32 %1164, 2
  br i1 %1166, label %1167, label %1186

1167:                                             ; preds = %1165
  store i1 true, ptr %106, align 1
  %1168 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef @.str.40, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %1169 unwind label %1174

1169:                                             ; preds = %1167
  %1170 = load ptr, ptr %6, align 8, !tbaa !5
  %1171 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1170, i32 noundef 0)
          to label %1172 unwind label %1178

1172:                                             ; preds = %1169
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %1168, ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull align 8 dereferenceable(80) %1171)
          to label %1173 unwind label %1178

1173:                                             ; preds = %1172
  store i1 false, ptr %106, align 1
  invoke void @__cxa_throw(ptr %1168, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %1178

1174:                                             ; preds = %1167
  %1175 = landingpad { ptr, i32 }
          cleanup
  %1176 = extractvalue { ptr, i32 } %1175, 0
  store ptr %1176, ptr %8, align 8
  %1177 = extractvalue { ptr, i32 } %1175, 1
  store i32 %1177, ptr %9, align 4
  br label %1182

1178:                                             ; preds = %1173, %1172, %1169
  %1179 = landingpad { ptr, i32 }
          cleanup
  %1180 = extractvalue { ptr, i32 } %1179, 0
  store ptr %1180, ptr %8, align 8
  %1181 = extractvalue { ptr, i32 } %1179, 1
  store i32 %1181, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %1182

1182:                                             ; preds = %1178, %1174
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  %1183 = load i1, ptr %106, align 1
  br i1 %1183, label %1184, label %1185

1184:                                             ; preds = %1182
  call void @__cxa_free_exception(ptr %1168) #6
  br label %1185

1185:                                             ; preds = %1184, %1182
  br label %2116

1186:                                             ; preds = %1165
  call void @llvm.lifetime.start.p0(i64 136, ptr %107) #6
  %1187 = load ptr, ptr @manager, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %108) #6
  %1188 = load ptr, ptr %6, align 8, !tbaa !5
  %1189 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1188, i32 noundef 0)
          to label %1190 unwind label %1227

1190:                                             ; preds = %1186
  %1191 = load ptr, ptr %1189, align 8, !tbaa !9
  %1192 = getelementptr inbounds ptr, ptr %1191, i64 2
  %1193 = load ptr, ptr %1192, align 8
  %1194 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1193(ptr noundef nonnull align 8 dereferenceable(80) %1189)
          to label %1195 unwind label %1227

1195:                                             ; preds = %1190
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %108, ptr noundef nonnull align 8 dereferenceable(44) %1194)
          to label %1196 unwind label %1227

1196:                                             ; preds = %1195
  invoke void @_ZNK14FetlangManager21getComparisonOperatorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.ComparisonOperator) align 8 %107, ptr noundef nonnull align 8 dereferenceable(380) %1187, ptr noundef nonnull align 8 dereferenceable(32) %108)
          to label %1197 unwind label %1231

1197:                                             ; preds = %1196
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr %109) #6
  %1198 = load ptr, ptr %6, align 8, !tbaa !5
  %1199 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1198, i32 noundef 0)
          to label %1200 unwind label %1236

1200:                                             ; preds = %1197
  %1201 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1199, i32 noundef 0)
          to label %1202 unwind label %1236

1202:                                             ; preds = %1200
  %1203 = load ptr, ptr %1201, align 8, !tbaa !9
  %1204 = getelementptr inbounds ptr, ptr %1203, i64 2
  %1205 = load ptr, ptr %1204, align 8
  %1206 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1205(ptr noundef nonnull align 8 dereferenceable(80) %1201)
          to label %1207 unwind label %1236

1207:                                             ; preds = %1202
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %109, ptr noundef nonnull align 8 dereferenceable(44) %1206)
          to label %1208 unwind label %1236

1208:                                             ; preds = %1207
  call void @llvm.lifetime.start.p0(i64 48, ptr %110) #6
  %1209 = load ptr, ptr %6, align 8, !tbaa !5
  %1210 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1209, i32 noundef 0)
          to label %1211 unwind label %1240

1211:                                             ; preds = %1208
  %1212 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1210, i32 noundef 1)
          to label %1213 unwind label %1240

1213:                                             ; preds = %1211
  %1214 = load ptr, ptr %1212, align 8, !tbaa !9
  %1215 = getelementptr inbounds ptr, ptr %1214, i64 2
  %1216 = load ptr, ptr %1215, align 8
  %1217 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1216(ptr noundef nonnull align 8 dereferenceable(80) %1212)
          to label %1218 unwind label %1240

1218:                                             ; preds = %1213
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %110, ptr noundef nonnull align 8 dereferenceable(44) %1217)
          to label %1219 unwind label %1240

1219:                                             ; preds = %1218
  %1220 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1221 unwind label %1244

1221:                                             ; preds = %1219
  %1222 = icmp ne i32 %1220, 4
  br i1 %1222, label %1223, label %1260

1223:                                             ; preds = %1221
  store i1 true, ptr %113, align 1
  %1224 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %111) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %1225 unwind label %1248

1225:                                             ; preds = %1223
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %1224, ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1226 unwind label %1252

1226:                                             ; preds = %1225
  store i1 false, ptr %113, align 1
  invoke void @__cxa_throw(ptr %1224, ptr @_ZTI14TokenException, ptr @_ZN14TokenExceptionD2Ev) #7
          to label %2122 unwind label %1252

1227:                                             ; preds = %1195, %1190, %1186
  %1228 = landingpad { ptr, i32 }
          cleanup
  %1229 = extractvalue { ptr, i32 } %1228, 0
  store ptr %1229, ptr %8, align 8
  %1230 = extractvalue { ptr, i32 } %1228, 1
  store i32 %1230, ptr %9, align 4
  br label %1235

1231:                                             ; preds = %1196
  %1232 = landingpad { ptr, i32 }
          cleanup
  %1233 = extractvalue { ptr, i32 } %1232, 0
  store ptr %1233, ptr %8, align 8
  %1234 = extractvalue { ptr, i32 } %1232, 1
  store i32 %1234, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  br label %1235

1235:                                             ; preds = %1231, %1227
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #6
  br label %1389

1236:                                             ; preds = %1207, %1202, %1200, %1197
  %1237 = landingpad { ptr, i32 }
          cleanup
  %1238 = extractvalue { ptr, i32 } %1237, 0
  store ptr %1238, ptr %8, align 8
  %1239 = extractvalue { ptr, i32 } %1237, 1
  store i32 %1239, ptr %9, align 4
  br label %1388

1240:                                             ; preds = %1218, %1213, %1211, %1208
  %1241 = landingpad { ptr, i32 }
          cleanup
  %1242 = extractvalue { ptr, i32 } %1241, 0
  store ptr %1242, ptr %8, align 8
  %1243 = extractvalue { ptr, i32 } %1241, 1
  store i32 %1243, ptr %9, align 4
  br label %1387

1244:                                             ; preds = %1260, %1219
  %1245 = landingpad { ptr, i32 }
          cleanup
  %1246 = extractvalue { ptr, i32 } %1245, 0
  store ptr %1246, ptr %8, align 8
  %1247 = extractvalue { ptr, i32 } %1245, 1
  store i32 %1247, ptr %9, align 4
  br label %1386

1248:                                             ; preds = %1223
  %1249 = landingpad { ptr, i32 }
          cleanup
  %1250 = extractvalue { ptr, i32 } %1249, 0
  store ptr %1250, ptr %8, align 8
  %1251 = extractvalue { ptr, i32 } %1249, 1
  store i32 %1251, ptr %9, align 4
  br label %1256

1252:                                             ; preds = %1226, %1225
  %1253 = landingpad { ptr, i32 }
          cleanup
  %1254 = extractvalue { ptr, i32 } %1253, 0
  store ptr %1254, ptr %8, align 8
  %1255 = extractvalue { ptr, i32 } %1253, 1
  store i32 %1255, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %1256

1256:                                             ; preds = %1252, %1248
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #6
  %1257 = load i1, ptr %113, align 1
  br i1 %1257, label %1258, label %1259

1258:                                             ; preds = %1256
  call void @__cxa_free_exception(ptr %1224) #6
  br label %1259

1259:                                             ; preds = %1258, %1256
  br label %1386

1260:                                             ; preds = %1221
  %1261 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1262 unwind label %1244

1262:                                             ; preds = %1260
  %1263 = icmp ne i32 %1261, 4
  br i1 %1263, label %1264, label %1280

1264:                                             ; preds = %1262
  store i1 true, ptr %116, align 1
  %1265 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef @.str.42, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %1266 unwind label %1268

1266:                                             ; preds = %1264
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %1265, ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1267 unwind label %1272

1267:                                             ; preds = %1266
  store i1 false, ptr %116, align 1
  invoke void @__cxa_throw(ptr %1265, ptr @_ZTI14TokenException, ptr @_ZN14TokenExceptionD2Ev) #7
          to label %2122 unwind label %1272

1268:                                             ; preds = %1264
  %1269 = landingpad { ptr, i32 }
          cleanup
  %1270 = extractvalue { ptr, i32 } %1269, 0
  store ptr %1270, ptr %8, align 8
  %1271 = extractvalue { ptr, i32 } %1269, 1
  store i32 %1271, ptr %9, align 4
  br label %1276

1272:                                             ; preds = %1267, %1266
  %1273 = landingpad { ptr, i32 }
          cleanup
  %1274 = extractvalue { ptr, i32 } %1273, 0
  store ptr %1274, ptr %8, align 8
  %1275 = extractvalue { ptr, i32 } %1273, 1
  store i32 %1275, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %1276

1276:                                             ; preds = %1272, %1268
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #6
  %1277 = load i1, ptr %116, align 1
  br i1 %1277, label %1278, label %1279

1278:                                             ; preds = %1276
  call void @__cxa_free_exception(ptr %1265) #6
  br label %1279

1279:                                             ; preds = %1278, %1276
  br label %1386

1280:                                             ; preds = %1262
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #6
  %1281 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %118, ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1282 unwind label %1313

1282:                                             ; preds = %1280
  %1283 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1281, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1284 unwind label %1317

1284:                                             ; preds = %1282
  %1285 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %1283)
          to label %1286 unwind label %1317

1286:                                             ; preds = %1284
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #6
  store i32 %1285, ptr %117, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #6
  %1287 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %120) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %120, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1288 unwind label %1322

1288:                                             ; preds = %1286
  %1289 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1287, ptr noundef nonnull align 8 dereferenceable(32) %120)
          to label %1290 unwind label %1326

1290:                                             ; preds = %1288
  %1291 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %1289)
          to label %1292 unwind label %1326

1292:                                             ; preds = %1290
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %120) #6
  store i32 %1291, ptr %119, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %121) #6
  %1293 = load i32, ptr %117, align 4, !tbaa !11
  %1294 = load i32, ptr %119, align 4, !tbaa !11
  invoke void @_ZNK8Operator10getCodeForB5cxx11E7FetTypeS0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %121, ptr noundef nonnull align 8 dereferenceable(136) %107, i32 noundef %1293, i32 noundef %1294)
          to label %1295 unwind label %1331

1295:                                             ; preds = %1292
  call void @llvm.lifetime.start.p0(i64 32, ptr %122) #6
  %1296 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %123, ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1297 unwind label %1335

1297:                                             ; preds = %1295
  %1298 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1296, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %1299 unwind label %1339

1299:                                             ; preds = %1297
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull align 8 dereferenceable(88) %1298)
          to label %1300 unwind label %1339

1300:                                             ; preds = %1299
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %124) #6
  %1301 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1302 unwind label %1344

1302:                                             ; preds = %1300
  %1303 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1301, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1304 unwind label %1348

1304:                                             ; preds = %1302
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef nonnull align 8 dereferenceable(88) %1303)
          to label %1305 unwind label %1348

1305:                                             ; preds = %1304
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %127) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef @.str.43, ptr noundef nonnull align 1 dereferenceable(1) %127)
          to label %1306 unwind label %1353

1306:                                             ; preds = %1305
  invoke void @_ZL11replaceTextRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S7_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %1307 unwind label %1357

1307:                                             ; preds = %1306
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef @.str.44, ptr noundef nonnull align 1 dereferenceable(1) %129)
          to label %1308 unwind label %1362

1308:                                             ; preds = %1307
  invoke void @_ZL11replaceTextRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S7_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef nonnull align 8 dereferenceable(32) %124)
          to label %1309 unwind label %1366

1309:                                             ; preds = %1308
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef @.str.45)
          to label %1310 unwind label %1371

1310:                                             ; preds = %1309
  %1311 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %130)
          to label %1312 unwind label %1375

1312:                                             ; preds = %1310
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %110) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %110) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %109) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %109) #6
  call void @_ZN8OperatorD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %107) #6
  call void @llvm.lifetime.end.p0(i64 136, ptr %107) #6
  br label %1390

1313:                                             ; preds = %1280
  %1314 = landingpad { ptr, i32 }
          cleanup
  %1315 = extractvalue { ptr, i32 } %1314, 0
  store ptr %1315, ptr %8, align 8
  %1316 = extractvalue { ptr, i32 } %1314, 1
  store i32 %1316, ptr %9, align 4
  br label %1321

1317:                                             ; preds = %1284, %1282
  %1318 = landingpad { ptr, i32 }
          cleanup
  %1319 = extractvalue { ptr, i32 } %1318, 0
  store ptr %1319, ptr %8, align 8
  %1320 = extractvalue { ptr, i32 } %1318, 1
  store i32 %1320, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %1321

1321:                                             ; preds = %1317, %1313
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #6
  br label %1385

1322:                                             ; preds = %1286
  %1323 = landingpad { ptr, i32 }
          cleanup
  %1324 = extractvalue { ptr, i32 } %1323, 0
  store ptr %1324, ptr %8, align 8
  %1325 = extractvalue { ptr, i32 } %1323, 1
  store i32 %1325, ptr %9, align 4
  br label %1330

1326:                                             ; preds = %1290, %1288
  %1327 = landingpad { ptr, i32 }
          cleanup
  %1328 = extractvalue { ptr, i32 } %1327, 0
  store ptr %1328, ptr %8, align 8
  %1329 = extractvalue { ptr, i32 } %1327, 1
  store i32 %1329, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  br label %1330

1330:                                             ; preds = %1326, %1322
  call void @llvm.lifetime.end.p0(i64 32, ptr %120) #6
  br label %1384

1331:                                             ; preds = %1292
  %1332 = landingpad { ptr, i32 }
          cleanup
  %1333 = extractvalue { ptr, i32 } %1332, 0
  store ptr %1333, ptr %8, align 8
  %1334 = extractvalue { ptr, i32 } %1332, 1
  store i32 %1334, ptr %9, align 4
  br label %1383

1335:                                             ; preds = %1295
  %1336 = landingpad { ptr, i32 }
          cleanup
  %1337 = extractvalue { ptr, i32 } %1336, 0
  store ptr %1337, ptr %8, align 8
  %1338 = extractvalue { ptr, i32 } %1336, 1
  store i32 %1338, ptr %9, align 4
  br label %1343

1339:                                             ; preds = %1299, %1297
  %1340 = landingpad { ptr, i32 }
          cleanup
  %1341 = extractvalue { ptr, i32 } %1340, 0
  store ptr %1341, ptr %8, align 8
  %1342 = extractvalue { ptr, i32 } %1340, 1
  store i32 %1342, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1343

1343:                                             ; preds = %1339, %1335
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #6
  br label %1382

1344:                                             ; preds = %1300
  %1345 = landingpad { ptr, i32 }
          cleanup
  %1346 = extractvalue { ptr, i32 } %1345, 0
  store ptr %1346, ptr %8, align 8
  %1347 = extractvalue { ptr, i32 } %1345, 1
  store i32 %1347, ptr %9, align 4
  br label %1352

1348:                                             ; preds = %1304, %1302
  %1349 = landingpad { ptr, i32 }
          cleanup
  %1350 = extractvalue { ptr, i32 } %1349, 0
  store ptr %1350, ptr %8, align 8
  %1351 = extractvalue { ptr, i32 } %1349, 1
  store i32 %1351, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1352

1352:                                             ; preds = %1348, %1344
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  br label %1381

1353:                                             ; preds = %1305
  %1354 = landingpad { ptr, i32 }
          cleanup
  %1355 = extractvalue { ptr, i32 } %1354, 0
  store ptr %1355, ptr %8, align 8
  %1356 = extractvalue { ptr, i32 } %1354, 1
  store i32 %1356, ptr %9, align 4
  br label %1361

1357:                                             ; preds = %1306
  %1358 = landingpad { ptr, i32 }
          cleanup
  %1359 = extractvalue { ptr, i32 } %1358, 0
  store ptr %1359, ptr %8, align 8
  %1360 = extractvalue { ptr, i32 } %1358, 1
  store i32 %1360, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #6
  br label %1361

1361:                                             ; preds = %1357, %1353
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #6
  br label %1380

1362:                                             ; preds = %1307
  %1363 = landingpad { ptr, i32 }
          cleanup
  %1364 = extractvalue { ptr, i32 } %1363, 0
  store ptr %1364, ptr %8, align 8
  %1365 = extractvalue { ptr, i32 } %1363, 1
  store i32 %1365, ptr %9, align 4
  br label %1370

1366:                                             ; preds = %1308
  %1367 = landingpad { ptr, i32 }
          cleanup
  %1368 = extractvalue { ptr, i32 } %1367, 0
  store ptr %1368, ptr %8, align 8
  %1369 = extractvalue { ptr, i32 } %1367, 1
  store i32 %1369, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  br label %1370

1370:                                             ; preds = %1366, %1362
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #6
  br label %1380

1371:                                             ; preds = %1309
  %1372 = landingpad { ptr, i32 }
          cleanup
  %1373 = extractvalue { ptr, i32 } %1372, 0
  store ptr %1373, ptr %8, align 8
  %1374 = extractvalue { ptr, i32 } %1372, 1
  store i32 %1374, ptr %9, align 4
  br label %1379

1375:                                             ; preds = %1310
  %1376 = landingpad { ptr, i32 }
          cleanup
  %1377 = extractvalue { ptr, i32 } %1376, 0
  store ptr %1377, ptr %8, align 8
  %1378 = extractvalue { ptr, i32 } %1376, 1
  store i32 %1378, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1379

1379:                                             ; preds = %1375, %1371
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  br label %1380

1380:                                             ; preds = %1379, %1370, %1361
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %1381

1381:                                             ; preds = %1380, %1352
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %1382

1382:                                             ; preds = %1381, %1343
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %1383

1383:                                             ; preds = %1382, %1331
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #6
  br label %1384

1384:                                             ; preds = %1383, %1330
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #6
  br label %1385

1385:                                             ; preds = %1384, %1321
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #6
  br label %1386

1386:                                             ; preds = %1385, %1279, %1259, %1244
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %110) #6
  br label %1387

1387:                                             ; preds = %1386, %1240
  call void @llvm.lifetime.end.p0(i64 48, ptr %110) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %109) #6
  br label %1388

1388:                                             ; preds = %1387, %1236
  call void @llvm.lifetime.end.p0(i64 48, ptr %109) #6
  call void @_ZN8OperatorD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %107) #6
  br label %1389

1389:                                             ; preds = %1388, %1235
  call void @llvm.lifetime.end.p0(i64 136, ptr %107) #6
  br label %2116

1390:                                             ; preds = %1312, %1085
  %1391 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.46)
          to label %1392 unwind label %242

1392:                                             ; preds = %1390
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #6
  store i32 0, ptr %131, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #6
  %1393 = load ptr, ptr %6, align 8, !tbaa !5
  %1394 = load ptr, ptr %1393, align 8, !tbaa !9
  %1395 = getelementptr inbounds ptr, ptr %1394, i64 2
  %1396 = load ptr, ptr %1395, align 8
  %1397 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1396(ptr noundef nonnull align 8 dereferenceable(80) %1393)
          to label %1398 unwind label %1405

1398:                                             ; preds = %1392
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %132, ptr noundef nonnull align 8 dereferenceable(44) %1397)
          to label %1399 unwind label %1405

1399:                                             ; preds = %1398
  %1400 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.33)
          to label %1401 unwind label %1409

1401:                                             ; preds = %1399
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  br i1 %1400, label %1402, label %1414

1402:                                             ; preds = %1401
  %1403 = load i32, ptr %131, align 4, !tbaa !13
  %1404 = add nsw i32 %1403, 1
  store i32 %1404, ptr %131, align 4, !tbaa !13
  br label %1414

1405:                                             ; preds = %1398, %1392
  %1406 = landingpad { ptr, i32 }
          cleanup
  %1407 = extractvalue { ptr, i32 } %1406, 0
  store ptr %1407, ptr %8, align 8
  %1408 = extractvalue { ptr, i32 } %1406, 1
  store i32 %1408, ptr %9, align 4
  br label %1413

1409:                                             ; preds = %1399
  %1410 = landingpad { ptr, i32 }
          cleanup
  %1411 = extractvalue { ptr, i32 } %1410, 0
  store ptr %1411, ptr %8, align 8
  %1412 = extractvalue { ptr, i32 } %1410, 1
  store i32 %1412, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %1413

1413:                                             ; preds = %1409, %1405
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  br label %1448

1414:                                             ; preds = %1402, %1401
  br label %1415

1415:                                             ; preds = %1429, %1414
  %1416 = load i32, ptr %131, align 4, !tbaa !13
  %1417 = load ptr, ptr %6, align 8, !tbaa !5
  %1418 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %1417)
          to label %1419 unwind label %1432

1419:                                             ; preds = %1415
  %1420 = icmp slt i32 %1416, %1418
  br i1 %1420, label %1421, label %1445

1421:                                             ; preds = %1419
  call void @llvm.lifetime.start.p0(i64 32, ptr %133) #6
  %1422 = load ptr, ptr %6, align 8, !tbaa !5
  %1423 = load i32, ptr %131, align 4, !tbaa !13
  %1424 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1422, i32 noundef %1423)
          to label %1425 unwind label %1436

1425:                                             ; preds = %1421
  invoke void @_ZN10Transpiler15transpileBranchB5cxx11ERN10SyntaxTree4NodeE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %133, ptr noundef nonnull align 8 dereferenceable(176) %219, ptr noundef nonnull align 8 dereferenceable(80) %1424)
          to label %1426 unwind label %1436

1426:                                             ; preds = %1425
  %1427 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %133)
          to label %1428 unwind label %1440

1428:                                             ; preds = %1426
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #6
  br label %1429

1429:                                             ; preds = %1428
  %1430 = load i32, ptr %131, align 4, !tbaa !13
  %1431 = add nsw i32 %1430, 1
  store i32 %1431, ptr %131, align 4, !tbaa !13
  br label %1415, !llvm.loop !17

1432:                                             ; preds = %1445, %1415
  %1433 = landingpad { ptr, i32 }
          cleanup
  %1434 = extractvalue { ptr, i32 } %1433, 0
  store ptr %1434, ptr %8, align 8
  %1435 = extractvalue { ptr, i32 } %1433, 1
  store i32 %1435, ptr %9, align 4
  br label %1448

1436:                                             ; preds = %1425, %1421
  %1437 = landingpad { ptr, i32 }
          cleanup
  %1438 = extractvalue { ptr, i32 } %1437, 0
  store ptr %1438, ptr %8, align 8
  %1439 = extractvalue { ptr, i32 } %1437, 1
  store i32 %1439, ptr %9, align 4
  br label %1444

1440:                                             ; preds = %1426
  %1441 = landingpad { ptr, i32 }
          cleanup
  %1442 = extractvalue { ptr, i32 } %1441, 0
  store ptr %1442, ptr %8, align 8
  %1443 = extractvalue { ptr, i32 } %1441, 1
  store i32 %1443, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  br label %1444

1444:                                             ; preds = %1440, %1436
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #6
  br label %1448

1445:                                             ; preds = %1419
  %1446 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.47)
          to label %1447 unwind label %1432

1447:                                             ; preds = %1445
  store i32 2, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #6
  br label %2114

1448:                                             ; preds = %1444, %1432, %1413
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #6
  br label %2116

1449:                                             ; preds = %947
  br label %1450

1450:                                             ; preds = %1449
  br label %1451

1451:                                             ; preds = %1450, %276
  %1452 = load ptr, ptr %6, align 8, !tbaa !5
  %1453 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %1452)
          to label %1454 unwind label %242

1454:                                             ; preds = %1451
  %1455 = icmp ne i32 %1453, 2
  br i1 %1455, label %1456, label %1481

1456:                                             ; preds = %1454
  store i1 true, ptr %136, align 1
  %1457 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %135) #6
  %1458 = load ptr, ptr %6, align 8, !tbaa !5
  %1459 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %1458)
          to label %1460 unwind label %1464

1460:                                             ; preds = %1456
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %135, i32 noundef %1459) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %134, ptr noundef @.str.48, ptr noundef nonnull align 8 dereferenceable(32) %135)
          to label %1461 unwind label %1468

1461:                                             ; preds = %1460
  %1462 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %1457, ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull align 8 dereferenceable(80) %1462)
          to label %1463 unwind label %1472

1463:                                             ; preds = %1461
  store i1 false, ptr %136, align 1
  invoke void @__cxa_throw(ptr %1457, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %1472

1464:                                             ; preds = %1456
  %1465 = landingpad { ptr, i32 }
          cleanup
  %1466 = extractvalue { ptr, i32 } %1465, 0
  store ptr %1466, ptr %8, align 8
  %1467 = extractvalue { ptr, i32 } %1465, 1
  store i32 %1467, ptr %9, align 4
  br label %1477

1468:                                             ; preds = %1460
  %1469 = landingpad { ptr, i32 }
          cleanup
  %1470 = extractvalue { ptr, i32 } %1469, 0
  store ptr %1470, ptr %8, align 8
  %1471 = extractvalue { ptr, i32 } %1469, 1
  store i32 %1471, ptr %9, align 4
  br label %1476

1472:                                             ; preds = %1463, %1461
  %1473 = landingpad { ptr, i32 }
          cleanup
  %1474 = extractvalue { ptr, i32 } %1473, 0
  store ptr %1474, ptr %8, align 8
  %1475 = extractvalue { ptr, i32 } %1473, 1
  store i32 %1475, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %1476

1476:                                             ; preds = %1472, %1468
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  br label %1477

1477:                                             ; preds = %1476, %1464
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #6
  %1478 = load i1, ptr %136, align 1
  br i1 %1478, label %1479, label %1480

1479:                                             ; preds = %1477
  call void @__cxa_free_exception(ptr %1457) #6
  br label %1480

1480:                                             ; preds = %1479, %1477
  br label %2116

1481:                                             ; preds = %1454
  call void @llvm.lifetime.start.p0(i64 136, ptr %137) #6
  %1482 = load ptr, ptr @manager, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %138) #6
  %1483 = load ptr, ptr %6, align 8, !tbaa !5
  %1484 = load ptr, ptr %1483, align 8, !tbaa !9
  %1485 = getelementptr inbounds ptr, ptr %1484, i64 2
  %1486 = load ptr, ptr %1485, align 8
  %1487 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1486(ptr noundef nonnull align 8 dereferenceable(80) %1483)
          to label %1488 unwind label %1519

1488:                                             ; preds = %1481
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %138, ptr noundef nonnull align 8 dereferenceable(44) %1487)
          to label %1489 unwind label %1519

1489:                                             ; preds = %1488
  invoke void @_ZNK14FetlangManager11getOperatorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.Operator) align 8 %137, ptr noundef nonnull align 8 dereferenceable(380) %1482, ptr noundef nonnull align 8 dereferenceable(32) %138)
          to label %1490 unwind label %1523

1490:                                             ; preds = %1489
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr %139) #6
  %1491 = load ptr, ptr %6, align 8, !tbaa !5
  %1492 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1491, i32 noundef 0)
          to label %1493 unwind label %1528

1493:                                             ; preds = %1490
  %1494 = load ptr, ptr %1492, align 8, !tbaa !9
  %1495 = getelementptr inbounds ptr, ptr %1494, i64 2
  %1496 = load ptr, ptr %1495, align 8
  %1497 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1496(ptr noundef nonnull align 8 dereferenceable(80) %1492)
          to label %1498 unwind label %1528

1498:                                             ; preds = %1493
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %139, ptr noundef nonnull align 8 dereferenceable(44) %1497)
          to label %1499 unwind label %1528

1499:                                             ; preds = %1498
  call void @llvm.lifetime.start.p0(i64 48, ptr %140) #6
  %1500 = load ptr, ptr %6, align 8, !tbaa !5
  %1501 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %1500, i32 noundef 1)
          to label %1502 unwind label %1532

1502:                                             ; preds = %1499
  %1503 = load ptr, ptr %1501, align 8, !tbaa !9
  %1504 = getelementptr inbounds ptr, ptr %1503, i64 2
  %1505 = load ptr, ptr %1504, align 8
  %1506 = invoke noundef nonnull align 8 dereferenceable(44) ptr %1505(ptr noundef nonnull align 8 dereferenceable(80) %1501)
          to label %1507 unwind label %1532

1507:                                             ; preds = %1502
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %140, ptr noundef nonnull align 8 dereferenceable(44) %1506)
          to label %1508 unwind label %1532

1508:                                             ; preds = %1507
  call void @llvm.lifetime.start.p0(i64 32, ptr %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %142) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %144) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %146) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  %1509 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1510 unwind label %1536

1510:                                             ; preds = %1508
  %1511 = icmp eq i32 %1509, 4
  br i1 %1511, label %1512, label %1549

1512:                                             ; preds = %1510
  %1513 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %147) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %147, ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1514 unwind label %1540

1514:                                             ; preds = %1512
  %1515 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1513, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %1516 unwind label %1544

1516:                                             ; preds = %1514
  %1517 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %1515)
          to label %1518 unwind label %1544

1518:                                             ; preds = %1516
  store i32 %1517, ptr %145, align 4, !tbaa !11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #6
  br label %1577

1519:                                             ; preds = %1488, %1481
  %1520 = landingpad { ptr, i32 }
          cleanup
  %1521 = extractvalue { ptr, i32 } %1520, 0
  store ptr %1521, ptr %8, align 8
  %1522 = extractvalue { ptr, i32 } %1520, 1
  store i32 %1522, ptr %9, align 4
  br label %1527

1523:                                             ; preds = %1489
  %1524 = landingpad { ptr, i32 }
          cleanup
  %1525 = extractvalue { ptr, i32 } %1524, 0
  store ptr %1525, ptr %8, align 8
  %1526 = extractvalue { ptr, i32 } %1524, 1
  store i32 %1526, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1527

1527:                                             ; preds = %1523, %1519
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #6
  br label %2096

1528:                                             ; preds = %1498, %1493, %1490
  %1529 = landingpad { ptr, i32 }
          cleanup
  %1530 = extractvalue { ptr, i32 } %1529, 0
  store ptr %1530, ptr %8, align 8
  %1531 = extractvalue { ptr, i32 } %1529, 1
  store i32 %1531, ptr %9, align 4
  br label %2095

1532:                                             ; preds = %1507, %1502, %1499
  %1533 = landingpad { ptr, i32 }
          cleanup
  %1534 = extractvalue { ptr, i32 } %1533, 0
  store ptr %1534, ptr %8, align 8
  %1535 = extractvalue { ptr, i32 } %1533, 1
  store i32 %1535, ptr %9, align 4
  br label %2094

1536:                                             ; preds = %1977, %1896, %1892, %1835, %1752, %1748, %1741, %1594, %1590, %1577, %1554, %1549, %1508
  %1537 = landingpad { ptr, i32 }
          cleanup
  %1538 = extractvalue { ptr, i32 } %1537, 0
  store ptr %1538, ptr %8, align 8
  %1539 = extractvalue { ptr, i32 } %1537, 1
  store i32 %1539, ptr %9, align 4
  br label %2093

1540:                                             ; preds = %1512
  %1541 = landingpad { ptr, i32 }
          cleanup
  %1542 = extractvalue { ptr, i32 } %1541, 0
  store ptr %1542, ptr %8, align 8
  %1543 = extractvalue { ptr, i32 } %1541, 1
  store i32 %1543, ptr %9, align 4
  br label %1548

1544:                                             ; preds = %1516, %1514
  %1545 = landingpad { ptr, i32 }
          cleanup
  %1546 = extractvalue { ptr, i32 } %1545, 0
  store ptr %1546, ptr %8, align 8
  %1547 = extractvalue { ptr, i32 } %1545, 1
  store i32 %1547, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %1548

1548:                                             ; preds = %1544, %1540
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #6
  br label %2093

1549:                                             ; preds = %1510
  %1550 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1551 unwind label %1536

1551:                                             ; preds = %1549
  %1552 = icmp eq i32 %1550, 2
  br i1 %1552, label %1553, label %1554

1553:                                             ; preds = %1551
  store i32 2, ptr %145, align 4, !tbaa !11
  br label %1576

1554:                                             ; preds = %1551
  %1555 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1556 unwind label %1536

1556:                                             ; preds = %1554
  %1557 = icmp eq i32 %1555, 3
  br i1 %1557, label %1558, label %1559

1558:                                             ; preds = %1556
  store i32 1, ptr %145, align 4, !tbaa !11
  br label %1575

1559:                                             ; preds = %1556
  store i1 true, ptr %150, align 1
  %1560 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %148) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %149) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef @.str.49, ptr noundef nonnull align 1 dereferenceable(1) %149)
          to label %1561 unwind label %1563

1561:                                             ; preds = %1559
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %1560, ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1562 unwind label %1567

1562:                                             ; preds = %1561
  store i1 false, ptr %150, align 1
  invoke void @__cxa_throw(ptr %1560, ptr @_ZTI14TokenException, ptr @_ZN14TokenExceptionD2Ev) #7
          to label %2122 unwind label %1567

1563:                                             ; preds = %1559
  %1564 = landingpad { ptr, i32 }
          cleanup
  %1565 = extractvalue { ptr, i32 } %1564, 0
  store ptr %1565, ptr %8, align 8
  %1566 = extractvalue { ptr, i32 } %1564, 1
  store i32 %1566, ptr %9, align 4
  br label %1571

1567:                                             ; preds = %1562, %1561
  %1568 = landingpad { ptr, i32 }
          cleanup
  %1569 = extractvalue { ptr, i32 } %1568, 0
  store ptr %1569, ptr %8, align 8
  %1570 = extractvalue { ptr, i32 } %1568, 1
  store i32 %1570, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  br label %1571

1571:                                             ; preds = %1567, %1563
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %149) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #6
  %1572 = load i1, ptr %150, align 1
  br i1 %1572, label %1573, label %1574

1573:                                             ; preds = %1571
  call void @__cxa_free_exception(ptr %1560) #6
  br label %1574

1574:                                             ; preds = %1573, %1571
  br label %2093

1575:                                             ; preds = %1558
  br label %1576

1576:                                             ; preds = %1575, %1553
  br label %1577

1577:                                             ; preds = %1576, %1518
  %1578 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %139)
          to label %1579 unwind label %1536

1579:                                             ; preds = %1577
  %1580 = icmp eq i32 %1578, 4
  br i1 %1580, label %1581, label %1725

1581:                                             ; preds = %1579
  %1582 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %151) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull align 8 dereferenceable(44) %139)
          to label %1583 unwind label %1621

1583:                                             ; preds = %1581
  %1584 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1582, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %1585 unwind label %1625

1585:                                             ; preds = %1583
  %1586 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %1584)
          to label %1587 unwind label %1625

1587:                                             ; preds = %1585
  store i32 %1586, ptr %143, align 4, !tbaa !11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #6
  %1588 = load i32, ptr %143, align 4, !tbaa !11
  %1589 = icmp eq i32 %1588, 3
  br i1 %1589, label %1590, label %1708

1590:                                             ; preds = %1587
  %1591 = load i32, ptr %145, align 4, !tbaa !11
  %1592 = invoke noundef zeroext i1 @_ZNK8Operator17hasCodeForExactlyE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136) %137, i32 noundef 3, i32 noundef %1591)
          to label %1593 unwind label %1536

1593:                                             ; preds = %1590
  br i1 %1592, label %1708, label %1594

1594:                                             ; preds = %1593
  %1595 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14lho_temp_chainB5cxx11)
          to label %1596 unwind label %1536

1596:                                             ; preds = %1594
  call void @llvm.lifetime.start.p0(i64 32, ptr %152) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %153) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %154) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %155) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %155, ptr noundef @.str.50, ptr noundef nonnull align 8 dereferenceable(32) %144)
          to label %1597 unwind label %1630

1597:                                             ; preds = %1596
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %154, ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef @.str.16)
          to label %1598 unwind label %1634

1598:                                             ; preds = %1597
  call void @llvm.lifetime.start.p0(i64 32, ptr %156) #6
  %1599 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %157) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %157, ptr noundef nonnull align 8 dereferenceable(44) %139)
          to label %1600 unwind label %1638

1600:                                             ; preds = %1598
  %1601 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1599, ptr noundef nonnull align 8 dereferenceable(32) %157)
          to label %1602 unwind label %1642

1602:                                             ; preds = %1600
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %156, ptr noundef nonnull align 8 dereferenceable(88) %1601)
          to label %1603 unwind label %1642

1603:                                             ; preds = %1602
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %153, ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef nonnull align 8 dereferenceable(32) %156)
          to label %1604 unwind label %1646

1604:                                             ; preds = %1603
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %152, ptr noundef nonnull align 8 dereferenceable(32) %153, ptr noundef @.str.51)
          to label %1605 unwind label %1650

1605:                                             ; preds = %1604
  %1606 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %152)
          to label %1607 unwind label %1654

1607:                                             ; preds = %1605
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %158) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %159) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %160) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %161) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %162) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %163) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %163, ptr noundef @.str.52, ptr noundef nonnull align 8 dereferenceable(32) %144)
          to label %1608 unwind label %1664

1608:                                             ; preds = %1607
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %162, ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef @.str.16)
          to label %1609 unwind label %1668

1609:                                             ; preds = %1608
  call void @llvm.lifetime.start.p0(i64 32, ptr %164) #6
  %1610 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %165) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %165, ptr noundef nonnull align 8 dereferenceable(44) %139)
          to label %1611 unwind label %1672

1611:                                             ; preds = %1609
  %1612 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1610, ptr noundef nonnull align 8 dereferenceable(32) %165)
          to label %1613 unwind label %1676

1613:                                             ; preds = %1611
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %164, ptr noundef nonnull align 8 dereferenceable(88) %1612)
          to label %1614 unwind label %1676

1614:                                             ; preds = %1613
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %161, ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef nonnull align 8 dereferenceable(32) %164)
          to label %1615 unwind label %1680

1615:                                             ; preds = %1614
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %160, ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef @.str.53)
          to label %1616 unwind label %1684

1616:                                             ; preds = %1615
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef nonnull align 8 dereferenceable(32) %144)
          to label %1617 unwind label %1688

1617:                                             ; preds = %1616
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %158, ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef @.str.51)
          to label %1618 unwind label %1692

1618:                                             ; preds = %1617
  %1619 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1620 unwind label %1696

1620:                                             ; preds = %1618
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %165) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #6
  br label %1724

1621:                                             ; preds = %1581
  %1622 = landingpad { ptr, i32 }
          cleanup
  %1623 = extractvalue { ptr, i32 } %1622, 0
  store ptr %1623, ptr %8, align 8
  %1624 = extractvalue { ptr, i32 } %1622, 1
  store i32 %1624, ptr %9, align 4
  br label %1629

1625:                                             ; preds = %1585, %1583
  %1626 = landingpad { ptr, i32 }
          cleanup
  %1627 = extractvalue { ptr, i32 } %1626, 0
  store ptr %1627, ptr %8, align 8
  %1628 = extractvalue { ptr, i32 } %1626, 1
  store i32 %1628, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1629

1629:                                             ; preds = %1625, %1621
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #6
  br label %2093

1630:                                             ; preds = %1596
  %1631 = landingpad { ptr, i32 }
          cleanup
  %1632 = extractvalue { ptr, i32 } %1631, 0
  store ptr %1632, ptr %8, align 8
  %1633 = extractvalue { ptr, i32 } %1631, 1
  store i32 %1633, ptr %9, align 4
  br label %1663

1634:                                             ; preds = %1597
  %1635 = landingpad { ptr, i32 }
          cleanup
  %1636 = extractvalue { ptr, i32 } %1635, 0
  store ptr %1636, ptr %8, align 8
  %1637 = extractvalue { ptr, i32 } %1635, 1
  store i32 %1637, ptr %9, align 4
  br label %1662

1638:                                             ; preds = %1598
  %1639 = landingpad { ptr, i32 }
          cleanup
  %1640 = extractvalue { ptr, i32 } %1639, 0
  store ptr %1640, ptr %8, align 8
  %1641 = extractvalue { ptr, i32 } %1639, 1
  store i32 %1641, ptr %9, align 4
  br label %1661

1642:                                             ; preds = %1602, %1600
  %1643 = landingpad { ptr, i32 }
          cleanup
  %1644 = extractvalue { ptr, i32 } %1643, 0
  store ptr %1644, ptr %8, align 8
  %1645 = extractvalue { ptr, i32 } %1643, 1
  store i32 %1645, ptr %9, align 4
  br label %1660

1646:                                             ; preds = %1603
  %1647 = landingpad { ptr, i32 }
          cleanup
  %1648 = extractvalue { ptr, i32 } %1647, 0
  store ptr %1648, ptr %8, align 8
  %1649 = extractvalue { ptr, i32 } %1647, 1
  store i32 %1649, ptr %9, align 4
  br label %1659

1650:                                             ; preds = %1604
  %1651 = landingpad { ptr, i32 }
          cleanup
  %1652 = extractvalue { ptr, i32 } %1651, 0
  store ptr %1652, ptr %8, align 8
  %1653 = extractvalue { ptr, i32 } %1651, 1
  store i32 %1653, ptr %9, align 4
  br label %1658

1654:                                             ; preds = %1605
  %1655 = landingpad { ptr, i32 }
          cleanup
  %1656 = extractvalue { ptr, i32 } %1655, 0
  store ptr %1656, ptr %8, align 8
  %1657 = extractvalue { ptr, i32 } %1655, 1
  store i32 %1657, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1658

1658:                                             ; preds = %1654, %1650
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br label %1659

1659:                                             ; preds = %1658, %1646
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  br label %1660

1660:                                             ; preds = %1659, %1642
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  br label %1661

1661:                                             ; preds = %1660, %1638
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1662

1662:                                             ; preds = %1661, %1634
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1663

1663:                                             ; preds = %1662, %1630
  call void @llvm.lifetime.end.p0(i64 32, ptr %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #6
  br label %2093

1664:                                             ; preds = %1607
  %1665 = landingpad { ptr, i32 }
          cleanup
  %1666 = extractvalue { ptr, i32 } %1665, 0
  store ptr %1666, ptr %8, align 8
  %1667 = extractvalue { ptr, i32 } %1665, 1
  store i32 %1667, ptr %9, align 4
  br label %1707

1668:                                             ; preds = %1608
  %1669 = landingpad { ptr, i32 }
          cleanup
  %1670 = extractvalue { ptr, i32 } %1669, 0
  store ptr %1670, ptr %8, align 8
  %1671 = extractvalue { ptr, i32 } %1669, 1
  store i32 %1671, ptr %9, align 4
  br label %1706

1672:                                             ; preds = %1609
  %1673 = landingpad { ptr, i32 }
          cleanup
  %1674 = extractvalue { ptr, i32 } %1673, 0
  store ptr %1674, ptr %8, align 8
  %1675 = extractvalue { ptr, i32 } %1673, 1
  store i32 %1675, ptr %9, align 4
  br label %1705

1676:                                             ; preds = %1613, %1611
  %1677 = landingpad { ptr, i32 }
          cleanup
  %1678 = extractvalue { ptr, i32 } %1677, 0
  store ptr %1678, ptr %8, align 8
  %1679 = extractvalue { ptr, i32 } %1677, 1
  store i32 %1679, ptr %9, align 4
  br label %1704

1680:                                             ; preds = %1614
  %1681 = landingpad { ptr, i32 }
          cleanup
  %1682 = extractvalue { ptr, i32 } %1681, 0
  store ptr %1682, ptr %8, align 8
  %1683 = extractvalue { ptr, i32 } %1681, 1
  store i32 %1683, ptr %9, align 4
  br label %1703

1684:                                             ; preds = %1615
  %1685 = landingpad { ptr, i32 }
          cleanup
  %1686 = extractvalue { ptr, i32 } %1685, 0
  store ptr %1686, ptr %8, align 8
  %1687 = extractvalue { ptr, i32 } %1685, 1
  store i32 %1687, ptr %9, align 4
  br label %1702

1688:                                             ; preds = %1616
  %1689 = landingpad { ptr, i32 }
          cleanup
  %1690 = extractvalue { ptr, i32 } %1689, 0
  store ptr %1690, ptr %8, align 8
  %1691 = extractvalue { ptr, i32 } %1689, 1
  store i32 %1691, ptr %9, align 4
  br label %1701

1692:                                             ; preds = %1617
  %1693 = landingpad { ptr, i32 }
          cleanup
  %1694 = extractvalue { ptr, i32 } %1693, 0
  store ptr %1694, ptr %8, align 8
  %1695 = extractvalue { ptr, i32 } %1693, 1
  store i32 %1695, ptr %9, align 4
  br label %1700

1696:                                             ; preds = %1618
  %1697 = landingpad { ptr, i32 }
          cleanup
  %1698 = extractvalue { ptr, i32 } %1697, 0
  store ptr %1698, ptr %8, align 8
  %1699 = extractvalue { ptr, i32 } %1697, 1
  store i32 %1699, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1700

1700:                                             ; preds = %1696, %1692
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1701

1701:                                             ; preds = %1700, %1688
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  br label %1702

1702:                                             ; preds = %1701, %1684
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1703

1703:                                             ; preds = %1702, %1680
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #6
  br label %1704

1704:                                             ; preds = %1703, %1676
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1705

1705:                                             ; preds = %1704, %1672
  call void @llvm.lifetime.end.p0(i64 32, ptr %165) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  br label %1706

1706:                                             ; preds = %1705, %1668
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1707

1707:                                             ; preds = %1706, %1664
  call void @llvm.lifetime.end.p0(i64 32, ptr %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #6
  br label %2093

1708:                                             ; preds = %1593, %1587
  call void @llvm.lifetime.start.p0(i64 32, ptr %166) #6
  %1709 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %167) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %167, ptr noundef nonnull align 8 dereferenceable(44) %139)
          to label %1710 unwind label %1715

1710:                                             ; preds = %1708
  %1711 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1709, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1712 unwind label %1719

1712:                                             ; preds = %1710
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %166, ptr noundef nonnull align 8 dereferenceable(88) %1711)
          to label %1713 unwind label %1719

1713:                                             ; preds = %1712
  %1714 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #6
  br label %1724

1715:                                             ; preds = %1708
  %1716 = landingpad { ptr, i32 }
          cleanup
  %1717 = extractvalue { ptr, i32 } %1716, 0
  store ptr %1717, ptr %8, align 8
  %1718 = extractvalue { ptr, i32 } %1716, 1
  store i32 %1718, ptr %9, align 4
  br label %1723

1719:                                             ; preds = %1712, %1710
  %1720 = landingpad { ptr, i32 }
          cleanup
  %1721 = extractvalue { ptr, i32 } %1720, 0
  store ptr %1721, ptr %8, align 8
  %1722 = extractvalue { ptr, i32 } %1720, 1
  store i32 %1722, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  br label %1723

1723:                                             ; preds = %1719, %1715
  call void @llvm.lifetime.end.p0(i64 32, ptr %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #6
  br label %2093

1724:                                             ; preds = %1713, %1620
  br label %1741

1725:                                             ; preds = %1579
  store i1 true, ptr %170, align 1
  %1726 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %168) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %169) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %169) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %168, ptr noundef @.str.54, ptr noundef nonnull align 1 dereferenceable(1) %169)
          to label %1727 unwind label %1729

1727:                                             ; preds = %1725
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %1726, ptr noundef nonnull align 8 dereferenceable(32) %168, ptr noundef nonnull align 8 dereferenceable(44) %139)
          to label %1728 unwind label %1733

1728:                                             ; preds = %1727
  store i1 false, ptr %170, align 1
  invoke void @__cxa_throw(ptr %1726, ptr @_ZTI14TokenException, ptr @_ZN14TokenExceptionD2Ev) #7
          to label %2122 unwind label %1733

1729:                                             ; preds = %1725
  %1730 = landingpad { ptr, i32 }
          cleanup
  %1731 = extractvalue { ptr, i32 } %1730, 0
  store ptr %1731, ptr %8, align 8
  %1732 = extractvalue { ptr, i32 } %1730, 1
  store i32 %1732, ptr %9, align 4
  br label %1737

1733:                                             ; preds = %1728, %1727
  %1734 = landingpad { ptr, i32 }
          cleanup
  %1735 = extractvalue { ptr, i32 } %1734, 0
  store ptr %1735, ptr %8, align 8
  %1736 = extractvalue { ptr, i32 } %1734, 1
  store i32 %1736, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  br label %1737

1737:                                             ; preds = %1733, %1729
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %169) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %168) #6
  %1738 = load i1, ptr %170, align 1
  br i1 %1738, label %1739, label %1740

1739:                                             ; preds = %1737
  call void @__cxa_free_exception(ptr %1726) #6
  br label %1740

1740:                                             ; preds = %1739, %1737
  br label %2093

1741:                                             ; preds = %1724
  %1742 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1743 unwind label %1536

1743:                                             ; preds = %1741
  %1744 = icmp eq i32 %1742, 4
  br i1 %1744, label %1745, label %1835

1745:                                             ; preds = %1743
  %1746 = load i32, ptr %145, align 4, !tbaa !11
  %1747 = icmp eq i32 %1746, 3
  br i1 %1747, label %1748, label %1818

1748:                                             ; preds = %1745
  %1749 = load i32, ptr %143, align 4, !tbaa !11
  %1750 = invoke noundef zeroext i1 @_ZNK8Operator17hasCodeForExactlyE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136) %137, i32 noundef %1749, i32 noundef 3)
          to label %1751 unwind label %1536

1751:                                             ; preds = %1748
  br i1 %1750, label %1818, label %1752

1752:                                             ; preds = %1751
  %1753 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14rho_temp_chainB5cxx11)
          to label %1754 unwind label %1536

1754:                                             ; preds = %1752
  call void @llvm.lifetime.start.p0(i64 32, ptr %171) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %172) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %173) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %174, ptr noundef @.str.55, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1755 unwind label %1770

1755:                                             ; preds = %1754
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %173, ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef @.str.16)
          to label %1756 unwind label %1774

1756:                                             ; preds = %1755
  call void @llvm.lifetime.start.p0(i64 32, ptr %175) #6
  %1757 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %176) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %176, ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1758 unwind label %1778

1758:                                             ; preds = %1756
  %1759 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1757, ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %1760 unwind label %1782

1760:                                             ; preds = %1758
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %175, ptr noundef nonnull align 8 dereferenceable(88) %1759)
          to label %1761 unwind label %1782

1761:                                             ; preds = %1760
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %172, ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %1762 unwind label %1786

1762:                                             ; preds = %1761
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %171, ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef @.str.51)
          to label %1763 unwind label %1790

1763:                                             ; preds = %1762
  %1764 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %171)
          to label %1765 unwind label %1794

1765:                                             ; preds = %1763
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %173) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %171) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %177) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %178) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %178, ptr noundef @.str.56, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1766 unwind label %1804

1766:                                             ; preds = %1765
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %177, ptr noundef nonnull align 8 dereferenceable(32) %178, ptr noundef @.str.51)
          to label %1767 unwind label %1808

1767:                                             ; preds = %1766
  %1768 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(32) %177)
          to label %1769 unwind label %1812

1769:                                             ; preds = %1767
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %178) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %177) #6
  br label %1834

1770:                                             ; preds = %1754
  %1771 = landingpad { ptr, i32 }
          cleanup
  %1772 = extractvalue { ptr, i32 } %1771, 0
  store ptr %1772, ptr %8, align 8
  %1773 = extractvalue { ptr, i32 } %1771, 1
  store i32 %1773, ptr %9, align 4
  br label %1803

1774:                                             ; preds = %1755
  %1775 = landingpad { ptr, i32 }
          cleanup
  %1776 = extractvalue { ptr, i32 } %1775, 0
  store ptr %1776, ptr %8, align 8
  %1777 = extractvalue { ptr, i32 } %1775, 1
  store i32 %1777, ptr %9, align 4
  br label %1802

1778:                                             ; preds = %1756
  %1779 = landingpad { ptr, i32 }
          cleanup
  %1780 = extractvalue { ptr, i32 } %1779, 0
  store ptr %1780, ptr %8, align 8
  %1781 = extractvalue { ptr, i32 } %1779, 1
  store i32 %1781, ptr %9, align 4
  br label %1801

1782:                                             ; preds = %1760, %1758
  %1783 = landingpad { ptr, i32 }
          cleanup
  %1784 = extractvalue { ptr, i32 } %1783, 0
  store ptr %1784, ptr %8, align 8
  %1785 = extractvalue { ptr, i32 } %1783, 1
  store i32 %1785, ptr %9, align 4
  br label %1800

1786:                                             ; preds = %1761
  %1787 = landingpad { ptr, i32 }
          cleanup
  %1788 = extractvalue { ptr, i32 } %1787, 0
  store ptr %1788, ptr %8, align 8
  %1789 = extractvalue { ptr, i32 } %1787, 1
  store i32 %1789, ptr %9, align 4
  br label %1799

1790:                                             ; preds = %1762
  %1791 = landingpad { ptr, i32 }
          cleanup
  %1792 = extractvalue { ptr, i32 } %1791, 0
  store ptr %1792, ptr %8, align 8
  %1793 = extractvalue { ptr, i32 } %1791, 1
  store i32 %1793, ptr %9, align 4
  br label %1798

1794:                                             ; preds = %1763
  %1795 = landingpad { ptr, i32 }
          cleanup
  %1796 = extractvalue { ptr, i32 } %1795, 0
  store ptr %1796, ptr %8, align 8
  %1797 = extractvalue { ptr, i32 } %1795, 1
  store i32 %1797, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  br label %1798

1798:                                             ; preds = %1794, %1790
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1799

1799:                                             ; preds = %1798, %1786
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %1800

1800:                                             ; preds = %1799, %1782
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #6
  br label %1801

1801:                                             ; preds = %1800, %1778
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1802

1802:                                             ; preds = %1801, %1774
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  br label %1803

1803:                                             ; preds = %1802, %1770
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %173) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %171) #6
  br label %2093

1804:                                             ; preds = %1765
  %1805 = landingpad { ptr, i32 }
          cleanup
  %1806 = extractvalue { ptr, i32 } %1805, 0
  store ptr %1806, ptr %8, align 8
  %1807 = extractvalue { ptr, i32 } %1805, 1
  store i32 %1807, ptr %9, align 4
  br label %1817

1808:                                             ; preds = %1766
  %1809 = landingpad { ptr, i32 }
          cleanup
  %1810 = extractvalue { ptr, i32 } %1809, 0
  store ptr %1810, ptr %8, align 8
  %1811 = extractvalue { ptr, i32 } %1809, 1
  store i32 %1811, ptr %9, align 4
  br label %1816

1812:                                             ; preds = %1767
  %1813 = landingpad { ptr, i32 }
          cleanup
  %1814 = extractvalue { ptr, i32 } %1813, 0
  store ptr %1814, ptr %8, align 8
  %1815 = extractvalue { ptr, i32 } %1813, 1
  store i32 %1815, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  br label %1816

1816:                                             ; preds = %1812, %1808
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  br label %1817

1817:                                             ; preds = %1816, %1804
  call void @llvm.lifetime.end.p0(i64 32, ptr %178) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %177) #6
  br label %2093

1818:                                             ; preds = %1751, %1745
  call void @llvm.lifetime.start.p0(i64 32, ptr %179) #6
  %1819 = getelementptr inbounds %class.Transpiler, ptr %219, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %180) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %180, ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1820 unwind label %1825

1820:                                             ; preds = %1818
  %1821 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1819, ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %1822 unwind label %1829

1822:                                             ; preds = %1820
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %179, ptr noundef nonnull align 8 dereferenceable(88) %1821)
          to label %1823 unwind label %1829

1823:                                             ; preds = %1822
  %1824 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %179) #6
  br label %1834

1825:                                             ; preds = %1818
  %1826 = landingpad { ptr, i32 }
          cleanup
  %1827 = extractvalue { ptr, i32 } %1826, 0
  store ptr %1827, ptr %8, align 8
  %1828 = extractvalue { ptr, i32 } %1826, 1
  store i32 %1828, ptr %9, align 4
  br label %1833

1829:                                             ; preds = %1822, %1820
  %1830 = landingpad { ptr, i32 }
          cleanup
  %1831 = extractvalue { ptr, i32 } %1830, 0
  store ptr %1831, ptr %8, align 8
  %1832 = extractvalue { ptr, i32 } %1830, 1
  store i32 %1832, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %1833

1833:                                             ; preds = %1829, %1825
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %179) #6
  br label %2093

1834:                                             ; preds = %1823, %1769
  br label %1977

1835:                                             ; preds = %1743
  %1836 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1837 unwind label %1536

1837:                                             ; preds = %1835
  %1838 = icmp eq i32 %1836, 2
  br i1 %1838, label %1839, label %1892

1839:                                             ; preds = %1837
  call void @llvm.lifetime.start.p0(i64 16, ptr %181) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %182) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %182, ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1840 unwind label %1853

1840:                                             ; preds = %1839
  invoke void @_ZN14FractionParser16stringToFractionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.Fraction) align 8 %181, ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %1841 unwind label %1857

1841:                                             ; preds = %1840
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %183) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %184) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %185) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %186) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %187) #6
  %1842 = invoke noundef i64 @_ZNK8Fraction6getTopEv(ptr noundef nonnull align 8 dereferenceable(16) %181)
          to label %1843 unwind label %1862

1843:                                             ; preds = %1841
  invoke void @_ZNSt7__cxx119to_stringEl(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %187, i64 noundef %1842)
          to label %1844 unwind label %1862

1844:                                             ; preds = %1843
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %186, ptr noundef @.str.57, ptr noundef nonnull align 8 dereferenceable(32) %187)
          to label %1845 unwind label %1866

1845:                                             ; preds = %1844
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %185, ptr noundef nonnull align 8 dereferenceable(32) %186, ptr noundef @.str.16)
          to label %1846 unwind label %1870

1846:                                             ; preds = %1845
  call void @llvm.lifetime.start.p0(i64 32, ptr %188) #6
  %1847 = invoke noundef i64 @_ZNK8Fraction9getBottomEv(ptr noundef nonnull align 8 dereferenceable(16) %181)
          to label %1848 unwind label %1874

1848:                                             ; preds = %1846
  invoke void @_ZNSt7__cxx119to_stringEl(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %188, i64 noundef %1847)
          to label %1849 unwind label %1874

1849:                                             ; preds = %1848
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %184, ptr noundef nonnull align 8 dereferenceable(32) %185, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %1850 unwind label %1878

1850:                                             ; preds = %1849
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %183, ptr noundef nonnull align 8 dereferenceable(32) %184, ptr noundef @.str.58)
          to label %1851 unwind label %1882

1851:                                             ; preds = %1850
  %1852 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %184) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %187) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %184) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %181) #6
  br label %1976

1853:                                             ; preds = %1839
  %1854 = landingpad { ptr, i32 }
          cleanup
  %1855 = extractvalue { ptr, i32 } %1854, 0
  store ptr %1855, ptr %8, align 8
  %1856 = extractvalue { ptr, i32 } %1854, 1
  store i32 %1856, ptr %9, align 4
  br label %1861

1857:                                             ; preds = %1840
  %1858 = landingpad { ptr, i32 }
          cleanup
  %1859 = extractvalue { ptr, i32 } %1858, 0
  store ptr %1859, ptr %8, align 8
  %1860 = extractvalue { ptr, i32 } %1858, 1
  store i32 %1860, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  br label %1861

1861:                                             ; preds = %1857, %1853
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #6
  br label %1891

1862:                                             ; preds = %1843, %1841
  %1863 = landingpad { ptr, i32 }
          cleanup
  %1864 = extractvalue { ptr, i32 } %1863, 0
  store ptr %1864, ptr %8, align 8
  %1865 = extractvalue { ptr, i32 } %1863, 1
  store i32 %1865, ptr %9, align 4
  br label %1890

1866:                                             ; preds = %1844
  %1867 = landingpad { ptr, i32 }
          cleanup
  %1868 = extractvalue { ptr, i32 } %1867, 0
  store ptr %1868, ptr %8, align 8
  %1869 = extractvalue { ptr, i32 } %1867, 1
  store i32 %1869, ptr %9, align 4
  br label %1889

1870:                                             ; preds = %1845
  %1871 = landingpad { ptr, i32 }
          cleanup
  %1872 = extractvalue { ptr, i32 } %1871, 0
  store ptr %1872, ptr %8, align 8
  %1873 = extractvalue { ptr, i32 } %1871, 1
  store i32 %1873, ptr %9, align 4
  br label %1888

1874:                                             ; preds = %1848, %1846
  %1875 = landingpad { ptr, i32 }
          cleanup
  %1876 = extractvalue { ptr, i32 } %1875, 0
  store ptr %1876, ptr %8, align 8
  %1877 = extractvalue { ptr, i32 } %1875, 1
  store i32 %1877, ptr %9, align 4
  br label %1887

1878:                                             ; preds = %1849
  %1879 = landingpad { ptr, i32 }
          cleanup
  %1880 = extractvalue { ptr, i32 } %1879, 0
  store ptr %1880, ptr %8, align 8
  %1881 = extractvalue { ptr, i32 } %1879, 1
  store i32 %1881, ptr %9, align 4
  br label %1886

1882:                                             ; preds = %1850
  %1883 = landingpad { ptr, i32 }
          cleanup
  %1884 = extractvalue { ptr, i32 } %1883, 0
  store ptr %1884, ptr %8, align 8
  %1885 = extractvalue { ptr, i32 } %1883, 1
  store i32 %1885, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %184) #6
  br label %1886

1886:                                             ; preds = %1882, %1878
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  br label %1887

1887:                                             ; preds = %1886, %1874
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #6
  br label %1888

1888:                                             ; preds = %1887, %1870
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #6
  br label %1889

1889:                                             ; preds = %1888, %1866
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %1890

1890:                                             ; preds = %1889, %1862
  call void @llvm.lifetime.end.p0(i64 32, ptr %187) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %184) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #6
  br label %1891

1891:                                             ; preds = %1890, %1861
  call void @llvm.lifetime.end.p0(i64 16, ptr %181) #6
  br label %2093

1892:                                             ; preds = %1837
  %1893 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1894 unwind label %1536

1894:                                             ; preds = %1892
  %1895 = icmp eq i32 %1893, 3
  br i1 %1895, label %1896, label %1959

1896:                                             ; preds = %1894
  %1897 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14rho_temp_chainB5cxx11)
          to label %1898 unwind label %1536

1898:                                             ; preds = %1896
  call void @llvm.lifetime.start.p0(i64 32, ptr %189) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %190) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %192) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %192, ptr noundef @.str.59, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1899 unwind label %1911

1899:                                             ; preds = %1898
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %191, ptr noundef nonnull align 8 dereferenceable(32) %192, ptr noundef @.str.16)
          to label %1900 unwind label %1915

1900:                                             ; preds = %1899
  call void @llvm.lifetime.start.p0(i64 32, ptr %193) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %194) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %194, ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1901 unwind label %1919

1901:                                             ; preds = %1900
  invoke void @_ZN9QuoteUtil7requoteERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %193, ptr noundef nonnull align 8 dereferenceable(32) %194)
          to label %1902 unwind label %1923

1902:                                             ; preds = %1901
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %190, ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef nonnull align 8 dereferenceable(32) %193)
          to label %1903 unwind label %1927

1903:                                             ; preds = %1902
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %189, ptr noundef nonnull align 8 dereferenceable(32) %190, ptr noundef @.str.51)
          to label %1904 unwind label %1931

1904:                                             ; preds = %1903
  %1905 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %189)
          to label %1906 unwind label %1935

1906:                                             ; preds = %1904
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %194) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %192) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %195) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %196) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %196, ptr noundef @.str.60, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1907 unwind label %1945

1907:                                             ; preds = %1906
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %195, ptr noundef nonnull align 8 dereferenceable(32) %196, ptr noundef @.str.51)
          to label %1908 unwind label %1949

1908:                                             ; preds = %1907
  %1909 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %1910 unwind label %1953

1910:                                             ; preds = %1908
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %196) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %196) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #6
  br label %1975

1911:                                             ; preds = %1898
  %1912 = landingpad { ptr, i32 }
          cleanup
  %1913 = extractvalue { ptr, i32 } %1912, 0
  store ptr %1913, ptr %8, align 8
  %1914 = extractvalue { ptr, i32 } %1912, 1
  store i32 %1914, ptr %9, align 4
  br label %1944

1915:                                             ; preds = %1899
  %1916 = landingpad { ptr, i32 }
          cleanup
  %1917 = extractvalue { ptr, i32 } %1916, 0
  store ptr %1917, ptr %8, align 8
  %1918 = extractvalue { ptr, i32 } %1916, 1
  store i32 %1918, ptr %9, align 4
  br label %1943

1919:                                             ; preds = %1900
  %1920 = landingpad { ptr, i32 }
          cleanup
  %1921 = extractvalue { ptr, i32 } %1920, 0
  store ptr %1921, ptr %8, align 8
  %1922 = extractvalue { ptr, i32 } %1920, 1
  store i32 %1922, ptr %9, align 4
  br label %1942

1923:                                             ; preds = %1901
  %1924 = landingpad { ptr, i32 }
          cleanup
  %1925 = extractvalue { ptr, i32 } %1924, 0
  store ptr %1925, ptr %8, align 8
  %1926 = extractvalue { ptr, i32 } %1924, 1
  store i32 %1926, ptr %9, align 4
  br label %1941

1927:                                             ; preds = %1902
  %1928 = landingpad { ptr, i32 }
          cleanup
  %1929 = extractvalue { ptr, i32 } %1928, 0
  store ptr %1929, ptr %8, align 8
  %1930 = extractvalue { ptr, i32 } %1928, 1
  store i32 %1930, ptr %9, align 4
  br label %1940

1931:                                             ; preds = %1903
  %1932 = landingpad { ptr, i32 }
          cleanup
  %1933 = extractvalue { ptr, i32 } %1932, 0
  store ptr %1933, ptr %8, align 8
  %1934 = extractvalue { ptr, i32 } %1932, 1
  store i32 %1934, ptr %9, align 4
  br label %1939

1935:                                             ; preds = %1904
  %1936 = landingpad { ptr, i32 }
          cleanup
  %1937 = extractvalue { ptr, i32 } %1936, 0
  store ptr %1937, ptr %8, align 8
  %1938 = extractvalue { ptr, i32 } %1936, 1
  store i32 %1938, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  br label %1939

1939:                                             ; preds = %1935, %1931
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #6
  br label %1940

1940:                                             ; preds = %1939, %1927
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %1941

1941:                                             ; preds = %1940, %1923
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  br label %1942

1942:                                             ; preds = %1941, %1919
  call void @llvm.lifetime.end.p0(i64 32, ptr %194) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  br label %1943

1943:                                             ; preds = %1942, %1915
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #6
  br label %1944

1944:                                             ; preds = %1943, %1911
  call void @llvm.lifetime.end.p0(i64 32, ptr %192) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #6
  br label %2093

1945:                                             ; preds = %1906
  %1946 = landingpad { ptr, i32 }
          cleanup
  %1947 = extractvalue { ptr, i32 } %1946, 0
  store ptr %1947, ptr %8, align 8
  %1948 = extractvalue { ptr, i32 } %1946, 1
  store i32 %1948, ptr %9, align 4
  br label %1958

1949:                                             ; preds = %1907
  %1950 = landingpad { ptr, i32 }
          cleanup
  %1951 = extractvalue { ptr, i32 } %1950, 0
  store ptr %1951, ptr %8, align 8
  %1952 = extractvalue { ptr, i32 } %1950, 1
  store i32 %1952, ptr %9, align 4
  br label %1957

1953:                                             ; preds = %1908
  %1954 = landingpad { ptr, i32 }
          cleanup
  %1955 = extractvalue { ptr, i32 } %1954, 0
  store ptr %1955, ptr %8, align 8
  %1956 = extractvalue { ptr, i32 } %1954, 1
  store i32 %1956, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  br label %1957

1957:                                             ; preds = %1953, %1949
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %196) #6
  br label %1958

1958:                                             ; preds = %1957, %1945
  call void @llvm.lifetime.end.p0(i64 32, ptr %196) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #6
  br label %2093

1959:                                             ; preds = %1894
  store i1 true, ptr %199, align 1
  %1960 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %197) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %198) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %198) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %197, ptr noundef @.str.54, ptr noundef nonnull align 1 dereferenceable(1) %198)
          to label %1961 unwind label %1963

1961:                                             ; preds = %1959
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %1960, ptr noundef nonnull align 8 dereferenceable(32) %197, ptr noundef nonnull align 8 dereferenceable(44) %140)
          to label %1962 unwind label %1967

1962:                                             ; preds = %1961
  store i1 false, ptr %199, align 1
  invoke void @__cxa_throw(ptr %1960, ptr @_ZTI14TokenException, ptr @_ZN14TokenExceptionD2Ev) #7
          to label %2122 unwind label %1967

1963:                                             ; preds = %1959
  %1964 = landingpad { ptr, i32 }
          cleanup
  %1965 = extractvalue { ptr, i32 } %1964, 0
  store ptr %1965, ptr %8, align 8
  %1966 = extractvalue { ptr, i32 } %1964, 1
  store i32 %1966, ptr %9, align 4
  br label %1971

1967:                                             ; preds = %1962, %1961
  %1968 = landingpad { ptr, i32 }
          cleanup
  %1969 = extractvalue { ptr, i32 } %1968, 0
  store ptr %1969, ptr %8, align 8
  %1970 = extractvalue { ptr, i32 } %1968, 1
  store i32 %1970, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %197) #6
  br label %1971

1971:                                             ; preds = %1967, %1963
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %198) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %198) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %197) #6
  %1972 = load i1, ptr %199, align 1
  br i1 %1972, label %1973, label %1974

1973:                                             ; preds = %1971
  call void @__cxa_free_exception(ptr %1960) #6
  br label %1974

1974:                                             ; preds = %1973, %1971
  br label %2093

1975:                                             ; preds = %1910
  br label %1976

1976:                                             ; preds = %1975, %1851
  br label %1977

1977:                                             ; preds = %1976, %1834
  %1978 = load i32, ptr %143, align 4, !tbaa !11
  %1979 = load i32, ptr %145, align 4, !tbaa !11
  %1980 = invoke noundef zeroext i1 @_ZNK8Operator10hasCodeForE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136) %137, i32 noundef %1978, i32 noundef %1979)
          to label %1981 unwind label %1536

1981:                                             ; preds = %1977
  br i1 %1980, label %2031, label %1982

1982:                                             ; preds = %1981
  store i1 true, ptr %206, align 1
  %1983 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %200) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %201) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %202) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %203) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %204) #6
  %1984 = load i32, ptr %143, align 4, !tbaa !11
  invoke void @_Z16stringifyFetTypeB5cxx117FetType(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %204, i32 noundef %1984)
          to label %1985 unwind label %1994

1985:                                             ; preds = %1982
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %203, ptr noundef @.str.61, ptr noundef nonnull align 8 dereferenceable(32) %204)
          to label %1986 unwind label %1998

1986:                                             ; preds = %1985
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %202, ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef @.str.62)
          to label %1987 unwind label %2002

1987:                                             ; preds = %1986
  call void @llvm.lifetime.start.p0(i64 32, ptr %205) #6
  %1988 = load i32, ptr %145, align 4, !tbaa !11
  invoke void @_Z16stringifyFetTypeB5cxx117FetType(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %205, i32 noundef %1988)
          to label %1989 unwind label %2006

1989:                                             ; preds = %1987
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %201, ptr noundef nonnull align 8 dereferenceable(32) %202, ptr noundef nonnull align 8 dereferenceable(32) %205)
          to label %1990 unwind label %2010

1990:                                             ; preds = %1989
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %200, ptr noundef nonnull align 8 dereferenceable(32) %201, ptr noundef @.str.58)
          to label %1991 unwind label %2014

1991:                                             ; preds = %1990
  %1992 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %1983, ptr noundef nonnull align 8 dereferenceable(32) %200, ptr noundef nonnull align 8 dereferenceable(80) %1992)
          to label %1993 unwind label %2018

1993:                                             ; preds = %1991
  store i1 false, ptr %206, align 1
  invoke void @__cxa_throw(ptr %1983, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %2018

1994:                                             ; preds = %1982
  %1995 = landingpad { ptr, i32 }
          cleanup
  %1996 = extractvalue { ptr, i32 } %1995, 0
  store ptr %1996, ptr %8, align 8
  %1997 = extractvalue { ptr, i32 } %1995, 1
  store i32 %1997, ptr %9, align 4
  br label %2027

1998:                                             ; preds = %1985
  %1999 = landingpad { ptr, i32 }
          cleanup
  %2000 = extractvalue { ptr, i32 } %1999, 0
  store ptr %2000, ptr %8, align 8
  %2001 = extractvalue { ptr, i32 } %1999, 1
  store i32 %2001, ptr %9, align 4
  br label %2026

2002:                                             ; preds = %1986
  %2003 = landingpad { ptr, i32 }
          cleanup
  %2004 = extractvalue { ptr, i32 } %2003, 0
  store ptr %2004, ptr %8, align 8
  %2005 = extractvalue { ptr, i32 } %2003, 1
  store i32 %2005, ptr %9, align 4
  br label %2025

2006:                                             ; preds = %1987
  %2007 = landingpad { ptr, i32 }
          cleanup
  %2008 = extractvalue { ptr, i32 } %2007, 0
  store ptr %2008, ptr %8, align 8
  %2009 = extractvalue { ptr, i32 } %2007, 1
  store i32 %2009, ptr %9, align 4
  br label %2024

2010:                                             ; preds = %1989
  %2011 = landingpad { ptr, i32 }
          cleanup
  %2012 = extractvalue { ptr, i32 } %2011, 0
  store ptr %2012, ptr %8, align 8
  %2013 = extractvalue { ptr, i32 } %2011, 1
  store i32 %2013, ptr %9, align 4
  br label %2023

2014:                                             ; preds = %1990
  %2015 = landingpad { ptr, i32 }
          cleanup
  %2016 = extractvalue { ptr, i32 } %2015, 0
  store ptr %2016, ptr %8, align 8
  %2017 = extractvalue { ptr, i32 } %2015, 1
  store i32 %2017, ptr %9, align 4
  br label %2022

2018:                                             ; preds = %1993, %1991
  %2019 = landingpad { ptr, i32 }
          cleanup
  %2020 = extractvalue { ptr, i32 } %2019, 0
  store ptr %2020, ptr %8, align 8
  %2021 = extractvalue { ptr, i32 } %2019, 1
  store i32 %2021, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #6
  br label %2022

2022:                                             ; preds = %2018, %2014
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  br label %2023

2023:                                             ; preds = %2022, %2010
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #6
  br label %2024

2024:                                             ; preds = %2023, %2006
  call void @llvm.lifetime.end.p0(i64 32, ptr %205) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %202) #6
  br label %2025

2025:                                             ; preds = %2024, %2002
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #6
  br label %2026

2026:                                             ; preds = %2025, %1998
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #6
  br label %2027

2027:                                             ; preds = %2026, %1994
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %203) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %201) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #6
  %2028 = load i1, ptr %206, align 1
  br i1 %2028, label %2029, label %2030

2029:                                             ; preds = %2027
  call void @__cxa_free_exception(ptr %1983) #6
  br label %2030

2030:                                             ; preds = %2029, %2027
  br label %2093

2031:                                             ; preds = %1981
  call void @llvm.lifetime.start.p0(i64 32, ptr %207) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %208) #6
  %2032 = load i32, ptr %143, align 4, !tbaa !11
  %2033 = load i32, ptr %145, align 4, !tbaa !11
  invoke void @_ZNK8Operator10getCodeForB5cxx11E7FetTypeS0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %208, ptr noundef nonnull align 8 dereferenceable(136) %137, i32 noundef %2032, i32 noundef %2033)
          to label %2034 unwind label %2045

2034:                                             ; preds = %2031
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %207, ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef @.str.63)
          to label %2035 unwind label %2049

2035:                                             ; preds = %2034
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %209) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %210) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef @.str.43, ptr noundef nonnull align 1 dereferenceable(1) %210)
          to label %2036 unwind label %2054

2036:                                             ; preds = %2035
  invoke void @_ZL11replaceTextRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S7_(ptr noundef nonnull align 8 dereferenceable(32) %207, ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef nonnull align 8 dereferenceable(32) %144)
          to label %2037 unwind label %2058

2037:                                             ; preds = %2036
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %211) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %212) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %211, ptr noundef @.str.44, ptr noundef nonnull align 1 dereferenceable(1) %212)
          to label %2038 unwind label %2063

2038:                                             ; preds = %2037
  invoke void @_ZL11replaceTextRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S7_(ptr noundef nonnull align 8 dereferenceable(32) %207, ptr noundef nonnull align 8 dereferenceable(32) %211, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %2039 unwind label %2067

2039:                                             ; preds = %2038
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %212) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %211) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %213) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %214) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %215) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %215, ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(32) %207)
          to label %2040 unwind label %2072

2040:                                             ; preds = %2039
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %214, ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef @.str.10)
          to label %2041 unwind label %2076

2041:                                             ; preds = %2040
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %213, ptr noundef nonnull align 8 dereferenceable(32) %214, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %2042 unwind label %2080

2042:                                             ; preds = %2041
  %2043 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %213)
          to label %2044 unwind label %2084

2044:                                             ; preds = %2042
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %215) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %214) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %213) #6
  store i32 2, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %207) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %140) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %140) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %139) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr %139) #6
  call void @_ZN8OperatorD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %137) #6
  call void @llvm.lifetime.end.p0(i64 136, ptr %137) #6
  br label %2114

2045:                                             ; preds = %2031
  %2046 = landingpad { ptr, i32 }
          cleanup
  %2047 = extractvalue { ptr, i32 } %2046, 0
  store ptr %2047, ptr %8, align 8
  %2048 = extractvalue { ptr, i32 } %2046, 1
  store i32 %2048, ptr %9, align 4
  br label %2053

2049:                                             ; preds = %2034
  %2050 = landingpad { ptr, i32 }
          cleanup
  %2051 = extractvalue { ptr, i32 } %2050, 0
  store ptr %2051, ptr %8, align 8
  %2052 = extractvalue { ptr, i32 } %2050, 1
  store i32 %2052, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %2053

2053:                                             ; preds = %2049, %2045
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #6
  br label %2092

2054:                                             ; preds = %2035
  %2055 = landingpad { ptr, i32 }
          cleanup
  %2056 = extractvalue { ptr, i32 } %2055, 0
  store ptr %2056, ptr %8, align 8
  %2057 = extractvalue { ptr, i32 } %2055, 1
  store i32 %2057, ptr %9, align 4
  br label %2062

2058:                                             ; preds = %2036
  %2059 = landingpad { ptr, i32 }
          cleanup
  %2060 = extractvalue { ptr, i32 } %2059, 0
  store ptr %2060, ptr %8, align 8
  %2061 = extractvalue { ptr, i32 } %2059, 1
  store i32 %2061, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #6
  br label %2062

2062:                                             ; preds = %2058, %2054
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #6
  br label %2091

2063:                                             ; preds = %2037
  %2064 = landingpad { ptr, i32 }
          cleanup
  %2065 = extractvalue { ptr, i32 } %2064, 0
  store ptr %2065, ptr %8, align 8
  %2066 = extractvalue { ptr, i32 } %2064, 1
  store i32 %2066, ptr %9, align 4
  br label %2071

2067:                                             ; preds = %2038
  %2068 = landingpad { ptr, i32 }
          cleanup
  %2069 = extractvalue { ptr, i32 } %2068, 0
  store ptr %2069, ptr %8, align 8
  %2070 = extractvalue { ptr, i32 } %2068, 1
  store i32 %2070, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #6
  br label %2071

2071:                                             ; preds = %2067, %2063
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %212) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %211) #6
  br label %2091

2072:                                             ; preds = %2039
  %2073 = landingpad { ptr, i32 }
          cleanup
  %2074 = extractvalue { ptr, i32 } %2073, 0
  store ptr %2074, ptr %8, align 8
  %2075 = extractvalue { ptr, i32 } %2073, 1
  store i32 %2075, ptr %9, align 4
  br label %2090

2076:                                             ; preds = %2040
  %2077 = landingpad { ptr, i32 }
          cleanup
  %2078 = extractvalue { ptr, i32 } %2077, 0
  store ptr %2078, ptr %8, align 8
  %2079 = extractvalue { ptr, i32 } %2077, 1
  store i32 %2079, ptr %9, align 4
  br label %2089

2080:                                             ; preds = %2041
  %2081 = landingpad { ptr, i32 }
          cleanup
  %2082 = extractvalue { ptr, i32 } %2081, 0
  store ptr %2082, ptr %8, align 8
  %2083 = extractvalue { ptr, i32 } %2081, 1
  store i32 %2083, ptr %9, align 4
  br label %2088

2084:                                             ; preds = %2042
  %2085 = landingpad { ptr, i32 }
          cleanup
  %2086 = extractvalue { ptr, i32 } %2085, 0
  store ptr %2086, ptr %8, align 8
  %2087 = extractvalue { ptr, i32 } %2085, 1
  store i32 %2087, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #6
  br label %2088

2088:                                             ; preds = %2084, %2080
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #6
  br label %2089

2089:                                             ; preds = %2088, %2076
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  br label %2090

2090:                                             ; preds = %2089, %2072
  call void @llvm.lifetime.end.p0(i64 32, ptr %215) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %214) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %213) #6
  br label %2091

2091:                                             ; preds = %2090, %2071, %2062
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #6
  br label %2092

2092:                                             ; preds = %2091, %2053
  call void @llvm.lifetime.end.p0(i64 32, ptr %207) #6
  br label %2093

2093:                                             ; preds = %2092, %2030, %1974, %1958, %1944, %1891, %1833, %1817, %1803, %1740, %1723, %1707, %1663, %1629, %1574, %1548, %1536
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %140) #6
  br label %2094

2094:                                             ; preds = %2093, %1532
  call void @llvm.lifetime.end.p0(i64 48, ptr %140) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %139) #6
  br label %2095

2095:                                             ; preds = %2094, %1528
  call void @llvm.lifetime.end.p0(i64 48, ptr %139) #6
  call void @_ZN8OperatorD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %137) #6
  br label %2096

2096:                                             ; preds = %2095, %1527
  call void @llvm.lifetime.end.p0(i64 136, ptr %137) #6
  br label %2116

2097:                                             ; preds = %276
  store i1 true, ptr %218, align 1
  %2098 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %216) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %217) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %217) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %217)
          to label %2099 unwind label %2102

2099:                                             ; preds = %2097
  %2100 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %2098, ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef nonnull align 8 dereferenceable(80) %2100)
          to label %2101 unwind label %2106

2101:                                             ; preds = %2099
  store i1 false, ptr %218, align 1
  invoke void @__cxa_throw(ptr %2098, ptr @_ZTI13NodeException, ptr @_ZN13NodeExceptionD2Ev) #7
          to label %2122 unwind label %2106

2102:                                             ; preds = %2097
  %2103 = landingpad { ptr, i32 }
          cleanup
  %2104 = extractvalue { ptr, i32 } %2103, 0
  store ptr %2104, ptr %8, align 8
  %2105 = extractvalue { ptr, i32 } %2103, 1
  store i32 %2105, ptr %9, align 4
  br label %2110

2106:                                             ; preds = %2101, %2099
  %2107 = landingpad { ptr, i32 }
          cleanup
  %2108 = extractvalue { ptr, i32 } %2107, 0
  store ptr %2108, ptr %8, align 8
  %2109 = extractvalue { ptr, i32 } %2107, 1
  store i32 %2109, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #6
  br label %2110

2110:                                             ; preds = %2106, %2102
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %217) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %217) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #6
  %2111 = load i1, ptr %218, align 1
  br i1 %2111, label %2112, label %2113

2112:                                             ; preds = %2110
  call void @__cxa_free_exception(ptr %2098) #6
  br label %2113

2113:                                             ; preds = %2112, %2110
  br label %2116

2114:                                             ; preds = %2044, %1447, %836
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  store i32 1, ptr %16, align 4
  br label %2115

2115:                                             ; preds = %2114, %288
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  ret void

2116:                                             ; preds = %2113, %2096, %1480, %1448, %1389, %1185, %1159, %1116, %1104, %1070, %1048, %1026, %1017, %887, %332, %298, %297, %267, %242
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  br label %2117

2117:                                             ; preds = %2116
  %2118 = load ptr, ptr %8, align 8
  %2119 = load i32, ptr %9, align 4
  %2120 = insertvalue { ptr, i32 } poison, ptr %2118, 0
  %2121 = insertvalue { ptr, i32 } %2120, i32 %2119, 1
  resume { ptr, i32 } %2121

2122:                                             ; preds = %2101, %1993, %1962, %1728, %1562, %1463, %1267, %1226, %1173, %1147, %1095, %733, %705, %410, %375, %323, %241
  unreachable
}

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

declare noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44)) #3

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(44)) #3

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

declare noundef i32 @_ZNK5Token20getKeyphraseCategoryEv(ptr noundef nonnull align 8 dereferenceable(44)) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #5

declare noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80)) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #5

declare noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80), i32 noundef) #3

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

declare noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(32)) #3

declare void @_ZNK8Variable10getRawCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(88)) #3

declare noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88)) #3

declare void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(88)) #3

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

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

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

declare void @_ZN9QuoteUtil7requoteERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #3

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z12decayFetType7FetType(i32 noundef) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #4

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

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

declare void @_ZNK14FetlangManager21getComparisonOperatorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.ComparisonOperator) align 8, ptr noundef nonnull align 8 dereferenceable(380), ptr noundef nonnull align 8 dereferenceable(32)) #3

declare void @_ZNK8Operator10getCodeForB5cxx11E7FetTypeS0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(136), i32 noundef, i32 noundef) #3

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #5

declare void @_ZNK14FetlangManager11getOperatorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.Operator) align 8, ptr noundef nonnull align 8 dereferenceable(380), ptr noundef nonnull align 8 dereferenceable(32)) #3

declare noundef zeroext i1 @_ZNK8Operator17hasCodeForExactlyE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136), i32 noundef, i32 noundef) #3

declare void @_ZN14FractionParser16stringToFractionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.Fraction) align 8, ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEl(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) #4

declare noundef i64 @_ZNK8Fraction6getTopEv(ptr noundef nonnull align 8 dereferenceable(16)) #3

declare noundef i64 @_ZNK8Fraction9getBottomEv(ptr noundef nonnull align 8 dereferenceable(16)) #3

declare noundef zeroext i1 @_ZNK8Operator10hasCodeForE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136), i32 noundef, i32 noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z16stringifyFetTypeB5cxx117FetType(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #4

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"vtable pointer", !8, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_ZTS7FetType", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"int", !7, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%class.Token = type <{ i32, [4 x i8], %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%class.ComparisonOperator = type { %class.Operator }
%class.Operator = type { ptr, %"class.std::__cxx11::basic_string", %"class.std::set", %"class.std::map.16" }
%"class.std::set" = type { %"class.std::_Rb_tree.12" }
%"class.std::_Rb_tree.12" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::_Identity<std::__cxx11::basic_string<char>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::_Identity<std::__cxx11::basic_string<char>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::map.16" = type { %"class.std::_Rb_tree.17" }
%"class.std::_Rb_tree.17" = type { %"struct.std::_Rb_tree<FetType, std::pair<const FetType, std::map<FetType, std::__cxx11::basic_string<char>>>, std::_Select1st<std::pair<const FetType, std::map<FetType, std::__cxx11::basic_string<char>>>>, std::less<FetType>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<FetType, std::pair<const FetType, std::map<FetType, std::__cxx11::basic_string<char>>>, std::_Select1st<std::pair<const FetType, std::map<FetType, std::__cxx11::basic_string<char>>>>, std::less<FetType>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%class.Fraction = type { i64, i64 }

@_ZL14lho_temp_chainB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZL14rho_temp_chainB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.4 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZTI13NodeException = external constant ptr
@.str.6 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [54 x i8], align 1
@_ZTI14TokenException = external constant ptr
@.str.22 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [68 x i8], align 1
@manager = external local_unnamed_addr constant ptr, align 8
@.str.41 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [72 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN10Transpiler15transpileBranchB5cxx11ERN10SyntaxTree4NodeE(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(176) %1, ptr noundef nonnull align 8 dereferenceable(80) %2) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca %class.Token, align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %class.Token, align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::allocator", align 1
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::allocator", align 1
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator", align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::allocator", align 1
  %83 = alloca %class.ComparisonOperator, align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %class.Token, align 8
  %86 = alloca %class.Token, align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::allocator", align 1
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::allocator", align 1
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::allocator", align 1
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::allocator", align 1
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %class.Operator, align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %class.Token, align 8
  %110 = alloca %class.Token, align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::allocator", align 1
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::__cxx11::basic_string", align 8
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca %"class.std::allocator", align 1
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %class.Fraction, align 8
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::__cxx11::basic_string", align 8
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::__cxx11::basic_string", align 8
  %153 = alloca %"class.std::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca %"class.std::__cxx11::basic_string", align 8
  %156 = alloca %"class.std::__cxx11::basic_string", align 8
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::__cxx11::basic_string", align 8
  %162 = alloca %"class.std::__cxx11::basic_string", align 8
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca %"class.std::allocator", align 1
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::__cxx11::basic_string", align 8
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca %"class.std::__cxx11::basic_string", align 8
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::allocator", align 1
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca %"class.std::allocator", align 1
  %177 = alloca %"class.std::__cxx11::basic_string", align 8
  %178 = alloca %"class.std::__cxx11::basic_string", align 8
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %"class.std::allocator", align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  %182 = load ptr, ptr %2, align 8, !tbaa !5
  %183 = getelementptr inbounds i8, ptr %182, i64 16
  %184 = load ptr, ptr %183, align 8
  %185 = invoke noundef nonnull align 8 dereferenceable(44) ptr %184(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %186 unwind label %200

186:                                              ; preds = %3
  %187 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %185)
          to label %188 unwind label %200

188:                                              ; preds = %186
  %.not = icmp eq i32 %187, 1
  br i1 %.not, label %210, label %189

189:                                              ; preds = %188
  %190 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #6
  %191 = load ptr, ptr %2, align 8, !tbaa !5
  %192 = getelementptr inbounds i8, ptr %191, i64 16
  %193 = load ptr, ptr %192, align 8
  %194 = invoke noundef nonnull align 8 dereferenceable(44) ptr %193(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %195 unwind label %.thread

195:                                              ; preds = %189
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(44) %194)
          to label %196 unwind label %.thread

196:                                              ; preds = %195
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull @.str.4, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %197 unwind label %.thread527

197:                                              ; preds = %196
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull @.str.5)
          to label %198 unwind label %204

198:                                              ; preds = %197
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %190, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %199 unwind label %206

199:                                              ; preds = %198
  invoke void @__cxa_throw(ptr nonnull %190, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %206

200:                                              ; preds = %.invoke, %916, %886, %737, %735, %722, %717, %715, %712, %707, %705, %691, %215, %210, %186, %3
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %1351

.thread:                                          ; preds = %189, %195
  %202 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  br label %209

.thread527:                                       ; preds = %196
  %203 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  br label %209

204:                                              ; preds = %197
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %208

206:                                              ; preds = %199, %198
  %.0269 = phi i1 [ false, %199 ], [ true, %198 ]
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  br label %208

208:                                              ; preds = %204, %206
  %.1270 = phi i1 [ %.0269, %206 ], [ true, %204 ]
  %.pn515 = phi { ptr, i32 } [ %207, %206 ], [ %205, %204 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  br i1 %.1270, label %209, label %1351

209:                                              ; preds = %.thread527, %.thread, %208
  %.pn515.pn.pn526 = phi { ptr, i32 } [ %202, %.thread ], [ %.pn515, %208 ], [ %203, %.thread527 ]
  call void @__cxa_free_exception(ptr %190) #6
  br label %1351

210:                                              ; preds = %188
  %211 = load ptr, ptr %2, align 8, !tbaa !5
  %212 = getelementptr inbounds i8, ptr %211, i64 16
  %213 = load ptr, ptr %212, align 8
  %214 = invoke noundef nonnull align 8 dereferenceable(44) ptr %213(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %215 unwind label %200

215:                                              ; preds = %210
  %216 = invoke noundef i32 @_ZNK5Token20getKeyphraseCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %214)
          to label %217 unwind label %200

217:                                              ; preds = %215
  switch i32 %216, label %1341 [
    i32 0, label %218
    i32 1, label %916
  ]

218:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #6
  %219 = load ptr, ptr %2, align 8, !tbaa !5
  %220 = getelementptr inbounds i8, ptr %219, i64 16
  %221 = load ptr, ptr %220, align 8
  %222 = invoke noundef nonnull align 8 dereferenceable(44) ptr %221(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %223 unwind label %228

223:                                              ; preds = %218
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(44) %222)
          to label %224 unwind label %228

224:                                              ; preds = %223
  %225 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.6)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  br i1 %225, label %226, label %232

226:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %227 unwind label %230

227:                                              ; preds = %226
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #6
  br label %1350

228:                                              ; preds = %223, %218
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  br label %1351

230:                                              ; preds = %226
  %231 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #6
  br label %1351

232:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #6
  %233 = load ptr, ptr %2, align 8, !tbaa !5
  %234 = getelementptr inbounds i8, ptr %233, i64 16
  %235 = load ptr, ptr %234, align 8
  %236 = invoke noundef nonnull align 8 dereferenceable(44) ptr %235(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %237 unwind label %250

237:                                              ; preds = %232
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(44) %236)
          to label %238 unwind label %250

238:                                              ; preds = %237
  %239 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.8)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  br i1 %239, label %240, label %609

240:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %241 unwind label %252

241:                                              ; preds = %240
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %242 unwind label %254

242:                                              ; preds = %241
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  %243 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %244 unwind label %256

244:                                              ; preds = %242
  %245 = icmp slt i32 %243, 1
  br i1 %245, label %246, label %262

246:                                              ; preds = %244
  %247 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %248 unwind label %.thread530

248:                                              ; preds = %246
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %247, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %249 unwind label %259

249:                                              ; preds = %248
  invoke void @__cxa_throw(ptr nonnull %247, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %259

250:                                              ; preds = %237, %232
  %251 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  br label %1351

252:                                              ; preds = %240
  %253 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #6
  br label %608

254:                                              ; preds = %241
  %255 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  br label %607

256:                                              ; preds = %286, %284, %242
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %606

.thread530:                                       ; preds = %246
  %258 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %261

259:                                              ; preds = %248, %249
  %.0299 = phi i1 [ false, %249 ], [ true, %248 ]
  %260 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br i1 %.0299, label %261, label %606

261:                                              ; preds = %.thread530, %259
  %.pn508533 = phi { ptr, i32 } [ %258, %.thread530 ], [ %260, %259 ]
  call void @__cxa_free_exception(ptr %247) #6
  br label %606

262:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #6
  %263 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %264 unwind label %278

264:                                              ; preds = %262
  %265 = load ptr, ptr %263, align 8, !tbaa !5
  %266 = getelementptr inbounds i8, ptr %265, i64 16
  %267 = load ptr, ptr %266, align 8
  %268 = invoke noundef nonnull align 8 dereferenceable(44) ptr %267(ptr noundef nonnull align 8 dereferenceable(80) %263)
          to label %269 unwind label %278

269:                                              ; preds = %264
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(44) %268)
          to label %270 unwind label %278

270:                                              ; preds = %269
  %271 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.12)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br i1 %271, label %272, label %284

272:                                              ; preds = %270
  %273 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %274 unwind label %.thread534

274:                                              ; preds = %272
  %275 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %276 unwind label %281

276:                                              ; preds = %274
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %273, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(80) %275)
          to label %277 unwind label %281

277:                                              ; preds = %276
  invoke void @__cxa_throw(ptr nonnull %273, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %281

278:                                              ; preds = %269, %264, %262
  %279 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br label %606

.thread534:                                       ; preds = %272
  %280 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  br label %283

281:                                              ; preds = %274, %276, %277
  %.0297 = phi i1 [ false, %277 ], [ true, %276 ], [ true, %274 ]
  %282 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  br i1 %.0297, label %283, label %606

283:                                              ; preds = %.thread534, %281
  %.pn506537 = phi { ptr, i32 } [ %280, %.thread534 ], [ %282, %281 ]
  call void @__cxa_free_exception(ptr %273) #6
  br label %606

284:                                              ; preds = %270
  %285 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %286 unwind label %256

286:                                              ; preds = %284
  %287 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %285)
          to label %288 unwind label %256

288:                                              ; preds = %286
  %.not438 = icmp eq i32 %287, 2
  br i1 %.not438, label %299, label %289

289:                                              ; preds = %288
  %290 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %291 unwind label %.thread538

291:                                              ; preds = %289
  %292 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %293 unwind label %296

293:                                              ; preds = %291
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %290, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(80) %292)
          to label %294 unwind label %296

294:                                              ; preds = %293
  invoke void @__cxa_throw(ptr nonnull %290, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %296

.thread538:                                       ; preds = %289
  %295 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br label %298

296:                                              ; preds = %291, %293, %294
  %.0295 = phi i1 [ false, %294 ], [ true, %293 ], [ true, %291 ]
  %297 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br i1 %.0295, label %298, label %606

298:                                              ; preds = %.thread538, %296
  %.pn504541 = phi { ptr, i32 } [ %295, %.thread538 ], [ %297, %296 ]
  call void @__cxa_free_exception(ptr %290) #6
  br label %606

299:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %22) #6
  %300 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %301 unwind label %372

301:                                              ; preds = %299
  %302 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %300, i32 noundef 0)
          to label %303 unwind label %372

303:                                              ; preds = %301
  %304 = load ptr, ptr %302, align 8, !tbaa !5
  %305 = getelementptr inbounds i8, ptr %304, i64 16
  %306 = load ptr, ptr %305, align 8
  %307 = invoke noundef nonnull align 8 dereferenceable(44) ptr %306(ptr noundef nonnull align 8 dereferenceable(80) %302)
          to label %308 unwind label %372

308:                                              ; preds = %303
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %22, ptr noundef nonnull align 8 dereferenceable(44) %307)
          to label %309 unwind label %372

309:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #6
  %310 = getelementptr inbounds i8, ptr %1, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(44) %22)
          to label %311 unwind label %374

311:                                              ; preds = %309
  %312 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %310, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %313 unwind label %376

313:                                              ; preds = %311
  invoke void @_ZNK8Variable10getRawCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(88) %312)
          to label %314 unwind label %376

314:                                              ; preds = %313
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %25) #6
  %315 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %316 unwind label %379

316:                                              ; preds = %314
  %317 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %315, i32 noundef 1)
          to label %318 unwind label %379

318:                                              ; preds = %316
  %319 = load ptr, ptr %317, align 8, !tbaa !5
  %320 = getelementptr inbounds i8, ptr %319, i64 16
  %321 = load ptr, ptr %320, align 8
  %322 = invoke noundef nonnull align 8 dereferenceable(44) ptr %321(ptr noundef nonnull align 8 dereferenceable(80) %317)
          to label %323 unwind label %379

323:                                              ; preds = %318
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %25, ptr noundef nonnull align 8 dereferenceable(44) %322)
          to label %324 unwind label %379

324:                                              ; preds = %323
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(44) %22)
          to label %325 unwind label %381

325:                                              ; preds = %324
  %326 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %310, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %327 unwind label %383

327:                                              ; preds = %325
  %328 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %326)
          to label %329 unwind label %383

329:                                              ; preds = %327
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  %330 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %25)
          to label %331 unwind label %386

331:                                              ; preds = %329
  %332 = icmp eq i32 %330, 4
  br i1 %332, label %333, label %446

333:                                              ; preds = %331
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(44) %25)
          to label %334 unwind label %388

334:                                              ; preds = %333
  %335 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %310, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %336 unwind label %390

336:                                              ; preds = %334
  %337 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %335)
          to label %338 unwind label %390

338:                                              ; preds = %336
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(44) %25)
          to label %339 unwind label %393

339:                                              ; preds = %338
  %340 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %310, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %341 unwind label %395

341:                                              ; preds = %339
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(88) %340)
          to label %342 unwind label %395

342:                                              ; preds = %341
  %343 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  %344 = icmp eq i32 %337, 3
  br i1 %344, label %345, label %501

345:                                              ; preds = %342
  %346 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14rho_temp_chainB5cxx11)
          to label %347 unwind label %386

347:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull @.str.15, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %348 unwind label %398

348:                                              ; preds = %347
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull @.str.16)
          to label %349 unwind label %400

349:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(44) %25)
          to label %350 unwind label %402

350:                                              ; preds = %349
  %351 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %310, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %352 unwind label %404

352:                                              ; preds = %350
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(88) %351)
          to label %353 unwind label %404

353:                                              ; preds = %352
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %354 unwind label %406

354:                                              ; preds = %353
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.17)
          to label %355 unwind label %408

355:                                              ; preds = %354
  %356 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %357 unwind label %410

357:                                              ; preds = %355
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull @.str.18, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %358 unwind label %418

358:                                              ; preds = %357
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.16)
          to label %359 unwind label %420

359:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(44) %25)
          to label %360 unwind label %422

360:                                              ; preds = %359
  %361 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %310, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %362 unwind label %424

362:                                              ; preds = %360
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(88) %361)
          to label %363 unwind label %424

363:                                              ; preds = %362
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %364 unwind label %426

364:                                              ; preds = %363
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.17)
          to label %365 unwind label %428

365:                                              ; preds = %364
  %366 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %367 unwind label %430

367:                                              ; preds = %365
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull @.str.19, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %368 unwind label %438

368:                                              ; preds = %367
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.17)
          to label %369 unwind label %440

369:                                              ; preds = %368
  %370 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %371 unwind label %442

371:                                              ; preds = %369
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  br label %501

372:                                              ; preds = %308, %303, %301, %299
  %373 = landingpad { ptr, i32 }
          cleanup
  br label %605

374:                                              ; preds = %309
  %375 = landingpad { ptr, i32 }
          cleanup
  br label %378

376:                                              ; preds = %313, %311
  %377 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %378

378:                                              ; preds = %376, %374
  %.pn439 = phi { ptr, i32 } [ %377, %376 ], [ %375, %374 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  br label %604

379:                                              ; preds = %323, %318, %316, %314
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %603

381:                                              ; preds = %324
  %382 = landingpad { ptr, i32 }
          cleanup
  br label %385

383:                                              ; preds = %327, %325
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %385

385:                                              ; preds = %383, %381
  %.pn441 = phi { ptr, i32 } [ %384, %383 ], [ %382, %381 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %602

386:                                              ; preds = %574, %514, %450, %446, %345, %329
  %387 = landingpad { ptr, i32 }
          cleanup
  br label %602

388:                                              ; preds = %333
  %389 = landingpad { ptr, i32 }
          cleanup
  br label %392

390:                                              ; preds = %336, %334
  %391 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %392

392:                                              ; preds = %390, %388
  %.pn455 = phi { ptr, i32 } [ %391, %390 ], [ %389, %388 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  br label %602

393:                                              ; preds = %338
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %397

395:                                              ; preds = %341, %339
  %396 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %397

397:                                              ; preds = %395, %393
  %.pn457 = phi { ptr, i32 } [ %396, %395 ], [ %394, %393 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  br label %602

398:                                              ; preds = %347
  %399 = landingpad { ptr, i32 }
          cleanup
  br label %417

400:                                              ; preds = %348
  %401 = landingpad { ptr, i32 }
          cleanup
  br label %416

402:                                              ; preds = %349
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %415

404:                                              ; preds = %352, %350
  %405 = landingpad { ptr, i32 }
          cleanup
  br label %414

406:                                              ; preds = %353
  %407 = landingpad { ptr, i32 }
          cleanup
  br label %413

408:                                              ; preds = %354
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %412

410:                                              ; preds = %355
  %411 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %412

412:                                              ; preds = %410, %408
  %.pn459 = phi { ptr, i32 } [ %411, %410 ], [ %409, %408 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %413

413:                                              ; preds = %412, %406
  %.pn459.pn = phi { ptr, i32 } [ %.pn459, %412 ], [ %407, %406 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %414

414:                                              ; preds = %413, %404
  %.pn459.pn.pn = phi { ptr, i32 } [ %.pn459.pn, %413 ], [ %405, %404 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %415

415:                                              ; preds = %414, %402
  %.pn459.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn, %414 ], [ %403, %402 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %416

416:                                              ; preds = %415, %400
  %.pn459.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn, %415 ], [ %401, %400 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %417

417:                                              ; preds = %416, %398
  %.pn459.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn.pn, %416 ], [ %399, %398 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  br label %602

418:                                              ; preds = %357
  %419 = landingpad { ptr, i32 }
          cleanup
  br label %437

420:                                              ; preds = %358
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %436

422:                                              ; preds = %359
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %435

424:                                              ; preds = %362, %360
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %434

426:                                              ; preds = %363
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %433

428:                                              ; preds = %364
  %429 = landingpad { ptr, i32 }
          cleanup
  br label %432

430:                                              ; preds = %365
  %431 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %432

432:                                              ; preds = %430, %428
  %.pn466 = phi { ptr, i32 } [ %431, %430 ], [ %429, %428 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %433

433:                                              ; preds = %432, %426
  %.pn466.pn = phi { ptr, i32 } [ %.pn466, %432 ], [ %427, %426 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %434

434:                                              ; preds = %433, %424
  %.pn466.pn.pn = phi { ptr, i32 } [ %.pn466.pn, %433 ], [ %425, %424 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %435

435:                                              ; preds = %434, %422
  %.pn466.pn.pn.pn = phi { ptr, i32 } [ %.pn466.pn.pn, %434 ], [ %423, %422 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %436

436:                                              ; preds = %435, %420
  %.pn466.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn466.pn.pn.pn, %435 ], [ %421, %420 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %437

437:                                              ; preds = %436, %418
  %.pn466.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn466.pn.pn.pn.pn, %436 ], [ %419, %418 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  br label %602

438:                                              ; preds = %367
  %439 = landingpad { ptr, i32 }
          cleanup
  br label %445

440:                                              ; preds = %368
  %441 = landingpad { ptr, i32 }
          cleanup
  br label %444

442:                                              ; preds = %369
  %443 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %444

444:                                              ; preds = %442, %440
  %.pn473 = phi { ptr, i32 } [ %443, %442 ], [ %441, %440 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %445

445:                                              ; preds = %444, %438
  %.pn473.pn = phi { ptr, i32 } [ %.pn473, %444 ], [ %439, %438 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  br label %602

446:                                              ; preds = %331
  %447 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %25)
          to label %448 unwind label %386

448:                                              ; preds = %446
  %449 = icmp eq i32 %447, 3
  br i1 %449, label %450, label %493

450:                                              ; preds = %448
  %451 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14rho_temp_chainB5cxx11)
          to label %452 unwind label %386

452:                                              ; preds = %450
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %453 unwind label %466

453:                                              ; preds = %452
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @.str.16)
          to label %454 unwind label %468

454:                                              ; preds = %453
  %455 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %456 unwind label %470

456:                                              ; preds = %454
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(44) %25)
          to label %457 unwind label %474

457:                                              ; preds = %456
  invoke void @_ZN9QuoteUtil7requoteERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %458 unwind label %476

458:                                              ; preds = %457
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.17)
          to label %459 unwind label %478

459:                                              ; preds = %458
  %460 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %461 unwind label %480

461:                                              ; preds = %459
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull @.str.19, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %462 unwind label %485

462:                                              ; preds = %461
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.17)
          to label %463 unwind label %487

463:                                              ; preds = %462
  %464 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %465 unwind label %489

465:                                              ; preds = %463
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #6
  br label %501

466:                                              ; preds = %452
  %467 = landingpad { ptr, i32 }
          cleanup
  br label %473

468:                                              ; preds = %453
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %472

470:                                              ; preds = %454
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %472

472:                                              ; preds = %470, %468
  %.pn445 = phi { ptr, i32 } [ %471, %470 ], [ %469, %468 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %473

473:                                              ; preds = %472, %466
  %.pn445.pn = phi { ptr, i32 } [ %.pn445, %472 ], [ %467, %466 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  br label %602

474:                                              ; preds = %456
  %475 = landingpad { ptr, i32 }
          cleanup
  br label %484

476:                                              ; preds = %457
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %483

478:                                              ; preds = %458
  %479 = landingpad { ptr, i32 }
          cleanup
  br label %482

480:                                              ; preds = %459
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %482

482:                                              ; preds = %480, %478
  %.pn448 = phi { ptr, i32 } [ %481, %480 ], [ %479, %478 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %483

483:                                              ; preds = %482, %476
  %.pn448.pn = phi { ptr, i32 } [ %.pn448, %482 ], [ %477, %476 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %484

484:                                              ; preds = %483, %474
  %.pn448.pn.pn = phi { ptr, i32 } [ %.pn448.pn, %483 ], [ %475, %474 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  br label %602

485:                                              ; preds = %461
  %486 = landingpad { ptr, i32 }
          cleanup
  br label %492

487:                                              ; preds = %462
  %488 = landingpad { ptr, i32 }
          cleanup
  br label %491

489:                                              ; preds = %463
  %490 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %491

491:                                              ; preds = %489, %487
  %.pn452 = phi { ptr, i32 } [ %490, %489 ], [ %488, %487 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %492

492:                                              ; preds = %491, %485
  %.pn452.pn = phi { ptr, i32 } [ %.pn452, %491 ], [ %486, %485 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #6
  br label %602

493:                                              ; preds = %448
  %494 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %53) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %495 unwind label %.thread542

495:                                              ; preds = %493
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %494, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(44) %25)
          to label %496 unwind label %498

496:                                              ; preds = %495
  invoke void @__cxa_throw(ptr nonnull %494, ptr nonnull @_ZTI14TokenException, ptr nonnull @_ZN14TokenExceptionD2Ev) #7
          to label %1352 unwind label %498

.thread542:                                       ; preds = %493
  %497 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  br label %500

498:                                              ; preds = %495, %496
  %.0292 = phi i1 [ false, %496 ], [ true, %495 ]
  %499 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  br i1 %.0292, label %500, label %602

500:                                              ; preds = %.thread542, %498
  %.pn443545 = phi { ptr, i32 } [ %497, %.thread542 ], [ %499, %498 ]
  call void @__cxa_free_exception(ptr %494) #6
  br label %602

501:                                              ; preds = %342, %371, %465
  %.0294 = phi i32 [ 3, %371 ], [ %337, %342 ], [ 1, %465 ]
  %.not476 = icmp eq i32 %328, 4
  br i1 %.not476, label %502, label %504

502:                                              ; preds = %501
  %503 = call noundef i32 @_Z12decayFetType7FetType(i32 noundef %.0294)
  %.not477 = icmp eq i32 %503, 1
  br i1 %.not477, label %514, label %504

504:                                              ; preds = %502, %501
  %505 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %55) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %506 unwind label %.thread546

506:                                              ; preds = %504
  %507 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %508 unwind label %511

508:                                              ; preds = %506
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %505, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(80) %507)
          to label %509 unwind label %511

509:                                              ; preds = %508
  invoke void @__cxa_throw(ptr nonnull %505, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %511

.thread546:                                       ; preds = %504
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  br label %513

511:                                              ; preds = %506, %508, %509
  %.0290 = phi i1 [ false, %509 ], [ true, %508 ], [ true, %506 ]
  %512 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  br i1 %.0290, label %513, label %602

513:                                              ; preds = %.thread546, %511
  %.pn497549 = phi { ptr, i32 } [ %510, %.thread546 ], [ %512, %511 ]
  call void @__cxa_free_exception(ptr %505) #6
  br label %602

514:                                              ; preds = %502
  %515 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %516 unwind label %386

516:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.23)
          to label %517 unwind label %531

517:                                              ; preds = %516
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %518 unwind label %533

518:                                              ; preds = %517
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.24)
          to label %519 unwind label %535

519:                                              ; preds = %518
  %520 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %521 unwind label %537

521:                                              ; preds = %519
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull @.str.25, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %522 unwind label %542

522:                                              ; preds = %521
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.26)
          to label %523 unwind label %544

523:                                              ; preds = %522
  %524 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %525 unwind label %546

525:                                              ; preds = %523
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  br label %526

526:                                              ; preds = %557, %525
  %.0289 = phi i32 [ 1, %525 ], [ %558, %557 ]
  %527 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %528 unwind label %550

528:                                              ; preds = %526
  %529 = icmp slt i32 %.0289, %527
  br i1 %529, label %552, label %530

530:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.27)
          to label %564 unwind label %577

531:                                              ; preds = %516
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %541

533:                                              ; preds = %517
  %534 = landingpad { ptr, i32 }
          cleanup
  br label %540

535:                                              ; preds = %518
  %536 = landingpad { ptr, i32 }
          cleanup
  br label %539

537:                                              ; preds = %519
  %538 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %539

539:                                              ; preds = %537, %535
  %.pn478 = phi { ptr, i32 } [ %538, %537 ], [ %536, %535 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %540

540:                                              ; preds = %539, %533
  %.pn478.pn = phi { ptr, i32 } [ %.pn478, %539 ], [ %534, %533 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %541

541:                                              ; preds = %540, %531
  %.pn478.pn.pn = phi { ptr, i32 } [ %.pn478.pn, %540 ], [ %532, %531 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  br label %602

542:                                              ; preds = %521
  %543 = landingpad { ptr, i32 }
          cleanup
  br label %549

544:                                              ; preds = %522
  %545 = landingpad { ptr, i32 }
          cleanup
  br label %548

546:                                              ; preds = %523
  %547 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %548

548:                                              ; preds = %546, %544
  %.pn482 = phi { ptr, i32 } [ %547, %546 ], [ %545, %544 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %549

549:                                              ; preds = %548, %542
  %.pn482.pn = phi { ptr, i32 } [ %.pn482, %548 ], [ %543, %542 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  br label %602

550:                                              ; preds = %526
  %551 = landingpad { ptr, i32 }
          cleanup
  br label %602

552:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #6
  %553 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef %.0289)
          to label %554 unwind label %559

554:                                              ; preds = %552
  invoke void @_ZN10Transpiler15transpileBranchB5cxx11ERN10SyntaxTree4NodeE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(176) %1, ptr noundef nonnull align 8 dereferenceable(80) %553)
          to label %555 unwind label %559

555:                                              ; preds = %554
  %556 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %557 unwind label %561

557:                                              ; preds = %555
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  %558 = add nuw nsw i32 %.0289, 1
  br label %526, !llvm.loop !8

559:                                              ; preds = %554, %552
  %560 = landingpad { ptr, i32 }
          cleanup
  br label %563

561:                                              ; preds = %555
  %562 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %563

563:                                              ; preds = %561, %559
  %.pn494 = phi { ptr, i32 } [ %562, %561 ], [ %560, %559 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  br label %602

564:                                              ; preds = %530
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %565 unwind label %579

565:                                              ; preds = %564
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.28)
          to label %566 unwind label %581

566:                                              ; preds = %565
  %567 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %568 unwind label %583

568:                                              ; preds = %566
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef nonnull @.str.29, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %569 unwind label %588

569:                                              ; preds = %568
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull @.str.27)
          to label %570 unwind label %590

570:                                              ; preds = %569
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %571 unwind label %592

571:                                              ; preds = %570
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str.24)
          to label %572 unwind label %594

572:                                              ; preds = %571
  %573 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %574 unwind label %596

574:                                              ; preds = %572
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  %575 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %576 unwind label %386

576:                                              ; preds = %574
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %25) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %25) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %22) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %1349

577:                                              ; preds = %530
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %587

579:                                              ; preds = %564
  %580 = landingpad { ptr, i32 }
          cleanup
  br label %586

581:                                              ; preds = %565
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %585

583:                                              ; preds = %566
  %584 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %585

585:                                              ; preds = %583, %581
  %.pn485 = phi { ptr, i32 } [ %584, %583 ], [ %582, %581 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %586

586:                                              ; preds = %585, %579
  %.pn485.pn = phi { ptr, i32 } [ %.pn485, %585 ], [ %580, %579 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %587

587:                                              ; preds = %586, %577
  %.pn485.pn.pn = phi { ptr, i32 } [ %.pn485.pn, %586 ], [ %578, %577 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #6
  br label %602

588:                                              ; preds = %568
  %589 = landingpad { ptr, i32 }
          cleanup
  br label %601

590:                                              ; preds = %569
  %591 = landingpad { ptr, i32 }
          cleanup
  br label %600

592:                                              ; preds = %570
  %593 = landingpad { ptr, i32 }
          cleanup
  br label %599

594:                                              ; preds = %571
  %595 = landingpad { ptr, i32 }
          cleanup
  br label %598

596:                                              ; preds = %572
  %597 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %598

598:                                              ; preds = %596, %594
  %.pn489 = phi { ptr, i32 } [ %597, %596 ], [ %595, %594 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %599

599:                                              ; preds = %598, %592
  %.pn489.pn = phi { ptr, i32 } [ %.pn489, %598 ], [ %593, %592 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %600

600:                                              ; preds = %599, %590
  %.pn489.pn.pn = phi { ptr, i32 } [ %.pn489.pn, %599 ], [ %591, %590 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %601

601:                                              ; preds = %600, %588
  %.pn489.pn.pn.pn = phi { ptr, i32 } [ %.pn489.pn.pn, %600 ], [ %589, %588 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  br label %602

602:                                              ; preds = %386, %392, %397, %417, %437, %445, %473, %484, %492, %541, %549, %587, %601, %500, %498, %513, %511, %563, %550, %385
  %.pn497.pn.pn = phi { ptr, i32 } [ %.pn441, %385 ], [ %.pn497549, %513 ], [ %512, %511 ], [ %387, %386 ], [ %.pn489.pn.pn.pn, %601 ], [ %.pn485.pn.pn, %587 ], [ %.pn482.pn, %549 ], [ %.pn478.pn.pn, %541 ], [ %.pn473.pn, %445 ], [ %.pn466.pn.pn.pn.pn.pn, %437 ], [ %.pn459.pn.pn.pn.pn.pn, %417 ], [ %.pn457, %397 ], [ %.pn455, %392 ], [ %.pn452.pn, %492 ], [ %.pn448.pn.pn, %484 ], [ %.pn445.pn, %473 ], [ %.pn443545, %500 ], [ %499, %498 ], [ %.pn494, %563 ], [ %551, %550 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %25) #6
  br label %603

603:                                              ; preds = %602, %379
  %.pn497.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn, %602 ], [ %380, %379 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %25) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %604

604:                                              ; preds = %603, %378
  %.pn497.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn, %603 ], [ %.pn439, %378 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %22) #6
  br label %605

605:                                              ; preds = %604, %372
  %.pn497.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn497.pn.pn.pn.pn, %604 ], [ %373, %372 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #6
  br label %606

606:                                              ; preds = %296, %298, %281, %283, %259, %261, %605, %278, %256
  %.pn508.pn = phi { ptr, i32 } [ %.pn508533, %261 ], [ %260, %259 ], [ %.pn506537, %283 ], [ %282, %281 ], [ %.pn504541, %298 ], [ %297, %296 ], [ %.pn497.pn.pn.pn.pn.pn, %605 ], [ %257, %256 ], [ %279, %278 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %607

607:                                              ; preds = %606, %254
  %.pn508.pn.pn = phi { ptr, i32 } [ %.pn508.pn, %606 ], [ %255, %254 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %608

608:                                              ; preds = %607, %252
  %.pn508.pn.pn.pn = phi { ptr, i32 } [ %.pn508.pn.pn, %607 ], [ %253, %252 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %1351

609:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #6
  %610 = load ptr, ptr %2, align 8, !tbaa !5
  %611 = getelementptr inbounds i8, ptr %610, i64 16
  %612 = load ptr, ptr %611, align 8
  %613 = invoke noundef nonnull align 8 dereferenceable(44) ptr %612(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %614 unwind label %648

614:                                              ; preds = %609
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 8 dereferenceable(44) %613)
          to label %615 unwind label %648

615:                                              ; preds = %614
  %616 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.30)
  br i1 %616, label %.critedge523.thread, label %617

.critedge523.thread:                              ; preds = %615
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  br label %640

617:                                              ; preds = %615
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #6
  %618 = load ptr, ptr %2, align 8, !tbaa !5
  %619 = getelementptr inbounds i8, ptr %618, i64 16
  %620 = load ptr, ptr %619, align 8
  %621 = invoke noundef nonnull align 8 dereferenceable(44) ptr %620(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %622 unwind label %650

622:                                              ; preds = %617
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(44) %621)
          to label %623 unwind label %650

623:                                              ; preds = %622
  %624 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull @.str.31)
  br i1 %624, label %.critedge, label %625

625:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #6
  %626 = load ptr, ptr %2, align 8, !tbaa !5
  %627 = getelementptr inbounds i8, ptr %626, i64 16
  %628 = load ptr, ptr %627, align 8
  %629 = invoke noundef nonnull align 8 dereferenceable(44) ptr %628(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %630 unwind label %652

630:                                              ; preds = %625
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(44) %629)
          to label %631 unwind label %652

631:                                              ; preds = %630
  %632 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.32)
  br i1 %632, label %.critedge608, label %633

633:                                              ; preds = %631
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #6
  %634 = load ptr, ptr %2, align 8, !tbaa !5
  %635 = getelementptr inbounds i8, ptr %634, i64 16
  %636 = load ptr, ptr %635, align 8
  %637 = invoke noundef nonnull align 8 dereferenceable(44) ptr %636(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %638 unwind label %654

638:                                              ; preds = %633
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(44) %637)
          to label %.critedge.thread unwind label %654

.critedge.thread:                                 ; preds = %638
  %639 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull @.str.33)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  br i1 %639, label %640, label %916

.critedge:                                        ; preds = %623
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  br label %640

.critedge608:                                     ; preds = %631
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  br label %640

640:                                              ; preds = %.critedge608, %.critedge, %.critedge523.thread, %.critedge.thread
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #6
  %641 = load ptr, ptr %2, align 8, !tbaa !5
  %642 = getelementptr inbounds i8, ptr %641, i64 16
  %643 = load ptr, ptr %642, align 8
  %644 = invoke noundef nonnull align 8 dereferenceable(44) ptr %643(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %645 unwind label %659

645:                                              ; preds = %640
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(44) %644)
          to label %646 unwind label %659

646:                                              ; preds = %645
  %647 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull @.str.30)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  br i1 %647, label %.invoke, label %661

648:                                              ; preds = %614, %609
  %649 = landingpad { ptr, i32 }
          cleanup
  br label %658

650:                                              ; preds = %622, %617
  %651 = landingpad { ptr, i32 }
          cleanup
  br label %657

652:                                              ; preds = %630, %625
  %653 = landingpad { ptr, i32 }
          cleanup
  br label %656

654:                                              ; preds = %638, %633
  %655 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %656

656:                                              ; preds = %652, %654
  %.pn = phi { ptr, i32 } [ %655, %654 ], [ %653, %652 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %657

657:                                              ; preds = %650, %656
  %.pn.pn = phi { ptr, i32 } [ %.pn, %656 ], [ %651, %650 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %658

658:                                              ; preds = %657, %648
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %657 ], [ %649, %648 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  br label %1351

659:                                              ; preds = %645, %640
  %660 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  br label %1351

661:                                              ; preds = %646
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #6
  %662 = load ptr, ptr %2, align 8, !tbaa !5
  %663 = getelementptr inbounds i8, ptr %662, i64 16
  %664 = load ptr, ptr %663, align 8
  %665 = invoke noundef nonnull align 8 dereferenceable(44) ptr %664(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %666 unwind label %669

666:                                              ; preds = %661
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 8 dereferenceable(44) %665)
          to label %667 unwind label %669

667:                                              ; preds = %666
  %668 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull @.str.31)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  br i1 %668, label %.invoke, label %671

669:                                              ; preds = %666, %661
  %670 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  br label %1351

671:                                              ; preds = %667
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #6
  %672 = load ptr, ptr %2, align 8, !tbaa !5
  %673 = getelementptr inbounds i8, ptr %672, i64 16
  %674 = load ptr, ptr %673, align 8
  %675 = invoke noundef nonnull align 8 dereferenceable(44) ptr %674(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %676 unwind label %679

676:                                              ; preds = %671
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 8 dereferenceable(44) %675)
          to label %677 unwind label %679

677:                                              ; preds = %676
  %678 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.32)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  %.str.36..str.37 = select i1 %678, ptr @.str.36, ptr @.str.37
  br label %.invoke

679:                                              ; preds = %676, %671
  %680 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  br label %1351

.invoke:                                          ; preds = %677, %667, %646
  %681 = phi ptr [ @.str.34, %646 ], [ @.str.35, %667 ], [ %.str.36..str.37, %677 ]
  %682 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull %681)
          to label %683 unwind label %200

683:                                              ; preds = %.invoke
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %76) #6
  %684 = load ptr, ptr %2, align 8, !tbaa !5
  %685 = getelementptr inbounds i8, ptr %684, i64 16
  %686 = load ptr, ptr %685, align 8
  %687 = invoke noundef nonnull align 8 dereferenceable(44) ptr %686(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %688 unwind label %699

688:                                              ; preds = %683
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef nonnull align 8 dereferenceable(44) %687)
          to label %689 unwind label %699

689:                                              ; preds = %688
  %690 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull @.str.33)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  br i1 %690, label %691, label %886

691:                                              ; preds = %689
  %692 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %693 unwind label %200

693:                                              ; preds = %691
  %694 = icmp slt i32 %692, 1
  br i1 %694, label %695, label %705

695:                                              ; preds = %693
  %696 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull @.str.38, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %697 unwind label %.thread558

697:                                              ; preds = %695
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %696, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %698 unwind label %702

698:                                              ; preds = %697
  invoke void @__cxa_throw(ptr nonnull %696, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %702

699:                                              ; preds = %688, %683
  %700 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  br label %1351

.thread558:                                       ; preds = %695
  %701 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  br label %704

702:                                              ; preds = %697, %698
  %.0281 = phi i1 [ false, %698 ], [ true, %697 ]
  %703 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  br i1 %.0281, label %704, label %1351

704:                                              ; preds = %.thread558, %702
  %.pn436561 = phi { ptr, i32 } [ %701, %.thread558 ], [ %703, %702 ]
  call void @__cxa_free_exception(ptr %696) #6
  br label %1351

705:                                              ; preds = %693
  %706 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %707 unwind label %200

707:                                              ; preds = %705
  %708 = load ptr, ptr %706, align 8, !tbaa !5
  %709 = getelementptr inbounds i8, ptr %708, i64 16
  %710 = load ptr, ptr %709, align 8
  %711 = invoke noundef nonnull align 8 dereferenceable(44) ptr %710(ptr noundef nonnull align 8 dereferenceable(80) %706)
          to label %712 unwind label %200

712:                                              ; preds = %707
  %713 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %711)
          to label %714 unwind label %200

714:                                              ; preds = %712
  %.not394 = icmp eq i32 %713, 1
  br i1 %.not394, label %715, label %725

715:                                              ; preds = %714
  %716 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %717 unwind label %200

717:                                              ; preds = %715
  %718 = load ptr, ptr %716, align 8, !tbaa !5
  %719 = getelementptr inbounds i8, ptr %718, i64 16
  %720 = load ptr, ptr %719, align 8
  %721 = invoke noundef nonnull align 8 dereferenceable(44) ptr %720(ptr noundef nonnull align 8 dereferenceable(80) %716)
          to label %722 unwind label %200

722:                                              ; preds = %717
  %723 = invoke noundef i32 @_ZNK5Token20getKeyphraseCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %721)
          to label %724 unwind label %200

724:                                              ; preds = %722
  %.not395 = icmp eq i32 %723, 2
  br i1 %.not395, label %735, label %725

725:                                              ; preds = %724, %714
  %726 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull @.str.39, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %727 unwind label %.thread562

727:                                              ; preds = %725
  %728 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %729 unwind label %732

729:                                              ; preds = %727
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %726, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(80) %728)
          to label %730 unwind label %732

730:                                              ; preds = %729
  invoke void @__cxa_throw(ptr nonnull %726, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %732

.thread562:                                       ; preds = %725
  %731 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br label %734

732:                                              ; preds = %727, %729, %730
  %.0279 = phi i1 [ false, %730 ], [ true, %729 ], [ true, %727 ]
  %733 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br i1 %.0279, label %734, label %1351

734:                                              ; preds = %.thread562, %732
  %.pn434565 = phi { ptr, i32 } [ %731, %.thread562 ], [ %733, %732 ]
  call void @__cxa_free_exception(ptr %726) #6
  br label %1351

735:                                              ; preds = %724
  %736 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %737 unwind label %200

737:                                              ; preds = %735
  %738 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %736)
          to label %739 unwind label %200

739:                                              ; preds = %737
  %.not396 = icmp eq i32 %738, 2
  br i1 %.not396, label %750, label %740

740:                                              ; preds = %739
  %741 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %82) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull @.str.40, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %742 unwind label %.thread566

742:                                              ; preds = %740
  %743 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %744 unwind label %747

744:                                              ; preds = %742
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %741, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(80) %743)
          to label %745 unwind label %747

745:                                              ; preds = %744
  invoke void @__cxa_throw(ptr nonnull %741, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %747

.thread566:                                       ; preds = %740
  %746 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #6
  br label %749

747:                                              ; preds = %742, %744, %745
  %.0277 = phi i1 [ false, %745 ], [ true, %744 ], [ true, %742 ]
  %748 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #6
  br i1 %.0277, label %749, label %1351

749:                                              ; preds = %.thread566, %747
  %.pn432569 = phi { ptr, i32 } [ %746, %.thread566 ], [ %748, %747 ]
  call void @__cxa_free_exception(ptr %741) #6
  br label %1351

750:                                              ; preds = %739
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %83) #6
  %751 = load ptr, ptr @manager, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %84) #6
  %752 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %753 unwind label %787

753:                                              ; preds = %750
  %754 = load ptr, ptr %752, align 8, !tbaa !5
  %755 = getelementptr inbounds i8, ptr %754, i64 16
  %756 = load ptr, ptr %755, align 8
  %757 = invoke noundef nonnull align 8 dereferenceable(44) ptr %756(ptr noundef nonnull align 8 dereferenceable(80) %752)
          to label %758 unwind label %787

758:                                              ; preds = %753
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 8 dereferenceable(44) %757)
          to label %759 unwind label %787

759:                                              ; preds = %758
  invoke void @_ZNK14FetlangManager21getComparisonOperatorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%class.ComparisonOperator) align 8 %83, ptr noundef nonnull align 8 dereferenceable(380) %751, ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %760 unwind label %789

760:                                              ; preds = %759
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %85) #6
  %761 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %762 unwind label %792

762:                                              ; preds = %760
  %763 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %761, i32 noundef 0)
          to label %764 unwind label %792

764:                                              ; preds = %762
  %765 = load ptr, ptr %763, align 8, !tbaa !5
  %766 = getelementptr inbounds i8, ptr %765, i64 16
  %767 = load ptr, ptr %766, align 8
  %768 = invoke noundef nonnull align 8 dereferenceable(44) ptr %767(ptr noundef nonnull align 8 dereferenceable(80) %763)
          to label %769 unwind label %792

769:                                              ; preds = %764
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %85, ptr noundef nonnull align 8 dereferenceable(44) %768)
          to label %770 unwind label %792

770:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %86) #6
  %771 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %772 unwind label %794

772:                                              ; preds = %770
  %773 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %771, i32 noundef 1)
          to label %774 unwind label %794

774:                                              ; preds = %772
  %775 = load ptr, ptr %773, align 8, !tbaa !5
  %776 = getelementptr inbounds i8, ptr %775, i64 16
  %777 = load ptr, ptr %776, align 8
  %778 = invoke noundef nonnull align 8 dereferenceable(44) ptr %777(ptr noundef nonnull align 8 dereferenceable(80) %773)
          to label %779 unwind label %794

779:                                              ; preds = %774
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %86, ptr noundef nonnull align 8 dereferenceable(44) %778)
          to label %780 unwind label %794

780:                                              ; preds = %779
  %781 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %85)
          to label %782 unwind label %796

782:                                              ; preds = %780
  %.not399 = icmp eq i32 %781, 4
  br i1 %.not399, label %802, label %783

783:                                              ; preds = %782
  %784 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %785 unwind label %.thread570

785:                                              ; preds = %783
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %784, ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull align 8 dereferenceable(44) %85)
          to label %786 unwind label %799

786:                                              ; preds = %785
  invoke void @__cxa_throw(ptr nonnull %784, ptr nonnull @_ZTI14TokenException, ptr nonnull @_ZN14TokenExceptionD2Ev) #7
          to label %1352 unwind label %799

787:                                              ; preds = %758, %753, %750
  %788 = landingpad { ptr, i32 }
          cleanup
  br label %791

789:                                              ; preds = %759
  %790 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  br label %791

791:                                              ; preds = %789, %787
  %.pn397 = phi { ptr, i32 } [ %790, %789 ], [ %788, %787 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #6
  br label %885

792:                                              ; preds = %769, %764, %762, %760
  %793 = landingpad { ptr, i32 }
          cleanup
  br label %884

794:                                              ; preds = %779, %774, %772, %770
  %795 = landingpad { ptr, i32 }
          cleanup
  br label %883

796:                                              ; preds = %802, %780
  %797 = landingpad { ptr, i32 }
          cleanup
  br label %882

.thread570:                                       ; preds = %783
  %798 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  br label %801

799:                                              ; preds = %785, %786
  %.0275 = phi i1 [ false, %786 ], [ true, %785 ]
  %800 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  br i1 %.0275, label %801, label %882

801:                                              ; preds = %.thread570, %799
  %.pn426573 = phi { ptr, i32 } [ %798, %.thread570 ], [ %800, %799 ]
  call void @__cxa_free_exception(ptr %784) #6
  br label %882

802:                                              ; preds = %782
  %803 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %86)
          to label %804 unwind label %796

804:                                              ; preds = %802
  %.not400 = icmp eq i32 %803, 4
  br i1 %.not400, label %813, label %805

805:                                              ; preds = %804
  %806 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull @.str.42, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %807 unwind label %.thread574

807:                                              ; preds = %805
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %806, ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(44) %86)
          to label %808 unwind label %810

808:                                              ; preds = %807
  invoke void @__cxa_throw(ptr nonnull %806, ptr nonnull @_ZTI14TokenException, ptr nonnull @_ZN14TokenExceptionD2Ev) #7
          to label %1352 unwind label %810

.thread574:                                       ; preds = %805
  %809 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #6
  br label %812

810:                                              ; preds = %807, %808
  %.0273 = phi i1 [ false, %808 ], [ true, %807 ]
  %811 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #6
  br i1 %.0273, label %812, label %882

812:                                              ; preds = %.thread574, %810
  %.pn424577 = phi { ptr, i32 } [ %809, %.thread574 ], [ %811, %810 ]
  call void @__cxa_free_exception(ptr %806) #6
  br label %882

813:                                              ; preds = %804
  %814 = getelementptr inbounds i8, ptr %1, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef nonnull align 8 dereferenceable(44) %85)
          to label %815 unwind label %841

815:                                              ; preds = %813
  %816 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %814, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %817 unwind label %843

817:                                              ; preds = %815
  %818 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %816)
          to label %819 unwind label %843

819:                                              ; preds = %817
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %92, ptr noundef nonnull align 8 dereferenceable(44) %86)
          to label %820 unwind label %846

820:                                              ; preds = %819
  %821 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %814, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %822 unwind label %848

822:                                              ; preds = %820
  %823 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %821)
          to label %824 unwind label %848

824:                                              ; preds = %822
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #6
  invoke void @_ZNK8Operator10getCodeForB5cxx11E7FetTypeS0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull align 8 dereferenceable(136) %83, i32 noundef %818, i32 noundef %823)
          to label %825 unwind label %851

825:                                              ; preds = %824
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %95, ptr noundef nonnull align 8 dereferenceable(44) %85)
          to label %826 unwind label %853

826:                                              ; preds = %825
  %827 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %814, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %828 unwind label %855

828:                                              ; preds = %826
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef nonnull align 8 dereferenceable(88) %827)
          to label %829 unwind label %855

829:                                              ; preds = %828
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull align 8 dereferenceable(44) %86)
          to label %830 unwind label %858

830:                                              ; preds = %829
  %831 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %814, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %832 unwind label %860

832:                                              ; preds = %830
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %96, ptr noundef nonnull align 8 dereferenceable(88) %831)
          to label %833 unwind label %860

833:                                              ; preds = %832
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %98) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %99) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull @.str.43, ptr noundef nonnull align 1 dereferenceable(1) %99)
          to label %834 unwind label %863

834:                                              ; preds = %833
  invoke void @_ZL11replaceTextRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S7_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %835 unwind label %865

835:                                              ; preds = %834
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %100) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %101) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull @.str.44, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %836 unwind label %868

836:                                              ; preds = %835
  invoke void @_ZL11replaceTextRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S7_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %837 unwind label %870

837:                                              ; preds = %836
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %102) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %102, ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull @.str.45)
          to label %838 unwind label %873

838:                                              ; preds = %837
  %839 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %840 unwind label %875

840:                                              ; preds = %838
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %86) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %86) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %85) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #6
  call void @_ZN8OperatorD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %83) #6
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %83) #6
  br label %886

841:                                              ; preds = %813
  %842 = landingpad { ptr, i32 }
          cleanup
  br label %845

843:                                              ; preds = %817, %815
  %844 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %845

845:                                              ; preds = %843, %841
  %.pn401 = phi { ptr, i32 } [ %844, %843 ], [ %842, %841 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  br label %882

846:                                              ; preds = %819
  %847 = landingpad { ptr, i32 }
          cleanup
  br label %850

848:                                              ; preds = %822, %820
  %849 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br label %850

850:                                              ; preds = %848, %846
  %.pn403 = phi { ptr, i32 } [ %849, %848 ], [ %847, %846 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #6
  br label %882

851:                                              ; preds = %824
  %852 = landingpad { ptr, i32 }
          cleanup
  br label %881

853:                                              ; preds = %825
  %854 = landingpad { ptr, i32 }
          cleanup
  br label %857

855:                                              ; preds = %828, %826
  %856 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %857

857:                                              ; preds = %855, %853
  %.pn405 = phi { ptr, i32 } [ %856, %855 ], [ %854, %853 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  br label %880

858:                                              ; preds = %829
  %859 = landingpad { ptr, i32 }
          cleanup
  br label %862

860:                                              ; preds = %832, %830
  %861 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %862

862:                                              ; preds = %860, %858
  %.pn407 = phi { ptr, i32 } [ %861, %860 ], [ %859, %858 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #6
  br label %879

863:                                              ; preds = %833
  %864 = landingpad { ptr, i32 }
          cleanup
  br label %867

865:                                              ; preds = %834
  %866 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %867

867:                                              ; preds = %865, %863
  %.pn409 = phi { ptr, i32 } [ %866, %865 ], [ %864, %863 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #6
  br label %878

868:                                              ; preds = %835
  %869 = landingpad { ptr, i32 }
          cleanup
  br label %872

870:                                              ; preds = %836
  %871 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  br label %872

872:                                              ; preds = %870, %868
  %.pn411 = phi { ptr, i32 } [ %871, %870 ], [ %869, %868 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #6
  br label %878

873:                                              ; preds = %837
  %874 = landingpad { ptr, i32 }
          cleanup
  br label %877

875:                                              ; preds = %838
  %876 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %877

877:                                              ; preds = %875, %873
  %.pn413 = phi { ptr, i32 } [ %876, %875 ], [ %874, %873 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #6
  br label %878

878:                                              ; preds = %877, %872, %867
  %.pn413.pn = phi { ptr, i32 } [ %.pn413, %877 ], [ %.pn411, %872 ], [ %.pn409, %867 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %879

879:                                              ; preds = %878, %862
  %.pn413.pn.pn = phi { ptr, i32 } [ %.pn413.pn, %878 ], [ %.pn407, %862 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %880

880:                                              ; preds = %879, %857
  %.pn413.pn.pn.pn = phi { ptr, i32 } [ %.pn413.pn.pn, %879 ], [ %.pn405, %857 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br label %881

881:                                              ; preds = %880, %851
  %.pn413.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn413.pn.pn.pn, %880 ], [ %852, %851 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #6
  br label %882

882:                                              ; preds = %845, %881, %850, %810, %812, %799, %801, %796
  %.pn426.pn = phi { ptr, i32 } [ %.pn426573, %801 ], [ %800, %799 ], [ %.pn424577, %812 ], [ %811, %810 ], [ %797, %796 ], [ %.pn401, %845 ], [ %.pn413.pn.pn.pn.pn, %881 ], [ %.pn403, %850 ]
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %86) #6
  br label %883

883:                                              ; preds = %882, %794
  %.pn426.pn.pn = phi { ptr, i32 } [ %.pn426.pn, %882 ], [ %795, %794 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %86) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %85) #6
  br label %884

884:                                              ; preds = %883, %792
  %.pn426.pn.pn.pn = phi { ptr, i32 } [ %.pn426.pn.pn, %883 ], [ %793, %792 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #6
  call void @_ZN8OperatorD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %83) #6
  br label %885

885:                                              ; preds = %884, %791
  %.pn426.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn426.pn.pn.pn, %884 ], [ %.pn397, %791 ]
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %83) #6
  br label %1351

886:                                              ; preds = %840, %689
  %887 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.46)
          to label %888 unwind label %200

888:                                              ; preds = %886
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #6
  %889 = load ptr, ptr %2, align 8, !tbaa !5
  %890 = getelementptr inbounds i8, ptr %889, i64 16
  %891 = load ptr, ptr %890, align 8
  %892 = invoke noundef nonnull align 8 dereferenceable(44) ptr %891(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %893 unwind label %896

893:                                              ; preds = %888
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %103, ptr noundef nonnull align 8 dereferenceable(44) %892)
          to label %894 unwind label %896

894:                                              ; preds = %893
  %895 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull @.str.33)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  %spec.select = zext i1 %895 to i32
  br label %898

896:                                              ; preds = %893, %888
  %897 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  br label %1351

898:                                              ; preds = %907, %894
  %.1118 = phi i32 [ %spec.select, %894 ], [ %908, %907 ]
  %899 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %900 unwind label %.loopexit

900:                                              ; preds = %898
  %901 = icmp slt i32 %.1118, %899
  br i1 %901, label %902, label %914

902:                                              ; preds = %900
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %104) #6
  %903 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef %.1118)
          to label %904 unwind label %909

904:                                              ; preds = %902
  invoke void @_ZN10Transpiler15transpileBranchB5cxx11ERN10SyntaxTree4NodeE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef nonnull align 8 dereferenceable(176) %1, ptr noundef nonnull align 8 dereferenceable(80) %903)
          to label %905 unwind label %909

905:                                              ; preds = %904
  %906 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %907 unwind label %911

907:                                              ; preds = %905
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #6
  %908 = add nuw nsw i32 %.1118, 1
  br label %898, !llvm.loop !13

.loopexit:                                        ; preds = %898
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %1351

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

909:                                              ; preds = %904, %902
  %910 = landingpad { ptr, i32 }
          cleanup
  br label %913

911:                                              ; preds = %905
  %912 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %913

913:                                              ; preds = %911, %909
  %.pn421 = phi { ptr, i32 } [ %912, %911 ], [ %910, %909 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #6
  br label %1351

914:                                              ; preds = %900
  %915 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.47)
          to label %1349 unwind label %.loopexit.split-lp

916:                                              ; preds = %.critedge.thread, %217
  %917 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %918 unwind label %200

918:                                              ; preds = %916
  %.not306 = icmp eq i32 %917, 2
  br i1 %.not306, label %930, label %919

919:                                              ; preds = %918
  %920 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %105) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %106) #6
  %921 = invoke noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %922 unwind label %.thread578

922:                                              ; preds = %919
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %106, i32 noundef %921) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull @.str.48, ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %923 unwind label %.thread582

923:                                              ; preds = %922
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %920, ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %924 unwind label %927

924:                                              ; preds = %923
  invoke void @__cxa_throw(ptr nonnull %920, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %927

.thread578:                                       ; preds = %919
  %925 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  br label %929

.thread582:                                       ; preds = %922
  %926 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  br label %929

927:                                              ; preds = %923, %924
  %.0114 = phi i1 [ false, %924 ], [ true, %923 ]
  %928 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  br i1 %.0114, label %929, label %1351

929:                                              ; preds = %.thread582, %.thread578, %927
  %.pn391.pn581 = phi { ptr, i32 } [ %925, %.thread578 ], [ %928, %927 ], [ %926, %.thread582 ]
  call void @__cxa_free_exception(ptr %920) #6
  br label %1351

930:                                              ; preds = %918
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %107) #6
  %931 = load ptr, ptr @manager, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #6
  %932 = load ptr, ptr %2, align 8, !tbaa !5
  %933 = getelementptr inbounds i8, ptr %932, i64 16
  %934 = load ptr, ptr %933, align 8
  %935 = invoke noundef nonnull align 8 dereferenceable(44) ptr %934(ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %936 unwind label %965

936:                                              ; preds = %930
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %108, ptr noundef nonnull align 8 dereferenceable(44) %935)
          to label %937 unwind label %965

937:                                              ; preds = %936
  invoke void @_ZNK14FetlangManager11getOperatorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%class.Operator) align 8 %107, ptr noundef nonnull align 8 dereferenceable(380) %931, ptr noundef nonnull align 8 dereferenceable(32) %108)
          to label %938 unwind label %967

938:                                              ; preds = %937
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #6
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %109) #6
  %939 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 0)
          to label %940 unwind label %970

940:                                              ; preds = %938
  %941 = load ptr, ptr %939, align 8, !tbaa !5
  %942 = getelementptr inbounds i8, ptr %941, i64 16
  %943 = load ptr, ptr %942, align 8
  %944 = invoke noundef nonnull align 8 dereferenceable(44) ptr %943(ptr noundef nonnull align 8 dereferenceable(80) %939)
          to label %945 unwind label %970

945:                                              ; preds = %940
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %109, ptr noundef nonnull align 8 dereferenceable(44) %944)
          to label %946 unwind label %970

946:                                              ; preds = %945
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %110) #6
  %947 = invoke noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80) %2, i32 noundef 1)
          to label %948 unwind label %972

948:                                              ; preds = %946
  %949 = load ptr, ptr %947, align 8, !tbaa !5
  %950 = getelementptr inbounds i8, ptr %949, i64 16
  %951 = load ptr, ptr %950, align 8
  %952 = invoke noundef nonnull align 8 dereferenceable(44) ptr %951(ptr noundef nonnull align 8 dereferenceable(80) %947)
          to label %953 unwind label %972

953:                                              ; preds = %948
  invoke void @_ZN5TokenC2ERKS_(ptr noundef nonnull align 8 dereferenceable(44) %110, ptr noundef nonnull align 8 dereferenceable(44) %952)
          to label %954 unwind label %972

954:                                              ; preds = %953
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %111) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %112) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %114) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  %955 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %956 unwind label %974

956:                                              ; preds = %954
  %957 = icmp eq i32 %955, 4
  br i1 %957, label %958, label %981

958:                                              ; preds = %956
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %115) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %115, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %959 unwind label %976

959:                                              ; preds = %958
  %960 = getelementptr inbounds i8, ptr %1, i64 80
  %961 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %960, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %962 unwind label %978

962:                                              ; preds = %959
  %963 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %961)
          to label %964 unwind label %978

964:                                              ; preds = %962
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #6
  br label %997

965:                                              ; preds = %936, %930
  %966 = landingpad { ptr, i32 }
          cleanup
  br label %969

967:                                              ; preds = %937
  %968 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  br label %969

969:                                              ; preds = %967, %965
  %.pn307 = phi { ptr, i32 } [ %968, %967 ], [ %966, %965 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #6
  br label %1340

970:                                              ; preds = %945, %940, %938
  %971 = landingpad { ptr, i32 }
          cleanup
  br label %1339

972:                                              ; preds = %953, %948, %946
  %973 = landingpad { ptr, i32 }
          cleanup
  br label %1338

974:                                              ; preds = %1268, %1217, %1213, %1172, %1116, %1113, %1107, %1012, %1009, %997, %985, %981, %954
  %975 = landingpad { ptr, i32 }
          cleanup
  br label %1337

976:                                              ; preds = %958
  %977 = landingpad { ptr, i32 }
          cleanup
  br label %980

978:                                              ; preds = %962, %959
  %979 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %980

980:                                              ; preds = %978, %976
  %.pn311 = phi { ptr, i32 } [ %979, %978 ], [ %977, %976 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #6
  br label %1337

981:                                              ; preds = %956
  %982 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %983 unwind label %974

983:                                              ; preds = %981
  %984 = icmp eq i32 %982, 2
  br i1 %984, label %997, label %985

985:                                              ; preds = %983
  %986 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %987 unwind label %974

987:                                              ; preds = %985
  %988 = icmp eq i32 %986, 3
  br i1 %988, label %997, label %989

989:                                              ; preds = %987
  %990 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %116) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %117) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull @.str.49, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %991 unwind label %.thread585

991:                                              ; preds = %989
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %990, ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %992 unwind label %994

992:                                              ; preds = %991
  invoke void @__cxa_throw(ptr nonnull %990, ptr nonnull @_ZTI14TokenException, ptr nonnull @_ZN14TokenExceptionD2Ev) #7
          to label %1352 unwind label %994

.thread585:                                       ; preds = %989
  %993 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #6
  br label %996

994:                                              ; preds = %991, %992
  %.0104 = phi i1 [ false, %992 ], [ true, %991 ]
  %995 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #6
  br i1 %.0104, label %996, label %1337

996:                                              ; preds = %.thread585, %994
  %.pn309588 = phi { ptr, i32 } [ %993, %.thread585 ], [ %995, %994 ]
  call void @__cxa_free_exception(ptr %990) #6
  br label %1337

997:                                              ; preds = %987, %983, %964
  %.0106 = phi i32 [ %963, %964 ], [ 2, %983 ], [ 1, %987 ]
  %998 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %999 unwind label %974

999:                                              ; preds = %997
  %1000 = icmp eq i32 %998, 4
  br i1 %1000, label %1001, label %1099

1001:                                             ; preds = %999
  %1002 = getelementptr inbounds i8, ptr %1, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %118) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %118, ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1003 unwind label %1037

1003:                                             ; preds = %1001
  %1004 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1002, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1005 unwind label %1039

1005:                                             ; preds = %1003
  %1006 = invoke noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88) %1004)
          to label %1007 unwind label %1039

1007:                                             ; preds = %1005
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #6
  %1008 = icmp eq i32 %1006, 3
  br i1 %1008, label %1009, label %1088

1009:                                             ; preds = %1007
  %1010 = invoke noundef zeroext i1 @_ZNK8Operator17hasCodeForExactlyE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136) %107, i32 noundef 3, i32 noundef %.0106)
          to label %1011 unwind label %974

1011:                                             ; preds = %1009
  br i1 %1010, label %1088, label %1012

1012:                                             ; preds = %1011
  %1013 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14lho_temp_chainB5cxx11)
          to label %1014 unwind label %974

1014:                                             ; preds = %1012
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %120) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %122) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull @.str.50, ptr noundef nonnull align 8 dereferenceable(32) %113)
          to label %1015 unwind label %1042

1015:                                             ; preds = %1014
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %121, ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull @.str.16)
          to label %1016 unwind label %1044

1016:                                             ; preds = %1015
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %123) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1017 unwind label %1046

1017:                                             ; preds = %1016
  %1018 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1002, ptr noundef nonnull align 8 dereferenceable(32) %124)
          to label %1019 unwind label %1048

1019:                                             ; preds = %1017
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %123, ptr noundef nonnull align 8 dereferenceable(88) %1018)
          to label %1020 unwind label %1048

1020:                                             ; preds = %1019
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %120, ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %1021 unwind label %1050

1021:                                             ; preds = %1020
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull @.str.51)
          to label %1022 unwind label %1052

1022:                                             ; preds = %1021
  %1023 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %1024 unwind label %1054

1024:                                             ; preds = %1022
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %125) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %126) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %127) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %128) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %129) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %130) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull @.str.52, ptr noundef nonnull align 8 dereferenceable(32) %113)
          to label %1025 unwind label %1062

1025:                                             ; preds = %1024
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull @.str.16)
          to label %1026 unwind label %1064

1026:                                             ; preds = %1025
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %131) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %132, ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1027 unwind label %1066

1027:                                             ; preds = %1026
  %1028 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1002, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %1029 unwind label %1068

1029:                                             ; preds = %1027
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %131, ptr noundef nonnull align 8 dereferenceable(88) %1028)
          to label %1030 unwind label %1068

1030:                                             ; preds = %1029
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %128, ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %1031 unwind label %1070

1031:                                             ; preds = %1030
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %127, ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef nonnull @.str.53)
          to label %1032 unwind label %1072

1032:                                             ; preds = %1031
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %126, ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(32) %113)
          to label %1033 unwind label %1074

1033:                                             ; preds = %1032
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull @.str.51)
          to label %1034 unwind label %1076

1034:                                             ; preds = %1033
  %1035 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1036 unwind label %1078

1036:                                             ; preds = %1034
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #6
  br label %1107

1037:                                             ; preds = %1001
  %1038 = landingpad { ptr, i32 }
          cleanup
  br label %1041

1039:                                             ; preds = %1005, %1003
  %1040 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %1041

1041:                                             ; preds = %1039, %1037
  %.pn315 = phi { ptr, i32 } [ %1040, %1039 ], [ %1038, %1037 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #6
  br label %1337

1042:                                             ; preds = %1014
  %1043 = landingpad { ptr, i32 }
          cleanup
  br label %1061

1044:                                             ; preds = %1015
  %1045 = landingpad { ptr, i32 }
          cleanup
  br label %1060

1046:                                             ; preds = %1016
  %1047 = landingpad { ptr, i32 }
          cleanup
  br label %1059

1048:                                             ; preds = %1019, %1017
  %1049 = landingpad { ptr, i32 }
          cleanup
  br label %1058

1050:                                             ; preds = %1020
  %1051 = landingpad { ptr, i32 }
          cleanup
  br label %1057

1052:                                             ; preds = %1021
  %1053 = landingpad { ptr, i32 }
          cleanup
  br label %1056

1054:                                             ; preds = %1022
  %1055 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  br label %1056

1056:                                             ; preds = %1054, %1052
  %.pn317 = phi { ptr, i32 } [ %1055, %1054 ], [ %1053, %1052 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  br label %1057

1057:                                             ; preds = %1056, %1050
  %.pn317.pn = phi { ptr, i32 } [ %.pn317, %1056 ], [ %1051, %1050 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1058

1058:                                             ; preds = %1057, %1048
  %.pn317.pn.pn = phi { ptr, i32 } [ %.pn317.pn, %1057 ], [ %1049, %1048 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %1059

1059:                                             ; preds = %1058, %1046
  %.pn317.pn.pn.pn = phi { ptr, i32 } [ %.pn317.pn.pn, %1058 ], [ %1047, %1046 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %1060

1060:                                             ; preds = %1059, %1044
  %.pn317.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn317.pn.pn.pn, %1059 ], [ %1045, %1044 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %1061

1061:                                             ; preds = %1060, %1042
  %.pn317.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn317.pn.pn.pn.pn, %1060 ], [ %1043, %1042 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  br label %1337

1062:                                             ; preds = %1024
  %1063 = landingpad { ptr, i32 }
          cleanup
  br label %1087

1064:                                             ; preds = %1025
  %1065 = landingpad { ptr, i32 }
          cleanup
  br label %1086

1066:                                             ; preds = %1026
  %1067 = landingpad { ptr, i32 }
          cleanup
  br label %1085

1068:                                             ; preds = %1029, %1027
  %1069 = landingpad { ptr, i32 }
          cleanup
  br label %1084

1070:                                             ; preds = %1030
  %1071 = landingpad { ptr, i32 }
          cleanup
  br label %1083

1072:                                             ; preds = %1031
  %1073 = landingpad { ptr, i32 }
          cleanup
  br label %1082

1074:                                             ; preds = %1032
  %1075 = landingpad { ptr, i32 }
          cleanup
  br label %1081

1076:                                             ; preds = %1033
  %1077 = landingpad { ptr, i32 }
          cleanup
  br label %1080

1078:                                             ; preds = %1034
  %1079 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1080

1080:                                             ; preds = %1078, %1076
  %.pn324 = phi { ptr, i32 } [ %1079, %1078 ], [ %1077, %1076 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #6
  br label %1081

1081:                                             ; preds = %1080, %1074
  %.pn324.pn = phi { ptr, i32 } [ %.pn324, %1080 ], [ %1075, %1074 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %1082

1082:                                             ; preds = %1081, %1072
  %.pn324.pn.pn = phi { ptr, i32 } [ %.pn324.pn, %1081 ], [ %1073, %1072 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  br label %1083

1083:                                             ; preds = %1082, %1070
  %.pn324.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn, %1082 ], [ %1071, %1070 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1084

1084:                                             ; preds = %1083, %1068
  %.pn324.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn.pn, %1083 ], [ %1069, %1068 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %1085

1085:                                             ; preds = %1084, %1066
  %.pn324.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn.pn.pn, %1084 ], [ %1067, %1066 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %1086

1086:                                             ; preds = %1085, %1064
  %.pn324.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn.pn.pn.pn, %1085 ], [ %1065, %1064 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1087

1087:                                             ; preds = %1086, %1062
  %.pn324.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn.pn.pn.pn.pn, %1086 ], [ %1063, %1062 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #6
  br label %1337

1088:                                             ; preds = %1011, %1007
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %133) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %134) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %134, ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1089 unwind label %1094

1089:                                             ; preds = %1088
  %1090 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1002, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1091 unwind label %1096

1091:                                             ; preds = %1089
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %133, ptr noundef nonnull align 8 dereferenceable(88) %1090)
          to label %1092 unwind label %1096

1092:                                             ; preds = %1091
  %1093 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #6
  br label %1107

1094:                                             ; preds = %1088
  %1095 = landingpad { ptr, i32 }
          cleanup
  br label %1098

1096:                                             ; preds = %1091, %1089
  %1097 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %1098

1098:                                             ; preds = %1096, %1094
  %.pn333 = phi { ptr, i32 } [ %1097, %1096 ], [ %1095, %1094 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #6
  br label %1337

1099:                                             ; preds = %999
  %1100 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %135) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %136) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull @.str.54, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %1101 unwind label %.thread589

1101:                                             ; preds = %1099
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %1100, ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull align 8 dereferenceable(44) %109)
          to label %1102 unwind label %1104

1102:                                             ; preds = %1101
  invoke void @__cxa_throw(ptr nonnull %1100, ptr nonnull @_ZTI14TokenException, ptr nonnull @_ZN14TokenExceptionD2Ev) #7
          to label %1352 unwind label %1104

.thread589:                                       ; preds = %1099
  %1103 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br label %1106

1104:                                             ; preds = %1101, %1102
  %.0102 = phi i1 [ false, %1102 ], [ true, %1101 ]
  %1105 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br i1 %.0102, label %1106, label %1337

1106:                                             ; preds = %.thread589, %1104
  %.pn313592 = phi { ptr, i32 } [ %1103, %.thread589 ], [ %1105, %1104 ]
  call void @__cxa_free_exception(ptr %1100) #6
  br label %1337

1107:                                             ; preds = %1036, %1092
  %1108 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1109 unwind label %974

1109:                                             ; preds = %1107
  %1110 = icmp eq i32 %1108, 4
  br i1 %1110, label %1111, label %1172

1111:                                             ; preds = %1109
  %1112 = icmp eq i32 %.0106, 3
  br i1 %1112, label %1113, label %1161

1113:                                             ; preds = %1111
  %1114 = invoke noundef zeroext i1 @_ZNK8Operator17hasCodeForExactlyE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136) %107, i32 noundef %1006, i32 noundef 3)
          to label %1115 unwind label %974

1115:                                             ; preds = %1113
  br i1 %1114, label %1161, label %1116

1116:                                             ; preds = %1115
  %1117 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14rho_temp_chainB5cxx11)
          to label %1118 unwind label %974

1118:                                             ; preds = %1116
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %137) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %140) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %140, ptr noundef nonnull @.str.55, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %1119 unwind label %1133

1119:                                             ; preds = %1118
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %139, ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull @.str.16)
          to label %1120 unwind label %1135

1120:                                             ; preds = %1119
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %141) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %142) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %142, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1121 unwind label %1137

1121:                                             ; preds = %1120
  %1122 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1002, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1123 unwind label %1139

1123:                                             ; preds = %1121
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %141, ptr noundef nonnull align 8 dereferenceable(88) %1122)
          to label %1124 unwind label %1139

1124:                                             ; preds = %1123
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %138, ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull align 8 dereferenceable(32) %141)
          to label %1125 unwind label %1141

1125:                                             ; preds = %1124
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %137, ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull @.str.51)
          to label %1126 unwind label %1143

1126:                                             ; preds = %1125
  %1127 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %137)
          to label %1128 unwind label %1145

1128:                                             ; preds = %1126
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %137) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %143) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %144) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %144, ptr noundef nonnull @.str.56, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %1129 unwind label %1153

1129:                                             ; preds = %1128
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %143, ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull @.str.51)
          to label %1130 unwind label %1155

1130:                                             ; preds = %1129
  %1131 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %143)
          to label %1132 unwind label %1157

1132:                                             ; preds = %1130
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #6
  br label %1268

1133:                                             ; preds = %1118
  %1134 = landingpad { ptr, i32 }
          cleanup
  br label %1152

1135:                                             ; preds = %1119
  %1136 = landingpad { ptr, i32 }
          cleanup
  br label %1151

1137:                                             ; preds = %1120
  %1138 = landingpad { ptr, i32 }
          cleanup
  br label %1150

1139:                                             ; preds = %1123, %1121
  %1140 = landingpad { ptr, i32 }
          cleanup
  br label %1149

1141:                                             ; preds = %1124
  %1142 = landingpad { ptr, i32 }
          cleanup
  br label %1148

1143:                                             ; preds = %1125
  %1144 = landingpad { ptr, i32 }
          cleanup
  br label %1147

1145:                                             ; preds = %1126
  %1146 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1147

1147:                                             ; preds = %1145, %1143
  %.pn356 = phi { ptr, i32 } [ %1146, %1145 ], [ %1144, %1143 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1148

1148:                                             ; preds = %1147, %1141
  %.pn356.pn = phi { ptr, i32 } [ %.pn356, %1147 ], [ %1142, %1141 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  br label %1149

1149:                                             ; preds = %1148, %1139
  %.pn356.pn.pn = phi { ptr, i32 } [ %.pn356.pn, %1148 ], [ %1140, %1139 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br label %1150

1150:                                             ; preds = %1149, %1137
  %.pn356.pn.pn.pn = phi { ptr, i32 } [ %.pn356.pn.pn, %1149 ], [ %1138, %1137 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %1151

1151:                                             ; preds = %1150, %1135
  %.pn356.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn356.pn.pn.pn, %1150 ], [ %1136, %1135 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  br label %1152

1152:                                             ; preds = %1151, %1133
  %.pn356.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn356.pn.pn.pn.pn, %1151 ], [ %1134, %1133 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %137) #6
  br label %1337

1153:                                             ; preds = %1128
  %1154 = landingpad { ptr, i32 }
          cleanup
  br label %1160

1155:                                             ; preds = %1129
  %1156 = landingpad { ptr, i32 }
          cleanup
  br label %1159

1157:                                             ; preds = %1130
  %1158 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  br label %1159

1159:                                             ; preds = %1157, %1155
  %.pn363 = phi { ptr, i32 } [ %1158, %1157 ], [ %1156, %1155 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %1160

1160:                                             ; preds = %1159, %1153
  %.pn363.pn = phi { ptr, i32 } [ %.pn363, %1159 ], [ %1154, %1153 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #6
  br label %1337

1161:                                             ; preds = %1115, %1111
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %145) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %146) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %146, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1162 unwind label %1167

1162:                                             ; preds = %1161
  %1163 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96) %1002, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1164 unwind label %1169

1164:                                             ; preds = %1162
  invoke void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %145, ptr noundef nonnull align 8 dereferenceable(88) %1163)
          to label %1165 unwind label %1169

1165:                                             ; preds = %1164
  %1166 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  br label %1268

1167:                                             ; preds = %1161
  %1168 = landingpad { ptr, i32 }
          cleanup
  br label %1171

1169:                                             ; preds = %1164, %1162
  %1170 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %1171

1171:                                             ; preds = %1169, %1167
  %.pn366 = phi { ptr, i32 } [ %1170, %1169 ], [ %1168, %1167 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  br label %1337

1172:                                             ; preds = %1109
  %1173 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1174 unwind label %974

1174:                                             ; preds = %1172
  %1175 = icmp eq i32 %1173, 2
  br i1 %1175, label %1176, label %1213

1176:                                             ; preds = %1174
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %147) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %148) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %148, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1177 unwind label %1190

1177:                                             ; preds = %1176
  invoke void @_ZN14FractionParser16stringToFractionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%class.Fraction) align 8 %147, ptr noundef nonnull align 8 dereferenceable(32) %148)
          to label %1178 unwind label %1192

1178:                                             ; preds = %1177
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %148) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %149) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %150) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %152) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %153) #6
  %1179 = invoke noundef i64 @_ZNK8Fraction6getTopEv(ptr noundef nonnull align 8 dereferenceable(16) %147)
          to label %1180 unwind label %1195

1180:                                             ; preds = %1178
  invoke void @_ZNSt7__cxx119to_stringEl(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %153, i64 noundef %1179)
          to label %1181 unwind label %1195

1181:                                             ; preds = %1180
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %152, ptr noundef nonnull @.str.57, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %1182 unwind label %1197

1182:                                             ; preds = %1181
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull align 8 dereferenceable(32) %152, ptr noundef nonnull @.str.16)
          to label %1183 unwind label %1199

1183:                                             ; preds = %1182
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %154) #6
  %1184 = invoke noundef i64 @_ZNK8Fraction9getBottomEv(ptr noundef nonnull align 8 dereferenceable(16) %147)
          to label %1185 unwind label %1201

1185:                                             ; preds = %1183
  invoke void @_ZNSt7__cxx119to_stringEl(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %154, i64 noundef %1184)
          to label %1186 unwind label %1201

1186:                                             ; preds = %1185
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %150, ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull align 8 dereferenceable(32) %154)
          to label %1187 unwind label %1203

1187:                                             ; preds = %1186
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %149, ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef nonnull @.str.58)
          to label %1188 unwind label %1205

1188:                                             ; preds = %1187
  %1189 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %153) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %147) #6
  br label %1268

1190:                                             ; preds = %1176
  %1191 = landingpad { ptr, i32 }
          cleanup
  br label %1194

1192:                                             ; preds = %1177
  %1193 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  br label %1194

1194:                                             ; preds = %1192, %1190
  %.pn347 = phi { ptr, i32 } [ %1193, %1192 ], [ %1191, %1190 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %148) #6
  br label %1212

1195:                                             ; preds = %1180, %1178
  %1196 = landingpad { ptr, i32 }
          cleanup
  br label %1211

1197:                                             ; preds = %1181
  %1198 = landingpad { ptr, i32 }
          cleanup
  br label %1210

1199:                                             ; preds = %1182
  %1200 = landingpad { ptr, i32 }
          cleanup
  br label %1209

1201:                                             ; preds = %1185, %1183
  %1202 = landingpad { ptr, i32 }
          cleanup
  br label %1208

1203:                                             ; preds = %1186
  %1204 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1205:                                             ; preds = %1187
  %1206 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  br label %1207

1207:                                             ; preds = %1205, %1203
  %.pn349 = phi { ptr, i32 } [ %1206, %1205 ], [ %1204, %1203 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1208

1208:                                             ; preds = %1207, %1201
  %.pn349.pn = phi { ptr, i32 } [ %.pn349, %1207 ], [ %1202, %1201 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1209

1209:                                             ; preds = %1208, %1199
  %.pn349.pn.pn = phi { ptr, i32 } [ %.pn349.pn, %1208 ], [ %1200, %1199 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1210

1210:                                             ; preds = %1209, %1197
  %.pn349.pn.pn.pn = phi { ptr, i32 } [ %.pn349.pn.pn, %1209 ], [ %1198, %1197 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br label %1211

1211:                                             ; preds = %1210, %1195
  %.pn349.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn349.pn.pn.pn, %1210 ], [ %1196, %1195 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %153) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  br label %1212

1212:                                             ; preds = %1211, %1194
  %.pn349.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn349.pn.pn.pn.pn, %1211 ], [ %.pn347, %1194 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %147) #6
  br label %1337

1213:                                             ; preds = %1174
  %1214 = invoke noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1215 unwind label %974

1215:                                             ; preds = %1213
  %1216 = icmp eq i32 %1214, 3
  br i1 %1216, label %1217, label %1260

1217:                                             ; preds = %1215
  %1218 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14rho_temp_chainB5cxx11)
          to label %1219 unwind label %974

1219:                                             ; preds = %1217
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %155) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %156) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %157) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %158) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %158, ptr noundef nonnull @.str.59, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %1220 unwind label %1232

1220:                                             ; preds = %1219
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %157, ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef nonnull @.str.16)
          to label %1221 unwind label %1234

1221:                                             ; preds = %1220
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %159) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %160) #6
  invoke void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %160, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1222 unwind label %1236

1222:                                             ; preds = %1221
  invoke void @_ZN9QuoteUtil7requoteERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef nonnull align 8 dereferenceable(32) %160)
          to label %1223 unwind label %1238

1223:                                             ; preds = %1222
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %156, ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %1224 unwind label %1240

1224:                                             ; preds = %1223
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %155, ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull @.str.51)
          to label %1225 unwind label %1242

1225:                                             ; preds = %1224
  %1226 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %155)
          to label %1227 unwind label %1244

1227:                                             ; preds = %1225
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %156) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %155) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %161) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %162) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %162, ptr noundef nonnull @.str.60, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %1228 unwind label %1252

1228:                                             ; preds = %1227
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %161, ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef nonnull @.str.51)
          to label %1229 unwind label %1254

1229:                                             ; preds = %1228
  %1230 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %161)
          to label %1231 unwind label %1256

1231:                                             ; preds = %1229
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #6
  br label %1268

1232:                                             ; preds = %1219
  %1233 = landingpad { ptr, i32 }
          cleanup
  br label %1251

1234:                                             ; preds = %1220
  %1235 = landingpad { ptr, i32 }
          cleanup
  br label %1250

1236:                                             ; preds = %1221
  %1237 = landingpad { ptr, i32 }
          cleanup
  br label %1249

1238:                                             ; preds = %1222
  %1239 = landingpad { ptr, i32 }
          cleanup
  br label %1248

1240:                                             ; preds = %1223
  %1241 = landingpad { ptr, i32 }
          cleanup
  br label %1247

1242:                                             ; preds = %1224
  %1243 = landingpad { ptr, i32 }
          cleanup
  br label %1246

1244:                                             ; preds = %1225
  %1245 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1246

1246:                                             ; preds = %1244, %1242
  %.pn337 = phi { ptr, i32 } [ %1245, %1244 ], [ %1243, %1242 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  br label %1247

1247:                                             ; preds = %1246, %1240
  %.pn337.pn = phi { ptr, i32 } [ %.pn337, %1246 ], [ %1241, %1240 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1248

1248:                                             ; preds = %1247, %1238
  %.pn337.pn.pn = phi { ptr, i32 } [ %.pn337.pn, %1247 ], [ %1239, %1238 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  br label %1249

1249:                                             ; preds = %1248, %1236
  %.pn337.pn.pn.pn = phi { ptr, i32 } [ %.pn337.pn.pn, %1248 ], [ %1237, %1236 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  br label %1250

1250:                                             ; preds = %1249, %1234
  %.pn337.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn337.pn.pn.pn, %1249 ], [ %1235, %1234 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1251

1251:                                             ; preds = %1250, %1232
  %.pn337.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn337.pn.pn.pn.pn, %1250 ], [ %1233, %1232 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %156) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %155) #6
  br label %1337

1252:                                             ; preds = %1227
  %1253 = landingpad { ptr, i32 }
          cleanup
  br label %1259

1254:                                             ; preds = %1228
  %1255 = landingpad { ptr, i32 }
          cleanup
  br label %1258

1256:                                             ; preds = %1229
  %1257 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1258

1258:                                             ; preds = %1256, %1254
  %.pn344 = phi { ptr, i32 } [ %1257, %1256 ], [ %1255, %1254 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  br label %1259

1259:                                             ; preds = %1258, %1252
  %.pn344.pn = phi { ptr, i32 } [ %.pn344, %1258 ], [ %1253, %1252 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #6
  br label %1337

1260:                                             ; preds = %1215
  %1261 = call ptr @__cxa_allocate_exception(i64 72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %163) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %164) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull @.str.54, ptr noundef nonnull align 1 dereferenceable(1) %164)
          to label %1262 unwind label %.thread593

1262:                                             ; preds = %1260
  invoke void @_ZN14TokenExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK5Token(ptr noundef nonnull align 8 dereferenceable(72) %1261, ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull align 8 dereferenceable(44) %110)
          to label %1263 unwind label %1265

1263:                                             ; preds = %1262
  invoke void @__cxa_throw(ptr nonnull %1261, ptr nonnull @_ZTI14TokenException, ptr nonnull @_ZN14TokenExceptionD2Ev) #7
          to label %1352 unwind label %1265

.thread593:                                       ; preds = %1260
  %1264 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %164) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #6
  br label %1267

1265:                                             ; preds = %1262, %1263
  %.0100 = phi i1 [ false, %1263 ], [ true, %1262 ]
  %1266 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %164) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #6
  br i1 %.0100, label %1267, label %1337

1267:                                             ; preds = %.thread593, %1265
  %.pn335596 = phi { ptr, i32 } [ %1264, %.thread593 ], [ %1266, %1265 ]
  call void @__cxa_free_exception(ptr %1261) #6
  br label %1337

1268:                                             ; preds = %1188, %1231, %1132, %1165
  %1269 = invoke noundef zeroext i1 @_ZNK8Operator10hasCodeForE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136) %107, i32 noundef %1006, i32 noundef %.0106)
          to label %1270 unwind label %974

1270:                                             ; preds = %1268
  br i1 %1269, label %1297, label %1271

1271:                                             ; preds = %1270
  %1272 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %165) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %166) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %167) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %168) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %169) #6
  invoke void @_Z16stringifyFetTypeB5cxx117FetType(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %169, i32 noundef %1006)
          to label %1273 unwind label %.thread597

1273:                                             ; preds = %1271
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %168, ptr noundef nonnull @.str.61, ptr noundef nonnull align 8 dereferenceable(32) %169)
          to label %1274 unwind label %.thread601

1274:                                             ; preds = %1273
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %167, ptr noundef nonnull align 8 dereferenceable(32) %168, ptr noundef nonnull @.str.62)
          to label %1275 unwind label %1282

1275:                                             ; preds = %1274
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %170) #6
  invoke void @_Z16stringifyFetTypeB5cxx117FetType(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %170, i32 noundef %.0106)
          to label %1276 unwind label %1284

1276:                                             ; preds = %1275
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %166, ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef nonnull align 8 dereferenceable(32) %170)
          to label %1277 unwind label %1286

1277:                                             ; preds = %1276
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %165, ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef nonnull @.str.58)
          to label %1278 unwind label %1288

1278:                                             ; preds = %1277
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %1272, ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %1279 unwind label %1290

1279:                                             ; preds = %1278
  invoke void @__cxa_throw(ptr nonnull %1272, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %1290

.thread597:                                       ; preds = %1271
  %1280 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #6
  br label %1296

.thread601:                                       ; preds = %1273
  %1281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #6
  br label %1296

1282:                                             ; preds = %1274
  %1283 = landingpad { ptr, i32 }
          cleanup
  br label %1295

1284:                                             ; preds = %1275
  %1285 = landingpad { ptr, i32 }
          cleanup
  br label %1294

1286:                                             ; preds = %1276
  %1287 = landingpad { ptr, i32 }
          cleanup
  br label %1293

1288:                                             ; preds = %1277
  %1289 = landingpad { ptr, i32 }
          cleanup
  br label %1292

1290:                                             ; preds = %1279, %1278
  %.098 = phi i1 [ false, %1279 ], [ true, %1278 ]
  %1291 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1292

1292:                                             ; preds = %1290, %1288
  %.pn368 = phi { ptr, i32 } [ %1291, %1290 ], [ %1289, %1288 ]
  %.199 = phi i1 [ %.098, %1290 ], [ true, %1288 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #6
  br label %1293

1293:                                             ; preds = %1292, %1286
  %.pn368.pn = phi { ptr, i32 } [ %.pn368, %1292 ], [ %1287, %1286 ]
  %.2 = phi i1 [ %.199, %1292 ], [ true, %1286 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  br label %1294

1294:                                             ; preds = %1293, %1284
  %.pn368.pn.pn = phi { ptr, i32 } [ %.pn368.pn, %1293 ], [ %1285, %1284 ]
  %.3 = phi i1 [ %.2, %1293 ], [ true, %1284 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  br label %1295

1295:                                             ; preds = %1282, %1294
  %.pn368.pn.pn.pn = phi { ptr, i32 } [ %.pn368.pn.pn, %1294 ], [ %1283, %1282 ]
  %.4 = phi i1 [ %.3, %1294 ], [ true, %1282 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #6
  br i1 %.4, label %1296, label %1337

1296:                                             ; preds = %.thread601, %.thread597, %1295
  %.pn368.pn.pn.pn.pn.pn600 = phi { ptr, i32 } [ %1280, %.thread597 ], [ %.pn368.pn.pn.pn, %1295 ], [ %1281, %.thread601 ]
  call void @__cxa_free_exception(ptr %1272) #6
  br label %1337

1297:                                             ; preds = %1270
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %172) #6
  invoke void @_ZNK8Operator10getCodeForB5cxx11E7FetTypeS0_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %172, ptr noundef nonnull align 8 dereferenceable(136) %107, i32 noundef %1006, i32 noundef %.0106)
          to label %1298 unwind label %1309

1298:                                             ; preds = %1297
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %171, ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull @.str.63)
          to label %1299 unwind label %1311

1299:                                             ; preds = %1298
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %172) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %173) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %174) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull @.str.43, ptr noundef nonnull align 1 dereferenceable(1) %174)
          to label %1300 unwind label %1314

1300:                                             ; preds = %1299
  invoke void @_ZL11replaceTextRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S7_(ptr noundef nonnull align 8 dereferenceable(32) %171, ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %113)
          to label %1301 unwind label %1316

1301:                                             ; preds = %1300
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %175) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %176) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef nonnull @.str.44, ptr noundef nonnull align 1 dereferenceable(1) %176)
          to label %1302 unwind label %1319

1302:                                             ; preds = %1301
  invoke void @_ZL11replaceTextRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_S7_(ptr noundef nonnull align 8 dereferenceable(32) %171, ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %1303 unwind label %1321

1303:                                             ; preds = %1302
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %177) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %178) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %179) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %179, ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %171)
          to label %1304 unwind label %1324

1304:                                             ; preds = %1303
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %178, ptr noundef nonnull align 8 dereferenceable(32) %179, ptr noundef nonnull @.str.10)
          to label %1305 unwind label %1326

1305:                                             ; preds = %1304
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %177, ptr noundef nonnull align 8 dereferenceable(32) %178, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %1306 unwind label %1328

1306:                                             ; preds = %1305
  %1307 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %177)
          to label %1308 unwind label %1330

1308:                                             ; preds = %1306
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %179) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %178) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %177) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %110) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %110) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %109) #6
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %109) #6
  call void @_ZN8OperatorD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %107) #6
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %107) #6
  br label %1349

1309:                                             ; preds = %1297
  %1310 = landingpad { ptr, i32 }
          cleanup
  br label %1313

1311:                                             ; preds = %1298
  %1312 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1313

1313:                                             ; preds = %1311, %1309
  %.pn375 = phi { ptr, i32 } [ %1312, %1311 ], [ %1310, %1309 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %172) #6
  br label %1336

1314:                                             ; preds = %1299
  %1315 = landingpad { ptr, i32 }
          cleanup
  br label %1318

1316:                                             ; preds = %1300
  %1317 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1318

1318:                                             ; preds = %1316, %1314
  %.pn377 = phi { ptr, i32 } [ %1317, %1316 ], [ %1315, %1314 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #6
  br label %1335

1319:                                             ; preds = %1301
  %1320 = landingpad { ptr, i32 }
          cleanup
  br label %1323

1321:                                             ; preds = %1302
  %1322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %1323

1323:                                             ; preds = %1321, %1319
  %.pn379 = phi { ptr, i32 } [ %1322, %1321 ], [ %1320, %1319 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #6
  br label %1335

1324:                                             ; preds = %1303
  %1325 = landingpad { ptr, i32 }
          cleanup
  br label %1334

1326:                                             ; preds = %1304
  %1327 = landingpad { ptr, i32 }
          cleanup
  br label %1333

1328:                                             ; preds = %1305
  %1329 = landingpad { ptr, i32 }
          cleanup
  br label %1332

1330:                                             ; preds = %1306
  %1331 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  br label %1332

1332:                                             ; preds = %1330, %1328
  %.pn381 = phi { ptr, i32 } [ %1331, %1330 ], [ %1329, %1328 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  br label %1333

1333:                                             ; preds = %1332, %1326
  %.pn381.pn = phi { ptr, i32 } [ %.pn381, %1332 ], [ %1327, %1326 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  br label %1334

1334:                                             ; preds = %1333, %1324
  %.pn381.pn.pn = phi { ptr, i32 } [ %.pn381.pn, %1333 ], [ %1325, %1324 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %179) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %178) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %177) #6
  br label %1335

1335:                                             ; preds = %1334, %1323, %1318
  %.pn381.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn, %1334 ], [ %.pn379, %1323 ], [ %.pn377, %1318 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  br label %1336

1336:                                             ; preds = %1335, %1313
  %.pn381.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn, %1335 ], [ %.pn375, %1313 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  br label %1337

1337:                                             ; preds = %1295, %1296, %1265, %1267, %1104, %1106, %994, %996, %1336, %1259, %1251, %1212, %1171, %1160, %1152, %1098, %1087, %1061, %1041, %980, %974
  %.pn381.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn, %1336 ], [ %.pn368.pn.pn.pn.pn.pn600, %1296 ], [ %.pn368.pn.pn.pn, %1295 ], [ %975, %974 ], [ %.pn366, %1171 ], [ %.pn363.pn, %1160 ], [ %.pn356.pn.pn.pn.pn.pn, %1152 ], [ %.pn349.pn.pn.pn.pn.pn, %1212 ], [ %.pn344.pn, %1259 ], [ %.pn337.pn.pn.pn.pn.pn, %1251 ], [ %.pn335596, %1267 ], [ %1266, %1265 ], [ %.pn333, %1098 ], [ %.pn324.pn.pn.pn.pn.pn.pn.pn, %1087 ], [ %.pn317.pn.pn.pn.pn.pn, %1061 ], [ %.pn315, %1041 ], [ %.pn313592, %1106 ], [ %1105, %1104 ], [ %.pn311, %980 ], [ %.pn309588, %996 ], [ %995, %994 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %110) #6
  br label %1338

1338:                                             ; preds = %1337, %972
  %.pn381.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn, %1337 ], [ %973, %972 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %110) #6
  call void @_ZN5TokenD2Ev(ptr noundef nonnull align 8 dereferenceable(44) %109) #6
  br label %1339

1339:                                             ; preds = %1338, %970
  %.pn381.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn.pn, %1338 ], [ %971, %970 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %109) #6
  call void @_ZN8OperatorD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %107) #6
  br label %1340

1340:                                             ; preds = %1339, %969
  %.pn381.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn381.pn.pn.pn.pn.pn.pn.pn, %1339 ], [ %.pn307, %969 ]
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %107) #6
  br label %1351

1341:                                             ; preds = %217
  %1342 = call ptr @__cxa_allocate_exception(i64 104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %180) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %181) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %181) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %181)
          to label %1343 unwind label %.thread604

1343:                                             ; preds = %1341
  invoke void @_ZN13NodeExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERN10SyntaxTree4NodeE(ptr noundef nonnull align 8 dereferenceable(104) %1342, ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef nonnull align 8 dereferenceable(80) %2)
          to label %1344 unwind label %1346

1344:                                             ; preds = %1343
  invoke void @__cxa_throw(ptr nonnull %1342, ptr nonnull @_ZTI13NodeException, ptr nonnull @_ZN13NodeExceptionD2Ev) #7
          to label %1352 unwind label %1346

.thread604:                                       ; preds = %1341
  %1345 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %181) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %180) #6
  br label %1348

1346:                                             ; preds = %1343, %1344
  %.0 = phi i1 [ false, %1344 ], [ true, %1343 ]
  %1347 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %181) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %180) #6
  br i1 %.0, label %1348, label %1351

1348:                                             ; preds = %.thread604, %1346
  %.pn513607 = phi { ptr, i32 } [ %1345, %.thread604 ], [ %1347, %1346 ]
  call void @__cxa_free_exception(ptr %1342) #6
  br label %1351

1349:                                             ; preds = %914, %1308, %576
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  br label %1350

1350:                                             ; preds = %1349, %227
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  ret void

1351:                                             ; preds = %.loopexit, %.loopexit.split-lp, %896, %913, %1346, %1348, %927, %929, %747, %749, %732, %734, %702, %704, %208, %209, %1340, %885, %699, %679, %669, %659, %658, %608, %250, %230, %228, %200
  %.pn515.pn.pn.pn = phi { ptr, i32 } [ %.pn515.pn.pn526, %209 ], [ %.pn515, %208 ], [ %.pn513607, %1348 ], [ %1347, %1346 ], [ %.pn391.pn581, %929 ], [ %928, %927 ], [ %.pn381.pn.pn.pn.pn.pn.pn.pn.pn, %1340 ], [ %201, %200 ], [ %231, %230 ], [ %.pn508.pn.pn.pn, %608 ], [ %.pn436561, %704 ], [ %703, %702 ], [ %.pn434565, %734 ], [ %733, %732 ], [ %.pn432569, %749 ], [ %748, %747 ], [ %.pn426.pn.pn.pn.pn, %885 ], [ %700, %699 ], [ %680, %679 ], [ %670, %669 ], [ %660, %659 ], [ %.pn.pn.pn, %658 ], [ %251, %250 ], [ %229, %228 ], [ %.pn421, %913 ], [ %897, %896 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  resume { ptr, i32 } %.pn515.pn.pn.pn

1352:                                             ; preds = %1344, %1279, %1263, %1102, %992, %924, %808, %786, %745, %730, %698, %509, %496, %294, %277, %249, %199
  unreachable
}

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

declare noundef i32 @_ZNK5Token11getCategoryEv(ptr noundef nonnull align 8 dereferenceable(44)) local_unnamed_addr #3

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZNK5Token8getValueB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(44)) local_unnamed_addr #3

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

declare noundef i32 @_ZNK5Token20getKeyphraseCategoryEv(ptr noundef nonnull align 8 dereferenceable(44)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #5

declare noundef i32 @_ZNK10SyntaxTree4Node19getNumberOfChildrenEv(ptr noundef nonnull align 8 dereferenceable(80)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #5

declare noundef nonnull align 8 dereferenceable(80) ptr @_ZN10SyntaxTree4Node8getChildEi(ptr noundef nonnull align 8 dereferenceable(80), i32 noundef) local_unnamed_addr #3

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

declare noundef nonnull align 8 dereferenceable(88) ptr @_ZN18VariableCollection3getERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

declare void @_ZNK8Variable10getRawCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(88)) local_unnamed_addr #3

declare noundef i32 @_ZNK8Variable7getTypeEv(ptr noundef nonnull align 8 dereferenceable(88)) local_unnamed_addr #3

declare void @_ZNK8Variable7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(88)) local_unnamed_addr #3

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

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

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

declare void @_ZN9QuoteUtil7requoteERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z12decayFetType7FetType(i32 noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #4

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

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

declare void @_ZNK14FetlangManager21getComparisonOperatorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.ComparisonOperator) align 8, ptr noundef nonnull align 8 dereferenceable(380), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

declare void @_ZNK8Operator10getCodeForB5cxx11E7FetTypeS0_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(136), i32 noundef, i32 noundef) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #5

declare void @_ZNK14FetlangManager11getOperatorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.Operator) align 8, ptr noundef nonnull align 8 dereferenceable(380), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

declare noundef zeroext i1 @_ZNK8Operator17hasCodeForExactlyE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136), i32 noundef, i32 noundef) local_unnamed_addr #3

declare void @_ZN14FractionParser16stringToFractionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%class.Fraction) align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEl(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) local_unnamed_addr #4

declare noundef i64 @_ZNK8Fraction6getTopEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

declare noundef i64 @_ZNK8Fraction9getBottomEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3

declare noundef zeroext i1 @_ZNK8Operator10hasCodeForE7FetTypeS0_(ptr noundef nonnull align 8 dereferenceable(136), i32 noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z16stringifyFetTypeB5cxx117FetType(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #4

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"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 = distinct !{!13, !9}


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